Skip to content

Latest commit

 

History

History
42 lines (31 loc) · 1.3 KB

README.md

File metadata and controls

42 lines (31 loc) · 1.3 KB

CCSpeaks

A very silly TTS server using espeak-ng.

Try it

Run the following command from a computer. Make sure you've got a speaker attached!

speaker play https://music.madefor.cc/tts?text=This%20is%20some%20text

You can also use this directly in your Lua code.

local message = "Just fiddling with text to speech."

local url = "https://music.madefor.cc/tts?text=" .. textutils.urlEncode(message)
local response, err = http.get { url = url, binary = true }
if not response then error(err, 0) end

local speaker = peripheral.find("speaker")
local decoder = require("cc.audio.dfpwm").make_decoder()

while true do
    local chunk = response.read(16 * 1024)
    if not chunk then break end

    local buffer = decoder(chunk)
    while not speaker.playAudio(buffer) do
        os.pullEvent("speaker_audio_empty")
    end
end

We additionally support a "voice" parameter, which can be used to change the accent language of the generated text. The available voices can be found by running espeak --voices or in their documentation.

speaker play https://music.madefor.cc/tts?text=This%20is%20some%20text&voice=en-gb-scotland