나는 스마트 홈에 정상적인 연설 합성을 제공하기 위해이 프로젝트를 만들었습니다. 또한, 정상적인 음성 합성으로 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 가능한 값 : 48000 , 24000 , 8000
기본적으로 : 48000
SOX SOX_PARAM 유틸리티 매개 변수 :
SOX_PARAM : " reverb 50 50 10 " # Добавляет эхо на речь기본적으로 : 비어 있습니다
출력 파일은 SOX 유틸리티를 통과합니다. 그녀는 매개 변수를 전달하여 연설에 영향을 미치기 위해 다음과 같습니다. 음색을 높이고, 에코를 추가하고,베이스 부스트를 켜십시오.
Sox 유틸리티 문서에 대한 링크 : 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>.
rlowing 예제 1
몇 마디를 설득 해야하는 경우 각각 태그 <d>слово</d> 에서 개별적으로 가져와야합니다.
Мне осталось работать 15 <d>рабочий</d> <d>день</d>.
Lange 예제 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를 다시 시작하십시오.
pulseaudio -k && pulseaudio --start
우리는 현재 버전의 중산 버전을 넣고이 버전 만 넣습니다. Mopidy 2.2.0은 넣지 않습니다 - 깨졌습니다. Mopidy 2.2.0의 깨진 버전에 대해 자세히 알아보십시오.
configuration.yaml에 추가하십시오
media_player :
- platform : mpd
name : " MPD Mopidy "
host : localhost
port : 6600우리는 Debian 자체를 재부팅하기 위해 Home Assistant를 완전히 재부팅합니다.

Bluetoothctl 명령을 사용하여 Bluetooth 열을 Debian, KB, J를 통해 또는 Console을 통해 Debian, KB, J에 연결하십시오.
Bluetooth 켜기 :
power on
스캐닝 장치 시작 :
scan on
우리는 장치를 보았을 때 장치와 짝짓기를합니다.
pair [mac адрес девайса]
장치에 연결합니다.
connect [mac адрес девайса]
신뢰할 수있는 장치 추가 :
trust [mac адрес девайса]
또한, Bluetooth 장치의 두 개의 부가가족에 Bluetooth 장치가 추가 된 방법 Bluetooth 장치의 사운드 소스를 지정해야합니다.


우리는 성능을 확인합니다.

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