mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Merge pull request #349 from ouoertheo/ouoertheo/tts-elevenlabs-multilingual
add elevenlabs multilingual. add tts debug method
This commit is contained in:
@ -17,6 +17,7 @@ class ElevenLabsTtsProvider {
|
|||||||
stability: 0.75,
|
stability: 0.75,
|
||||||
similarity_boost: 0.75,
|
similarity_boost: 0.75,
|
||||||
apiKey: "",
|
apiKey: "",
|
||||||
|
multilingual: false,
|
||||||
voiceMap: {}
|
voiceMap: {}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -28,6 +29,10 @@ class ElevenLabsTtsProvider {
|
|||||||
<input id="elevenlabs_tts_stability" type="range" value="${this.defaultSettings.stability}" min="0" max="1" step="0.05" />
|
<input id="elevenlabs_tts_stability" type="range" value="${this.defaultSettings.stability}" min="0" max="1" step="0.05" />
|
||||||
<label for="elevenlabs_tts_similarity_boost">Similarity Boost: <span id="elevenlabs_tts_similarity_boost_output"></span></label>
|
<label for="elevenlabs_tts_similarity_boost">Similarity Boost: <span id="elevenlabs_tts_similarity_boost_output"></span></label>
|
||||||
<input id="elevenlabs_tts_similarity_boost" type="range" value="${this.defaultSettings.similarity_boost}" min="0" max="1" step="0.05" />
|
<input id="elevenlabs_tts_similarity_boost" type="range" value="${this.defaultSettings.similarity_boost}" min="0" max="1" step="0.05" />
|
||||||
|
<label class="checkbox_label" for="elevenlabs_tts_multilingual">
|
||||||
|
<input id="elevenlabs_tts_multilingual" type="checkbox" value="${this.defaultSettings.multilingual}" />
|
||||||
|
Enable Multilingual
|
||||||
|
</label>
|
||||||
`
|
`
|
||||||
return html
|
return html
|
||||||
}
|
}
|
||||||
@ -36,6 +41,7 @@ class ElevenLabsTtsProvider {
|
|||||||
// Update dynamically
|
// Update dynamically
|
||||||
this.settings.stability = $('#elevenlabs_tts_stability').val()
|
this.settings.stability = $('#elevenlabs_tts_stability').val()
|
||||||
this.settings.similarity_boost = $('#elevenlabs_tts_similarity_boost').val()
|
this.settings.similarity_boost = $('#elevenlabs_tts_similarity_boost').val()
|
||||||
|
this.settings.multilingual = $('#elevenlabs_tts_multilingual').prop('checked')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -59,6 +65,7 @@ class ElevenLabsTtsProvider {
|
|||||||
$('#elevenlabs_tts_stability').val(this.settings.stability)
|
$('#elevenlabs_tts_stability').val(this.settings.stability)
|
||||||
$('#elevenlabs_tts_similarity_boost').val(this.settings.similarity_boost)
|
$('#elevenlabs_tts_similarity_boost').val(this.settings.similarity_boost)
|
||||||
$('#elevenlabs_tts_api_key').val(this.settings.apiKey)
|
$('#elevenlabs_tts_api_key').val(this.settings.apiKey)
|
||||||
|
$('#tts_auto_generation').prop('checked', this.settings.multilingual)
|
||||||
console.info("Settings loaded")
|
console.info("Settings loaded")
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -165,6 +172,10 @@ class ElevenLabsTtsProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async fetchTtsGeneration(text, voiceId) {
|
async fetchTtsGeneration(text, voiceId) {
|
||||||
|
let model = "eleven_monolingual_v1"
|
||||||
|
if (this.settings.multilingual == true) {
|
||||||
|
model = "eleven_multilingual_v1"
|
||||||
|
}
|
||||||
console.info(`Generating new TTS for voice_id ${voiceId}`)
|
console.info(`Generating new TTS for voice_id ${voiceId}`)
|
||||||
const response = await fetch(
|
const response = await fetch(
|
||||||
`https://api.elevenlabs.io/v1/text-to-speech/${voiceId}`,
|
`https://api.elevenlabs.io/v1/text-to-speech/${voiceId}`,
|
||||||
@ -175,6 +186,7 @@ class ElevenLabsTtsProvider {
|
|||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
},
|
},
|
||||||
body: JSON.stringify({
|
body: JSON.stringify({
|
||||||
|
model: model,
|
||||||
text: text,
|
text: text,
|
||||||
voice_settings: this.settings
|
voice_settings: this.settings
|
||||||
})
|
})
|
||||||
|
@ -162,6 +162,23 @@ function isTtsProcessing() {
|
|||||||
return processing
|
return processing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function debugTtsPlayback() {
|
||||||
|
console.log(JSON.stringify(
|
||||||
|
{
|
||||||
|
"ttsProviderName": ttsProviderName,
|
||||||
|
"currentMessageNumber": currentMessageNumber,
|
||||||
|
"isWorkerBusy":isWorkerBusy,
|
||||||
|
"audioPaused": audioPaused,
|
||||||
|
"audioJobQueue": audioJobQueue,
|
||||||
|
"currentAudioJob": currentAudioJob,
|
||||||
|
"audioQueueProcessorReady": audioQueueProcessorReady,
|
||||||
|
"ttsJobQueue": ttsJobQueue,
|
||||||
|
"currentTtsJob": currentTtsJob,
|
||||||
|
}
|
||||||
|
))
|
||||||
|
}
|
||||||
|
window.debugTtsPlayback = debugTtsPlayback
|
||||||
|
|
||||||
//##################//
|
//##################//
|
||||||
// Audio Control //
|
// Audio Control //
|
||||||
//##################//
|
//##################//
|
||||||
|
Reference in New Issue
Block a user