|
|
|
@ -198,7 +198,7 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<hr class="border-gray-100 dark:border-gray-850 my-2" /> |
|
|
|
<hr class="border-gray-100 my-2" /> |
|
|
|
|
|
|
|
<div> |
|
|
|
<div class=" mb-1.5 text-sm font-medium">{$i18n.t('STT Model')}</div> |
|
|
|
@ -206,7 +206,7 @@ |
|
|
|
<div class="flex-1"> |
|
|
|
<input |
|
|
|
list="model-list" |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 dark:text-gray-300 dark:bg-gray-850 outline-hidden" |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 outline-hidden" |
|
|
|
bind:value={STT_MODEL} |
|
|
|
placeholder="Select a model" |
|
|
|
/> |
|
|
|
@ -224,14 +224,14 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<hr class="border-gray-100 dark:border-gray-850 my-2" /> |
|
|
|
<hr class="border-gray-100 my-2" /> |
|
|
|
|
|
|
|
<div> |
|
|
|
<div class=" mb-1.5 text-sm font-medium">{$i18n.t('STT Model')}</div> |
|
|
|
<div class="flex w-full"> |
|
|
|
<div class="flex-1"> |
|
|
|
<input |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 dark:text-gray-300 dark:bg-gray-850 outline-hidden" |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 outline-hidden" |
|
|
|
bind:value={STT_MODEL} |
|
|
|
placeholder="Select a model (optional)" |
|
|
|
/> |
|
|
|
@ -240,7 +240,7 @@ |
|
|
|
<div class="mt-2 mb-1 text-xs text-gray-400 dark:text-gray-500"> |
|
|
|
{$i18n.t('Leave model field empty to use the default model.')} |
|
|
|
<a |
|
|
|
class=" hover:underline dark:text-gray-200 text-gray-800" |
|
|
|
class=" hover:underline text-gray-800" |
|
|
|
href="https://developers.deepgram.com/docs/models" |
|
|
|
target="_blank" |
|
|
|
> |
|
|
|
@ -255,14 +255,14 @@ |
|
|
|
<div class="flex w-full"> |
|
|
|
<div class="flex-1 mr-2"> |
|
|
|
<input |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 dark:text-gray-300 dark:bg-gray-850 outline-hidden" |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 outline-hidden" |
|
|
|
placeholder={$i18n.t('Set whisper model')} |
|
|
|
bind:value={STT_WHISPER_MODEL} |
|
|
|
/> |
|
|
|
</div> |
|
|
|
|
|
|
|
<button |
|
|
|
class="px-2.5 bg-gray-50 hover:bg-gray-200 text-gray-800 dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-gray-100 rounded-lg transition" |
|
|
|
class="px-2.5 bg-gray-50 hover:bg-gray-200 text-gray-800 rounded-lg transition" |
|
|
|
on:click={() => { |
|
|
|
sttModelUpdateHandler(); |
|
|
|
}} |
|
|
|
@ -320,7 +320,7 @@ |
|
|
|
{$i18n.t(`Open WebUI uses faster-whisper internally.`)} |
|
|
|
|
|
|
|
<a |
|
|
|
class=" hover:underline dark:text-gray-200 text-gray-800" |
|
|
|
class=" hover:underline text-gray-800" |
|
|
|
href="https://github.com/SYSTRAN/faster-whisper" |
|
|
|
target="_blank" |
|
|
|
> |
|
|
|
@ -333,7 +333,7 @@ |
|
|
|
{/if} |
|
|
|
</div> |
|
|
|
|
|
|
|
<hr class="border-gray-100 dark:border-gray-850" /> |
|
|
|
<hr class="border-gray-100 " /> |
|
|
|
|
|
|
|
<div> |
|
|
|
<div class=" mb-1 text-sm font-medium">{$i18n.t('TTS Settings')}</div> |
|
|
|
@ -385,7 +385,7 @@ |
|
|
|
<div> |
|
|
|
<div class="mt-1 flex gap-2 mb-1"> |
|
|
|
<input |
|
|
|
class="flex-1 w-full rounded-lg py-2 pl-4 text-sm bg-gray-50 dark:text-gray-300 dark:bg-gray-850 outline-hidden" |
|
|
|
class="flex-1 w-full rounded-lg py-2 pl-4 text-sm bg-gray-50 outline-hidden" |
|
|
|
placeholder={$i18n.t('API Key')} |
|
|
|
bind:value={TTS_API_KEY} |
|
|
|
required |
|
|
|
@ -396,13 +396,13 @@ |
|
|
|
<div> |
|
|
|
<div class="mt-1 flex gap-2 mb-1"> |
|
|
|
<input |
|
|
|
class="flex-1 w-full rounded-lg py-2 pl-4 text-sm bg-gray-50 dark:text-gray-300 dark:bg-gray-850 outline-hidden" |
|
|
|
class="flex-1 w-full rounded-lg py-2 pl-4 text-sm bg-gray-50 outline-hidden" |
|
|
|
placeholder={$i18n.t('API Key')} |
|
|
|
bind:value={TTS_API_KEY} |
|
|
|
required |
|
|
|
/> |
|
|
|
<input |
|
|
|
class="flex-1 w-full rounded-lg py-2 pl-4 text-sm bg-gray-50 dark:text-gray-300 dark:bg-gray-850 outline-hidden" |
|
|
|
class="flex-1 w-full rounded-lg py-2 pl-4 text-sm bg-gray-50 outline-hidden" |
|
|
|
placeholder={$i18n.t('Azure Region')} |
|
|
|
bind:value={TTS_AZURE_SPEECH_REGION} |
|
|
|
required |
|
|
|
@ -411,7 +411,7 @@ |
|
|
|
</div> |
|
|
|
{/if} |
|
|
|
|
|
|
|
<hr class="border-gray-100 dark:border-gray-850 my-2" /> |
|
|
|
<hr class="border-gray-100 my-2" /> |
|
|
|
|
|
|
|
{#if TTS_ENGINE === ''} |
|
|
|
<div> |
|
|
|
@ -419,7 +419,7 @@ |
|
|
|
<div class="flex w-full"> |
|
|
|
<div class="flex-1"> |
|
|
|
<select |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 dark:text-gray-300 dark:bg-gray-850 outline-hidden" |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 outline-hidden" |
|
|
|
bind:value={TTS_VOICE} |
|
|
|
> |
|
|
|
<option value="" selected={TTS_VOICE !== ''}>{$i18n.t('Default')}</option> |
|
|
|
@ -442,7 +442,7 @@ |
|
|
|
<div class="flex-1"> |
|
|
|
<input |
|
|
|
list="model-list" |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 dark:text-gray-300 dark:bg-gray-850 outline-hidden" |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 outline-hidden" |
|
|
|
bind:value={TTS_MODEL} |
|
|
|
placeholder="CMU ARCTIC speaker embedding name" |
|
|
|
/> |
|
|
|
@ -458,7 +458,7 @@ |
|
|
|
To learn more about SpeechT5, |
|
|
|
|
|
|
|
<a |
|
|
|
class=" hover:underline dark:text-gray-200 text-gray-800" |
|
|
|
class=" hover:underline text-gray-800" |
|
|
|
href="https://github.com/microsoft/SpeechT5" |
|
|
|
target="_blank" |
|
|
|
> |
|
|
|
@ -468,7 +468,7 @@ |
|
|
|
</a> |
|
|
|
To see the available CMU Arctic speaker embeddings, |
|
|
|
<a |
|
|
|
class=" hover:underline dark:text-gray-200 text-gray-800" |
|
|
|
class=" hover:underline text-gray-800" |
|
|
|
href="https://huggingface.co/datasets/Matthijs/cmu-arctic-xvectors" |
|
|
|
target="_blank" |
|
|
|
> |
|
|
|
@ -484,7 +484,7 @@ |
|
|
|
<div class="flex-1"> |
|
|
|
<input |
|
|
|
list="voice-list" |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 dark:text-gray-300 dark:bg-gray-850 outline-hidden" |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 outline-hidden" |
|
|
|
bind:value={TTS_VOICE} |
|
|
|
placeholder="Select a voice" |
|
|
|
/> |
|
|
|
@ -503,7 +503,7 @@ |
|
|
|
<div class="flex-1"> |
|
|
|
<input |
|
|
|
list="tts-model-list" |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 dark:text-gray-300 dark:bg-gray-850 outline-hidden" |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 outline-hidden" |
|
|
|
bind:value={TTS_MODEL} |
|
|
|
placeholder="Select a model" |
|
|
|
/> |
|
|
|
@ -525,7 +525,7 @@ |
|
|
|
<div class="flex-1"> |
|
|
|
<input |
|
|
|
list="voice-list" |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 dark:text-gray-300 dark:bg-gray-850 outline-hidden" |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 outline-hidden" |
|
|
|
bind:value={TTS_VOICE} |
|
|
|
placeholder="Select a voice" |
|
|
|
/> |
|
|
|
@ -544,7 +544,7 @@ |
|
|
|
<div class="flex-1"> |
|
|
|
<input |
|
|
|
list="tts-model-list" |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 dark:text-gray-300 dark:bg-gray-850 outline-hidden" |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 outline-hidden" |
|
|
|
bind:value={TTS_MODEL} |
|
|
|
placeholder="Select a model" |
|
|
|
/> |
|
|
|
@ -566,7 +566,7 @@ |
|
|
|
<div class="flex-1"> |
|
|
|
<input |
|
|
|
list="voice-list" |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 dark:text-gray-300 dark:bg-gray-850 outline-hidden" |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 outline-hidden" |
|
|
|
bind:value={TTS_VOICE} |
|
|
|
placeholder="Select a voice" |
|
|
|
/> |
|
|
|
@ -593,7 +593,7 @@ |
|
|
|
<div class="flex-1"> |
|
|
|
<input |
|
|
|
list="tts-model-list" |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 dark:text-gray-300 dark:bg-gray-850 outline-hidden" |
|
|
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 outline-hidden" |
|
|
|
bind:value={TTS_AZURE_SPEECH_OUTPUT_FORMAT} |
|
|
|
placeholder="Select a output format" |
|
|
|
/> |
|
|
|
@ -603,7 +603,7 @@ |
|
|
|
</div> |
|
|
|
{/if} |
|
|
|
|
|
|
|
<hr class="border-gray-100 dark:border-gray-850 my-2" /> |
|
|
|
<hr class="border-gray-100 my-2" /> |
|
|
|
|
|
|
|
<div class="pt-0.5 flex w-full justify-between"> |
|
|
|
<div class="self-center text-xs font-medium">{$i18n.t('Response splitting')}</div> |
|
|
|
@ -631,7 +631,7 @@ |
|
|
|
</div> |
|
|
|
<div class="flex justify-end text-sm font-medium"> |
|
|
|
<button |
|
|
|
class="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full" |
|
|
|
class="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black transition rounded-full" |
|
|
|
type="submit" |
|
|
|
> |
|
|
|
{$i18n.t('Save')} |
|
|
|
|