Saya telah membuat proyek ini untuk memberikan rumah pintar saya dengan sintesis ucapan normal. Juga, untuk memberikan rhasspy sintesis ucapan normal. Solusi yang sudah siap tidak cocok untuk saya dan diputuskan untuk menciptakan sepeda mereka. Model Silero diambil sebagai dasar.
Saya terinspirasi oleh proyek Silero-ha-http-tts dari Gromina. Dia lembab dan saya memutuskan untuk melakukan segalanya dalam pikiran, dengan pengaturan dan wadah yang siap.
Ikuti perintahnya:
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
Buat file docker-compose.yml dan transfer konten ke sana:
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 : 48000Ikuti perintahnya:
docker-compose up
Semua pengaturan server ditransmisikan sebagai parameter lingkungan Docker ke wadah saat memulai.
Jumlah inti untuk pemrosesan bicara NUMBER_OF_THREADS :
NUMBER_OF_THREADS : 4 Jumlah aliran dari 1 ke jumlah inti prosesor server.
Secara default: 4
Bahasa Sintesis LANGUAGE :
LANGUAGE : ru Secara default: ru
Bahasa yang didukung dengan suara yang tersedia untuk mereka:
| Bahasa | Kode bahasa | Suara yang didukung |
|---|---|---|
| Rusia | ru | aidar baya kseniya xenia eugene random |
| Ukraina | uk | mykyta random |
Frekuensi Pengambilan Sampel SAMPLE_RATE :
SAMPLE_RATE : 48000 Nilai yang mungkin: 48000 , 24000 , 8000
Secara default: 48000
Parameter Utilitas Sox SOX_PARAM :
SOX_PARAM : " reverb 50 50 10 " # Добавляет эхо на речьSecara default: kosong
File output melewati utilitas Sox. Dia dapat menyampaikan parameter untuk memaksakan efek pada pidato: Naikkan timbre, tambahkan gema, nyalakan dorongan bass.
Tautan ke dokumentasi utilitas Sox: https://linux.die.net/man/1/sox
Koreksi penipuan akhir frasa HA_FIX :
HA_FIX : True Dapat mengambil nilai: True False
Secara default: False
Mengoreksi kesalahan di mana asisten rumah tidak menyetujui akhir dari frasa. Menambahkan satu detik keheningan di akhir pidato.
Di file configuration.yaml , tambahkan catatan:
tts :
- platform : marytts
host : localhost # Адрес сервера
port : 9898
codec : WAVE_FILE
voice : xenia # Имя голоса который хотите использовать.
language : ru # Не используется. Настройки языка указываются в настройках сервера. /process .
Layanan dapat menerjemahkan angka ke dalam teks.
Contoh:
Текст с цифрой 1.
Contoh normalisasi 1
Layanan dapat membungkuk kata benda setelah angka.
Untuk melakukan ini, kata yang perlu dibujuk setelah angka, ambil <d>слово</d> .
Contoh:
У меня было 15 <d>яблоко</d>.
Contoh Rlowing 1
Jika Anda perlu membujuk beberapa kata, maka masing -masing harus diambil dalam tag <d>слово</d> secara terpisah.
Мне осталось работать 15 <d>рабочий</d> <d>день</d>.
Contoh Lange 2
Layanan ini dapat melafalkan Terjemahan.
Contoh:
Lorem ipsum dolor sit amet.
Terjemahan Contoh 1
Menggunakan SSML, Anda dapat mengontrol jeda dan pidato yang disintesis proxy.
<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 Contoh 1
GET /clear_cache - Membersihkan cache dari pesan yang sudah disintesis.GET /settings - Mengembalikan pengaturan server saat ini.GET /voices - Mengembalikan daftar suara yang tersedia untuk bahasa yang dipilih.GET /process?VOICE=[Выбраный голос]&INPUT_TEXT=[Текст для обработки] - Mengembalikan file audio dari pidato yang disintesis.POST /process Dalam body of VOICE=[Выбраный голос] , INPUT_TEXT=[Текст для обработки] - Mengembalikan file audio dari pidato yang disintesis. Edit klien.conf
nano /etc/pulse/client.conf
Tambahkan yang berikut:
default-server = unix:/usr/share/hassio/audio/external/pulse.sock
autospawn = no

Restart pulseaudio.
pulseaudio -k && pulseaudio --start
Kami menempatkan versi ADDID dari versi saat ini: 2.1.1 dan hanya menempatkan versi ini. Mopidy 2.2.0 Jangan Put - itu rusak. Baca lebih lanjut tentang versi rusak Mopidy 2.2.0 Baca di sini.
Tambahkan ke configuration.yaml
media_player :
- platform : mpd
name : " MPD Mopidy "
host : localhost
port : 6600Kami me -reboot asisten rumah sepenuhnya untuk me -reboot Debian sendiri.

Hubungkan kolom Bluetooth ke Debian, KB, J melalui GUI, atau melalui konsol menggunakan perintah Bluetoothctl
Nyalakan Bluetooth:
power on
Mulai Perangkat Pemindaian:
scan on
Saat kami melihat perangkat kami, kami kawin dengan perangkat:
pair [mac адрес девайса]
Kami terhubung ke perangkat:
connect [mac адрес девайса]
Tambahkan perangkat ke tepercaya:
trust [mac адрес девайса]
Lebih lanjut, bagaimana perangkat Bluetooth ditambahkan dalam dua addon asisten rhasspy dan mopidy Anda perlu menentukan sumber suara perangkat Bluetooth:


Kami memeriksa kinerjanya:

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