私はこのプロジェクトを作成し、スマートホームに通常の音声統合を提供しました。また、ラスピーに通常の音声合成を提供します。すでに準備が整ったソリューションは私に合わず、自転車を発明することが決定されました。シレロモデルは基礎として取得されました。
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ユーティリティドキュメントへのリンク:https://linux.die.net/man/1/sox
フレーズHA_FIXの終わりの詐欺の修正:
HA_FIX : True 値を取ることができます: True False
デフォルトで: False
ホームアシスタントがフレーズの最後に同意しない間違いを修正します。スピーチの終わりに1秒の沈黙を追加します。
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>.
ランゲの例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=[Текст для обработки] - 合成された音声のオーディオファイルを返します。VOICE=[Выбраный голос] 、 INPUT_TEXT=[Текст для обработки]のボディのPOST /process - 合成された音声のオーディオファイルを返します。 client.confを編集します
nano /etc/pulse/client.conf
以下を追加します。
default-server = unix:/usr/share/hassio/audio/external/pulse.sock
autospawn = no

Pulseaudioを再起動します。
pulseaudio -k && pulseaudio --start
現在のバージョンの追加バージョン: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自体を再起動します。

Bluetooth列をDebian、KB、Jを介して、またはBluetoothCtlコマンドを使用してコンソールを介して接続します
Bluetoothをオンにしてください:
power on
スキャンデバイスの開始:
scan on
デバイスを見たとき、私たちはデバイスと交尾します。
pair [mac адрес девайса]
デバイスに接続します。
connect [mac адрес девайса]
デバイスを信頼して追加します:
trust [mac адрес девайса]
さらに、Bluetoothアシスタントとモーピディの2つのアドオンにBluetoothデバイスが追加された方法は、Bluetoothデバイスのサウンドのソースを指定する必要があります。


パフォーマンスを確認してください。

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