dify icon indicating copy to clipboard operation
dify copied to clipboard

Make text-to-speech languages independent from ui languages

Open gstrat88 opened this issue 9 months ago • 5 comments

Self Checks

  • [x] I have searched for existing issues search for existing issues, including closed ones.
  • [x] I confirm that I am using English to submit this report (我已阅读并同意 Language Policy).
  • [x] [FOR CHINESE USERS] 请务必使用英文提交 Issue,否则会被关闭。谢谢!:)
  • [x] Please do not modify this template :) and fill in all the required fields.

1. Is this request related to a challenge you're experiencing? Tell me about your story.

The languages that you can select for text to speech are dependent to the ui languages. It would be nice to have other options available there.

2. Additional context or comments

This project first collects all voices from SpeechSynthesis https://github.com/leaonline/easy-speech/blob/master/src/EasySpeech.js#L417 And then populates the languages from the voices https://github.com/leaonline/easy-speech/blob/master/src/demo.js#L133

3. Can you help us with this feature?

  • [x] I am interested in contributing to this feature.

gstrat88 avatar Mar 20 '25 19:03 gstrat88

After a closer look up i found out that tts is done by using openai method and not the browser native one. So my links are useless, but the feature would still be nice.

A possible way would be to include all possible languages in the model definition file

And then initialize the languages in the frontend

by making an empty language call to return all voices, so to filter the languages from the voices. get<AppVoicesListResponse>(apps/${appId}/text-to-audio/voices)

gstrat88 avatar Mar 20 '25 19:03 gstrat88

how to add custume voice?

Image

https://docs.siliconflow.cn/cn/api-reference/audio/voice-list

i can't set like. "uri": "speech:your-voice-name:xxx:xxx"

filwu8 avatar Mar 30 '25 02:03 filwu8

If you have configured one of the siliconflow tts models as your tts models, in the studio you have to click features and you can set it there.

gstrat88 avatar Mar 30 '25 06:03 gstrat88

I can't set my voice, It's just have default voice,Look like:

Image

Image

filwu8 avatar Mar 31 '25 05:03 filwu8

https://github.com/langgenius/dify-official-plugins/blob/main/models/siliconflow/models/tts/fish-speech-1.5.yaml

You have to add it in the model here, i believe there is no other convenient way, although it would be nice

gstrat88 avatar Mar 31 '25 06:03 gstrat88

Hi, @gstrat88. I'm Dosu, and I'm helping the Dify team manage their backlog. I'm marking this issue as stale.

Issue Summary

  • You proposed decoupling TTS language options from UI language settings for broader TTS language selection.
  • TTS is currently implemented using an OpenAI method, not a browser-native one.
  • You suggested including all possible languages in the model definition file and initializing them in the frontend.
  • User filwu8 asked about adding custom voices, and you explained it requires configuration in the model file.

Next Steps

  • Please let me know if this issue is still relevant to the latest version of the Dify repository by commenting here.
  • If there is no further activity, this issue will be automatically closed in 15 days.

Thank you for your understanding and contribution!

dosubot[bot] avatar May 01 '25 16:05 dosubot[bot]