Skip to content

Commit

Permalink
tts: add more available voices. (#626)
Browse files Browse the repository at this point in the history
Signed-off-by: Wei Mingzhi <[email protected]>
  • Loading branch information
weimzh authored Nov 28, 2024
1 parent 46ef4d3 commit 495b3dc
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 8 deletions.
2 changes: 1 addition & 1 deletion docs/BasisModule/Components/tts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ os.environ["APPBUILDER_TOKEN"] = "..."
| speed | Integer || 语音语速,默认是5中等语速,取值范围在0~15之间,仅当模型为`baidu-tts`参数有效,如果模型为`paddlespeech-tts`,参数自动失效 | 5 |
| pitch | Integer || 语音音调,默认是5中等音调,取值范围在0~15之间,仅当模型为`baidu-tts`参数有效,如果模型为`paddlespeech-tts`,参数自动失效 | 5 |
| volume | Integer || 语音音量,默认是5中等音量,取值范围在0~15之间,,仅当模型为`baidu-tts`参数有效,如果模型为`paddlespeech-tts`,参数自动失效 | 5 |
| person | Integer || 语音人物特征,默认是0(度小美),普通音库可选值包括: 0(度小美)、1(度小宇)、3(度逍遥-基础)、4(度丫丫);精品音库包括:5003(度逍遥-精品)、 5118(度小鹿) 、106(度博文)、 110(度小童)、 111(度小萌)、 103(度米朵)、 5(度小娇),仅当模型为`baidu-tts`参数有效,如果模型为`paddlespeech-tts`,参数自动失效 | 0 |
| person | Integer || 语音人物特征,默认是0(度小美),普通音库可选值包括: 0(度小美)、1(度小宇)、3(度逍遥-基础)、4(度丫丫);精品音库包括:5003(度逍遥-精品)、5118(度小鹿)、106(度博文)、110(度小童)、111(度小萌)、103(度米朵)、5(度小娇);臻品音库包括:4003(度逍遥-情感男声)、4106(度博文-专业男主播)、4115(度小贤-电台男主播)、4119(度小鹿-甜美女声)、4105(度灵儿-清激女声)、4117(度小乔-活泼女声)、4100(度小雯-活力女主播)、4103(度米朵-可爱女声)、4144(度姗姗-娱乐女声)、4278(度小贝-知识女主播)、4143(度清风-配音男声)、4140(度小新-专业女主播)、4129(度小彦-知识男主播)、4149(度星河-广告男声)、4254(度小清-广告女声)、4206(度博文-综艺男声)、4226(南方-电台女主播)。仅当模型为`baidu-tts`参数有效,如果模型为`paddlespeech-tts`,参数自动失效 | 0 |
| audio_type | String || 音频文件格式,如果使用`baidu-tts`模型可选`mp3`, `wav`; 如果使用`paddlespeech-tts`模型非流式返回,参数只能设为`wav`;如果使用`paddlespeech-tts`模型流式返回,参数只能设为`pcm` | wav |
| stream | Bool || 默认是False, 目前`paddlespeech-tts`模型支持流式返回,`baidu-tts`模型不支持流式返回 | False |
| retry | Integer || HTTP重试次数 | 3 |
Expand Down
2 changes: 1 addition & 1 deletion python/core/components/tts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ os.environ["APPBUILDER_TOKEN"] = "..."
| speed | Integer || 语音语速,默认是5中等语速,取值范围在0~15之间,仅当模型为`baidu-tts`参数有效,如果模型为`paddlespeech-tts`,参数自动失效 | 5 |
| pitch | Integer || 语音音调,默认是5中等音调,取值范围在0~15之间,仅当模型为`baidu-tts`参数有效,如果模型为`paddlespeech-tts`,参数自动失效 | 5 |
| volume | Integer || 语音音量,默认是5中等音量,取值范围在0~15之间,,仅当模型为`baidu-tts`参数有效,如果模型为`paddlespeech-tts`,参数自动失效 | 5 |
| person | Integer || 语音人物特征,默认是0(度小美),普通音库可选值包括: 0(度小美)、1(度小宇)、3(度逍遥-基础)、4(度丫丫);精品音库包括:5003(度逍遥-精品)、 5118(度小鹿) 、106(度博文)、 110(度小童)、 111(度小萌)、 103(度米朵)、 5(度小娇),仅当模型为`baidu-tts`参数有效,如果模型为`paddlespeech-tts`,参数自动失效 | 0 |
| person | Integer || 语音人物特征,默认是0(度小美),普通音库可选值包括: 0(度小美)、1(度小宇)、3(度逍遥-基础)、4(度丫丫);精品音库包括:5003(度逍遥-精品)、5118(度小鹿)、106(度博文)、110(度小童)、111(度小萌)、103(度米朵)、5(度小娇);臻品音库包括:4003(度逍遥-情感男声)、4106(度博文-专业男主播)、4115(度小贤-电台男主播)、4119(度小鹿-甜美女声)、4105(度灵儿-清激女声)、4117(度小乔-活泼女声)、4100(度小雯-活力女主播)、4103(度米朵-可爱女声)、4144(度姗姗-娱乐女声)、4278(度小贝-知识女主播)、4143(度清风-配音男声)、4140(度小新-专业女主播)、4129(度小彦-知识男主播)、4149(度星河-广告男声)、4254(度小清-广告女声)、4206(度博文-综艺男声)、4226(南方-电台女主播)。仅当模型为`baidu-tts`参数有效,如果模型为`paddlespeech-tts`,参数自动失效 | 0 |
| audio_type | String || 音频文件格式,如果使用`baidu-tts`模型可选`mp3`, `wav`; 如果使用`paddlespeech-tts`模型非流式返回,参数只能设为`wav`;如果使用`paddlespeech-tts`模型流式返回,参数只能设为`pcm` | wav |
| stream | Bool || 默认是False, 目前`paddlespeech-tts`模型支持流式返回,`baidu-tts`模型不支持流式返回 | False |
| retry | Integer || HTTP重试次数 | 3 |
Expand Down
11 changes: 9 additions & 2 deletions python/core/components/tts/component.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,15 @@ def run(self,
volume (int, 音量): 语音音量,默认是5中等音量,取值范围在0~15之间,
如果选择模型为paddlespeech-tts,参数自动失效。
person (int, 可选): 语音人物特征,默认是0,
可选值包括度小宇=1 度小美=0 度逍遥(基础)=3 度丫丫=4 度逍遥(精品)=5003
度小鹿=5118 度博文=106 度小童=110 度小萌=111 度米朵=103 度小娇=5,
可选值包括:
度小宇=1 度小美=0 度逍遥(基础)=3 度丫丫=4 度逍遥(精品)=5003
度小鹿=5118 度博文=106 度小童=110 度小萌=111 度米朵=103 度小娇=5
度逍遥-情感男声=4003 度博文-专业男主播=4106 度小贤-电台男主播=4115
度小鹿-甜美女声=4119 度灵儿-清激女声=4105 度小乔-活泼女声=4117
度小雯-活力女主播=4100 度米朵-可爱女声=4103 度姗姗-娱乐女声=4144
度小贝-知识女主播=4278 度清风-配音男声=4143 度小新-专业女主播=4140
度小彦-知识男主播=4129 度星河-广告男声=4149 度小清-广告女声=4254
度博文-综艺男声=4206 南方-电台女主播=4226,
如果选择模型为paddlespeech-tts,参数自动失效。
audio_type (str, 可选): 音频文件格式,默认是`mp3`,
如果选择`paddlespeech-tts`模型,参数只能设为`wav`。
Expand Down
18 changes: 14 additions & 4 deletions python/core/components/tts/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@

from pydantic import BaseModel


class TTSRequest(proto.Message):
r"""文本转语音请求参数.
Expand All @@ -32,7 +31,14 @@ class TTSRequest(proto.Message):
pit(int, 可选): 语音音调,默认是5中等音调,取值范围在0~15之间,如果选择模型为paddlespeech-tts,参数自动失效.
vol(int, 音量): 语音音量,默认是5中等音量,取值范围在0~15之间,如果选择模型为paddlespeech-tts,参数自动失效.
per(int, 可选): 语音人物特征,默认是0,可选值包括度小宇=1 度小美=0 度逍遥(基础)=3 度丫丫=4 度逍遥(精品)=5003
度小鹿=5118 度博文=106 度小童=110 度小萌=111 度米朵=103 度小娇=5,如果选择模型为paddlespeech-tts,参数自动失效.
度小鹿=5118 度博文=106 度小童=110 度小萌=111 度米朵=103 度小娇=5
度逍遥-情感男声=4003 度博文-专业男主播=4106 度小贤-电台男主播=4115
度小鹿-甜美女声=4119 度灵儿-清激女声=4105 度小乔-活泼女声=4117
度小雯-活力女主播=4100 度米朵-可爱女声=4103 度姗姗-娱乐女声=4144
度小贝-知识女主播=4278 度清风-配音男声=4143 度小新-专业女主播=4140
度小彦-知识男主播=4129 度星河-广告男声=4149 度小清-广告女声=4254
度博文-综艺男声=4206 南方-电台女主播=4226,
如果选择模型为paddlespeech-tts,参数自动失效.
aue(int, 可选): 语音格式, 默认是3(mp3) 4(pcm-16k) 5(pcm-8k) 6-wav.
tp_project_id(str): paddlespeech-tts项目ID
tp_per_id(str): paddlespeech-tts音频ID
Expand Down Expand Up @@ -110,9 +116,13 @@ def __validate(self):
def validate_baidu_tts(self):
"""检查baidu-tts模型请求参数"""
self.__validate()
if self.per not in {0, 1, 3, 4, 5, 103, 106, 110, 111, 5003, 5118}:

_BAIDU_VALID_PER = {0, 1, 3, 4, 5, 103, 106, 110, 111, 4003, 4106, 4115, 4119,
4105, 4117, 4100, 4103, 4144, 4278, 4143, 4140, 4129, 4149, 4254, 4206, 4226, 5003, 5118}

if self.per not in _BAIDU_VALID_PER:
raise ValueError(
f"per value is illegal, exepcted in {0, 1, 3, 4, 5, 103, 106, 110, 111, 5003, 5118}, got {self.per}"
f"per value is illegal, expected in {_BAIDU_VALID_PER}, got {self.per}"
)
if self.aue == 0:
self.aue = 3
Expand Down

0 comments on commit 495b3dc

Please sign in to comment.