Menghasilkan aliran bicara dari teks melalui pustaka rhvoice tanpa mesin inisialisasi ulang. Ini sangat cepat dan lebih nyaman daripada panggilan rhvoice-test.
Format audio yang didukung: wav , mp3 , opus , flac , dan pcm (output RHVOICE RAW).
pip3 install rhvoice-wrapper
Paket ini tidak memberikan rhvoice itu sendiri. Anda harus membangun (atau menginstal) rhvoice, bahasa dan suara secara manual. Di Windows Anda harus menentukan jalur untuk bekerja.
Peringatan ! rhvoice-wrapper-bin tidak berfungsi di macOS , instal rhvoice secara manual.
Alih-alih rhvoice Anda dapat menginstal rhvoice-wrapper-bin. Ini adalah cara terbaik untuk Windows. Jika rhvoice-wrapper-bin diinstal, pustaka dan datanya akan digunakan secara otomatis.
pip3 install rhvoice-wrapper[rhvoice]
Pertama -tama buat objek TTS:
from rhvoice_wrapper import TTS
tts = TTS ( threads = 1 ) Anda dapat mengatur opsi saat membuat atau melalui lingkungan variabel (Daftar Atas). Opsi mengesampingkan lingkungan variabel. Untuk mengatur nilai default None digunakan:
1 , buat satu objek utas, jika lebih berjalan dalam mode multiprosessing dan buat banyak proses. Default 1 .True berjalan dalam mode multiproses, jika False dalam mode utas. Default False jika utas == 1, else True . Mode dan utas utas> 1 menyebabkan kesalahan segmentasi atau dapat mengembalikan data yang rusaklibRHVoice.so di linux, libRHVoice.dylib di macOS dan RHVoice.dll di windows./usr/local/share/RHVoice ./usr/local/etc/RHVoice .[] .lame , opsional. Lame harus hadir untuk dukungan mp3 . Default lame .opusenc , opsional. File harus ada untuk dukungan opus . opusenc default.flac , opsional. File harus ada untuk dukungan flac . flac default.True jangan output info. False default.say akan mengembalikan satu potongan besar, format selain wav dan pcm akan dihasilkan jauh lebih lambat. Default True .Mulai Generator Sintesis dan Dapatkan Data Audio, Potongan dengan Chunk:
def generator_audio ( text , voice = 'anna' , format_ = 'wav' , buff = 4096 , sets = None ):
with tts . say ( text , voice , format_ , buff , sets ) as gen :
for chunk in gen :
yield chunkAtau dapatkan semua data audio dalam satu potongan besar:
data = tts . get ( 'Hello world!' , format_ = 'wav' )
print ( 'data size: ' , len ( data ), ' bytes' )
subprocess . check_output ([ 'aplay' , '-q' ], input = data )Atau hanya menyimpan ke file:
tts . to_file ( filename = 'esperanto.ogg' , text = 'Saluton mondo' , voice = 'spomenka' , format_ = 'opus' , sets = None ) format_ adalah format audio output. Harus hadir dalam tts.formats .
voice adalah suara speaker. Harus ada di tts.voice_profiles . voice='Voice', sets=None equal voice=None, sets={'voice_profile': 'Voice'} , voice lebih prioritas.
sets dapat ditetapkan sebagai dikt yang mengandung parameter sintesis seperti pada set_params. Parameter ini hanya berfungsi untuk frasa saat ini. None default.
Jika buff sama None or 0 , untuk PCM dan WAV Chunks kembali sebagaimana adanya (mungkin sedikit lebih cepat). Untuk yang lain menggunakan ukuran chunk default (4 kib).
Jika text yang dapat diulang, semua fragmennya akan diproses secara berturut -turut. Ini adalah metode yang baik untuk memproses teks yang sangat besar. Ingat, generator tidak dapat ditransfer ke proses lain. Contoh:
def _text ():
with open ( 'wery_large_book.txt' ) as fp :
text = fp . read ( 5000 )
while text :
yield text
text = fp . read ( 5000 )
def generator_audio ():
with tts . say ( _text ()) as gen :
for chunk in gen :
yield chunkMengubah Pengaturan Synthesizer Suara:
tts . set_params ( ** kwargs ) Izinkan: voice_profile , absolute_rate , absolute_pitch , absolute_volume , relative_rate , relative_pitch , relative_volume , punctuation_mode , punctuation_list , capitals_mode , flags . Lihat Dokumentasi RhVoice untuk detailnya.
Kembalikan True jika berubah, kalau False .
Dapatkan Pengaturan Synthesizer Suara:
tts . get_params ( param = None ) Jika Param None yang mengembalikan semua pengaturan dalam dict , selain itu nilai parameter berdasarkan nama. Jika parameter tidak ditemukan kembali None .
Bergabunglah dengan utas atau proses. Jangan gunakan objek setelah bergabung:
tts . join ()TTS.formats : Daftar format yang didukung, pcm dan wav selalu hadir.TTS.thread_count : Jumlah utas sintesis.TTS.process : Jika True , TTS berjalan dalam mode multiprosesing.TTS.voices : Daftar suara yang didukung.TTS.voice_profiles : Daftar profil suara yang didukung.TTS.voices_info : Kamus Suara yang Didukung dengan Informasi Suara.TTS.api_version : Versi pustaka rhvoice yang didukung.TTS.lib_version : Versi pustaka rhvoice. Jika tidak di rhvoice_wrapper.rhvoice_proxy.SUPPORT , mungkin pekerjaan yang salah.TTS.cmd : Kamus Panggilan Eksternal, sebagaimana adanya.