我创建了这个项目,以为我的智能家园提供正常的语音综合。另外,为rhasspy提供正常的语音综合。已经准备就绪的解决方案不适合我,因此决定发明他们的自行车。锡罗模型被作为基础。
我的灵感来自Gromina的Silero-HA-HTTP-TTS项目。他潮湿,我决定用设置和准备好的容器来牢记所有事情。
遵循命令:
docker run -p 9898:9898 -m 1g -e NUMBER_OF_THREADS=4 -e LANGUAGE=ru -e SAMPLE_RATE=48000 --name tts_silero -d navatusein/silero-tts-service
创建一个docker-compose.yml文件并将内容传输到它:
version : ' 3 '
services :
silero-tts-service :
image : " navatusein/silero-tts-service "
container_name : " silero-tts-service "
deploy :
resources :
limits :
memory : 1G
ports :
- " 9898:9898 "
restart : unless-stopped
environment :
NUMBER_OF_THREADS : 4
LANGUAGE : ru
SAMPLE_RATE : 48000遵循命令:
docker-compose up
启动时,所有服务器设置均以Docker环境参数传输到容器。
语音处理编号的核数NUMBER_OF_THREADS :
NUMBER_OF_THREADS : 4 从1到服务器处理器内核数的流量数。
默认情况下: 4
语言综合LANGUAGE :
LANGUAGE : ru默认情况下: ru
支持他们的支持语言,他们可获得的票数:
| 语言 | 语言代码 | 支持的声音 |
|---|---|---|
| 俄语 | ru | aidar baya kseniya xenia eugene random |
| 乌克兰 | uk | mykyta random |
SAMPLE_RATE采样频率:
SAMPLE_RATE : 48000 8000 24000值: 48000
默认情况下: 48000
SOX SOX_PARAM实用程序参数:
SOX_PARAM : " reverb 50 50 10 " # Добавляет эхо на речь默认情况下:空
输出文件通过Sox实用程序。她可以传达参数以对演讲产生影响:提高音色,添加回声,打开低音提升。
链接到Sox Utility文档:https://linux.die.net/man/1/sox
纠正短语HA_FIX末尾的欺诈:
HA_FIX : True 可以取值: True False
默认情况下: False
纠正一个错误,即家庭助理在短语结尾不同意的错误。在演讲结束时增加了一秒钟的沉默。
在configuration.yaml文件中,添加记录:
tts :
- platform : marytts
host : localhost # Адрес сервера
port : 9898
codec : WAVE_FILE
voice : xenia # Имя голоса который хотите использовать.
language : ru # Не используется. Настройки языка указываются в настройках сервера. /process指示服务器的地址。
该服务可以将数字转换为文本。
例子:
Текст с цифрой 1.
归一化示例1
该服务可以在数字后鞠躬名词。
为此,需要在数字之后说服的单词,将<d>слово</d>取。
例子:
У меня было 15 <d>яблоко</d>.
示例1
如果您需要说服几个单词,则必须分别在标签<d>слово</d>中拍摄每个单词。
Мне осталось работать 15 <d>рабочий</d> <d>день</d>.
兰格示例2
该服务可以发音转换。
例子:
Lorem ipsum dolor sit amet.
翻译示例1
使用SSML,您可以控制暂停和代理综合语音。
<p>
Когда я просыпаюсь, <prosody rate="x-slow">я говорю довольно медленно</prosody>.
Потом я начинаю говорить своим обычным голосом,
<prosody pitch="x-high"> а могу говорить тоном выше </prosody>,
или <prosody pitch="x-low">наоборот, ниже</prosody>.
Потом, если повезет – <prosody rate="fast">я могу говорить и довольно быстро.</prosody>
А еще я умею делать паузы любой длины, например две секунды <break time="2000ms"/>.
<p>
Также я умею делать паузы между параграфами.
</p>
<p>
<s>И также я умею делать паузы между предложениями</s>
<s>Вот например как сейчас</s>
</p>
</p>
SSML示例1
GET /clear_cache清洁已经合成消息的缓存。GET /settings - 返回当前服务器设置。GET /voices - 返回所选语言的可用票数列表。GET /process?VOICE=[Выбраный голос]&INPUT_TEXT=[Текст для обработки] - 返回合成语音的音频文件。POST /process VOICE=[Выбраный голос] , INPUT_TEXT=[Текст для обработки] - 返回合成语音的音频文件。 编辑client.conf
nano /etc/pulse/client.conf
添加以下内容:
default-server = unix:/usr/share/hassio/audio/external/pulse.sock
autospawn = no

重新启动脉冲。
pulseaudio -k && pulseaudio --start
我们放置了当前版本的ADDID版本:2.1.1,仅放置此版本。 mopidy 2.2.0不放置 - 它被打破了。阅读有关Mopidy 2.2.0破碎版本的更多信息,请阅读此处。
添加到configuration.yaml
media_player :
- platform : mpd
name : " MPD Mopidy "
host : localhost
port : 6600我们完全重新启动家庭助理以重新启动Debian本身。

使用BluetoothCtl命令将蓝牙列连接到Debian,KB,J通过GUI或通过控制台
打开蓝牙:
power on
开始扫描设备:
scan on
当我们看到设备时,我们与设备交配:
pair [mac адрес девайса]
我们连接到设备:
connect [mac адрес девайса]
将设备添加到信任:
trust [mac адрес девайса]
此外,如何在两个辅助辅助助手和mopidy中添加蓝牙设备,您需要指定蓝牙设备的声音源:


我们检查性能:

代码:
service : tts.marytts_say
data :
entity_id : media_player.mpd_mopidy
message : >-
Спустя 15 лет жизнь некогда бороздившего космические просторы Жана-Люка
Пикара