mirror of
https://github.com/sr229/metastruct-experiments.git
synced 2024-09-20 06:30:36 +00:00
Add initial version of TTSv2
This commit is contained in:
parent
e93f37bbac
commit
0354bf72bc
1 changed files with 57 additions and 0 deletions
57
starfallex/starfall_tts_gimpy_neo.lua
Normal file
57
starfallex/starfall_tts_gimpy_neo.lua
Normal file
|
@ -0,0 +1,57 @@
|
|||
--@name Starfall-TTSv2
|
||||
--@author Minori
|
||||
--@client
|
||||
|
||||
local remoteLanguageIndex = "https://raw.githubusercontent.com/sr229/metastruct-experiments/master/starfall_metadata/allowed_google_voices.json"
|
||||
local localLanguageIndex = "./tts_index.json"
|
||||
local languageIndex
|
||||
local errorLookup = { [2] = "Invalid language" }
|
||||
|
||||
local DEFAULT_LANGUAGE = "en-gb"
|
||||
local currentLang = DEFAULT_LANGUAGE
|
||||
|
||||
if not owner() then return end
|
||||
|
||||
-- Check if client has permission
|
||||
if not hasPermission("bass.loadURL", "https://translate.google.com/translate_tts") then return end
|
||||
if not hasPermission("file.read", localLanguageIndedx) then return end
|
||||
|
||||
local function getRemoteLanguageIndex()
|
||||
http.get(remoteLanguageIndex, function(body, len, hdrs, code)
|
||||
if len > 0 then
|
||||
file.write(localLanguageIndex, body)
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
|
||||
local function parseLanguageIndex()
|
||||
print("Building language index, please be patient...")
|
||||
local rawFile = file.read(localLanguageIndex)
|
||||
|
||||
while rawFile == nil do
|
||||
-- do nothing while we wait for data
|
||||
return
|
||||
end
|
||||
|
||||
if not file.exists(localLanguageIndex) then
|
||||
print("Parsing index failed.")
|
||||
end
|
||||
|
||||
local rawTable = json.decode(rawFile)
|
||||
languageIndex = rawTable.voices
|
||||
|
||||
if languageIndex ~= nil then
|
||||
print("Index built successfully. You're now ready to use TTS.")
|
||||
print("Available languages: ")
|
||||
printTable(languageIndex)
|
||||
|
||||
-- Remove the local language index.
|
||||
file.delete(localLanguageIndex)
|
||||
-- print("DEBUG: languageIndex val: " .. tostring(languageIndex))
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
getRemoteLanguageIndex()
|
||||
parseLanguageIndex()
|
Loading…
Reference in a new issue