[VOICEVOX] added new voices and short comment
This commit is contained in:
775
package-lock.json
generated
775
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -491,14 +491,22 @@
|
|||||||
</select>
|
</select>
|
||||||
{/await}
|
{/await}
|
||||||
{:else if currentChar.data.ttsMode === 'VOICEVOX'}
|
{:else if currentChar.data.ttsMode === 'VOICEVOX'}
|
||||||
<span class="text-neutral-200">Voice</span>
|
<span class="text-neutral-200">Speaker</span>
|
||||||
<select class="bg-transparent input-text mt-2 mb-4 text-gray-200 appearance-none text-sm" bind:value={currentChar.data.ttsSpeech}>
|
<select class="bg-transparent input-text mt-2 mb-4 text-gray-200 appearance-none text-sm" bind:value={currentChar.data.voicevoxConfig.speaker}>
|
||||||
{#await getVOICEVOXVoices() then voices}
|
{#await getVOICEVOXVoices() then voices}
|
||||||
{#each voices as voice}
|
{#each voices as voice}
|
||||||
<option value={voice.id} class="bg-darkbg appearance-none" selected={currentChar.data.ttsSpeech === voice.id}>{voice.name}</option>
|
<option value={voice.list} class="bg-darkbg appearance-none" selected={currentChar.data.voicevoxConfig.speaker === voice.list}>{voice.name}</option>
|
||||||
{/each}
|
{/each}
|
||||||
{/await}
|
{/await}
|
||||||
</select>
|
</select>
|
||||||
|
{#if currentChar.data.voicevoxConfig.speaker}
|
||||||
|
<span class="text=neutral-200">Style</span>
|
||||||
|
<select class="bg-transparent input-text mt-2 mb-4 text-gray-200 appearance-none text-sm" bind:value={currentChar.data.ttsSpeech}>
|
||||||
|
{#each JSON.parse(currentChar.data.voicevoxConfig.speaker) as styles}
|
||||||
|
<option value={styles.id} class="bg-darkbg appearance-none" selected={currentChar.data.ttsSpeech === styles.id}>{styles.name}</option>
|
||||||
|
{/each}
|
||||||
|
</select>
|
||||||
|
{/if}
|
||||||
<span class="text-neutral-200">Speed scale</span>
|
<span class="text-neutral-200">Speed scale</span>
|
||||||
<input class="bg-transparent input-text mt-2 mb-2 text-gray-200 text-xs resize-none h-5 focus:bg-selected" autocomplete="off" bind:value={currentChar.data.voicevoxConfig.SPEED_SCALE}/>
|
<input class="bg-transparent input-text mt-2 mb-2 text-gray-200 text-xs resize-none h-5 focus:bg-selected" autocomplete="off" bind:value={currentChar.data.voicevoxConfig.SPEED_SCALE}/>
|
||||||
|
|
||||||
@@ -510,6 +518,7 @@
|
|||||||
|
|
||||||
<span class="text-neutral-200">Intonation scale</span>
|
<span class="text-neutral-200">Intonation scale</span>
|
||||||
<input class="bg-transparent input-text mt-2 mb-2 text-gray-200 text-xs resize-none h-5 focus:bg-selected" autocomplete="off" bind:value={currentChar.data.voicevoxConfig.INTONATION_SCALE}/>
|
<input class="bg-transparent input-text mt-2 mb-2 text-gray-200 text-xs resize-none h-5 focus:bg-selected" autocomplete="off" bind:value={currentChar.data.voicevoxConfig.INTONATION_SCALE}/>
|
||||||
|
<span class="text-sm mb-2 text-gray-400">To use VOICEVOX, you need to run a colab and put the localtunnel URL in "Settings → Other Bots". https://colab.research.google.com/drive/1tyeXJSklNfjW-aZJAib1JfgOMFarAwze</span>
|
||||||
{/if}
|
{/if}
|
||||||
{#if currentChar.data.ttsMode === 'webspeech' || currentChar.data.ttsMode === 'elevenlab' || currentChar.data.ttsMode === 'VOICEVOX'}
|
{#if currentChar.data.ttsMode === 'webspeech' || currentChar.data.ttsMode === 'elevenlab' || currentChar.data.ttsMode === 'VOICEVOX'}
|
||||||
<div class="flex items-center mt-2">
|
<div class="flex items-center mt-2">
|
||||||
|
|||||||
@@ -133,9 +133,11 @@ export async function getVOICEVOXVoices() {
|
|||||||
const speakerData = await fetch(`${db.voicevoxUrl}/speakers`)
|
const speakerData = await fetch(`${db.voicevoxUrl}/speakers`)
|
||||||
const speakerList = await speakerData.json()
|
const speakerList = await speakerData.json()
|
||||||
const speakersInfo = speakerList.map((speaker) => {
|
const speakersInfo = speakerList.map((speaker) => {
|
||||||
const normalStyle = speaker.styles.find((style) => style.name === 'ノーマル' || 'ふつう' || '人間ver.')
|
const styles = speaker.styles.map((style) => {
|
||||||
return {'name': speaker.name, 'id': normalStyle.id}
|
return {name: style.name, id: `${style.id}`}
|
||||||
|
})
|
||||||
|
return {name: speaker.name, list: JSON.stringify(styles)}
|
||||||
})
|
})
|
||||||
|
speakersInfo.unshift({ name: "None", list: null})
|
||||||
return speakersInfo;
|
return speakersInfo;
|
||||||
}
|
}
|
||||||
@@ -322,6 +322,7 @@ export interface character{
|
|||||||
ttsMode?:string
|
ttsMode?:string
|
||||||
ttsSpeech?:string
|
ttsSpeech?:string
|
||||||
voicevoxConfig?:{
|
voicevoxConfig?:{
|
||||||
|
speaker?: string
|
||||||
SPEED_SCALE?: number
|
SPEED_SCALE?: number
|
||||||
PITCH_SCALE?: number
|
PITCH_SCALE?: number
|
||||||
INTONATION_SCALE?: number
|
INTONATION_SCALE?: number
|
||||||
|
|||||||
Reference in New Issue
Block a user