การสร้างสตรีมคำพูดจากข้อความผ่านห้องสมุด Rhvoice โดยไม่ต้องเริ่มต้นเครื่องยนต์อีกครั้ง สิ่งนี้เร็วและสะดวกกว่าโทร rhvoice-test
รูปแบบเสียงที่รองรับ: wav , mp3 , opus , flac และ pcm (เอาต์พุต RAD RHVOICE)
pip3 install rhvoice-wrapper
แพ็คเกจนี้ ไม่ได้ ให้ rhvoice เอง คุณต้องสร้าง (หรือติดตั้ง) rhvoice ภาษาและเสียงด้วยตนเอง ใน Windows คุณต้องระบุเส้นทางสำหรับการทำงาน
คำเตือน ! rhvoice-wrapper-bin ไม่ทำงานใน macOS ติดตั้ง rhvoice ด้วยตนเอง
แทนที่จะเป็น rhvoice คุณสามารถติดตั้ง rhvoice-wrapper-bin นี่เป็นวิธีที่ดีที่สุดสำหรับ Windows หากติดตั้ง rhvoice-wrapper-bin ไลบรารีและข้อมูลจะถูกใช้โดยอัตโนมัติ
pip3 install rhvoice-wrapper[rhvoice]
ก่อนสร้างวัตถุ TTS:
from rhvoice_wrapper import TTS
tts = TTS ( threads = 1 ) คุณสามารถตั้งค่าตัวเลือกเมื่อสร้างหรือผ่านสภาพแวดล้อมตัวแปร (Upper Register) ตัวเลือกแทนที่สภาพแวดล้อมตัวแปร ในการตั้งค่าค่าเริ่มต้นใช้ None :
1 สร้างวัตถุเธรดหนึ่งวัตถุหากทำงานมากขึ้นในโหมดการประมวลผลแบบมัลติโปรเซสเซอร์และสร้างกระบวนการจำนวนมาก ค่าเริ่มต้น 1 .True ทำงานในโหมดการประมวลผลแบบมัลติเพอร์เมนต์หาก False ในโหมดเธรด ค่าเริ่ม False ถ้าเธรด == 1 True โหมดเธรดและเธรด> 1 ทำให้เกิดความผิดพลาดในการแบ่งส่วนหรืออาจส่งคืนข้อมูลที่เสียหายlibRHVoice.so ใน Linux, libRHVoice.dylib ใน macOS และ RHVoice.dll ใน Windows/usr/local/share/RHVoice/usr/local/etc/RHVoice[] .lame , เป็นทางเลือก ง่อยต้องอยู่สำหรับการสนับสนุน mp3 ง่อยเริ่ม lameopusenc เป็นทางเลือก ไฟล์จะต้องมีอยู่สำหรับการสนับสนุน opus opusenc เริ่มต้นflac เป็นทางเลือก ไฟล์จะต้องมีอยู่สำหรับการสนับสนุน flac flac เริ่มต้นTrue อย่าเอาท์พุทข้อมูล ค่าเริ่ม Falsesay จะส่งคืนก้อนใหญ่หนึ่งก้อนรูปแบบอื่นนอกเหนือจาก wav และ pcm จะถูกสร้างช้าลงมาก ค่าเริ่มต้น Trueเริ่มต้นเครื่องกำเนิดการสังเคราะห์และรับข้อมูลเสียง, ก้อนโดยก้อน:
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 chunkหรือรับข้อมูลเสียงทั้งหมดในก้อนใหญ่หนึ่งชิ้น:
data = tts . get ( 'Hello world!' , format_ = 'wav' )
print ( 'data size: ' , len ( data ), ' bytes' )
subprocess . check_output ([ 'aplay' , '-q' ], input = data )หรือเพียงแค่บันทึกไปยังไฟล์:
tts . to_file ( filename = 'esperanto.ogg' , text = 'Saluton mondo' , voice = 'spomenka' , format_ = 'opus' , sets = None ) format_ เป็นรูปแบบเสียงเอาต์พุต ต้องอยู่ใน tts.formats
voice เป็นเสียงของลำโพง ต้องอยู่ใน tts.voice_profiles voice='Voice', sets=None equal voice=None, sets={'voice_profile': 'Voice'} , voice ที่สำคัญยิ่งขึ้น
sets อาจตั้งค่าเป็นพารามิเตอร์การสังเคราะห์ตามที่กำหนดไว้ใน SET_PARAMS พารามิเตอร์นี้ใช้ได้เฉพาะกับวลีปัจจุบัน None ค่าเริ่มต้น
ถ้า buff เท่ากับ None or 0 , สำหรับ PCM และ WAV Chunks กลับมาตามที่เป็นอยู่ (อาจเร็วขึ้นเล็กน้อย) สำหรับคนอื่น ๆ ใช้ขนาดก้อนเริ่มต้น (4 kib)
หาก text ที่ทำซ้ำวัตถุชิ้นส่วนทั้งหมดจะประมวลผลอย่างต่อเนื่อง นี่เป็นวิธีที่ดีสำหรับการประมวลผลข้อความที่มีขนาดใหญ่อย่างไม่น่าเชื่อ โปรดจำไว้ว่าเครื่องกำเนิดไฟฟ้าไม่สามารถถ่ายโอนไปยังกระบวนการอื่นได้ ตัวอย่าง:
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 chunkเปลี่ยนการตั้งค่าการสังเคราะห์เสียง:
tts . set_params ( ** kwargs ) อนุญาต: voice_profile , absolute_rate , absolute_pitch , absolute_volume , relative_rate , relative_pitch , relative_volume , punctuation_mode , punctuation_list _List, capitals_mode , flags ดูเอกสารรายละเอียดของ Rhvoice สำหรับรายละเอียด
กลับมา True ถ้ามีการเปลี่ยนแปลงอื่น ๆ False
รับการตั้งค่าการสังเคราะห์เสียง:
tts . get_params ( param = None ) หาก param คือ None การส่งคืนการตั้งค่าทั้งหมดใน dict ค่าพารามิเตอร์อื่นตามชื่อ หากพารามิเตอร์ไม่พบ Return None
เข้าร่วมเธรดหรือกระบวนการ อย่าใช้วัตถุหลังจากเข้าร่วม:
tts . join ()TTS.formats : รายการรูปแบบที่รองรับ pcm และ wav นำเสนอเสมอTTS.thread_count : จำนวนเธรดการสังเคราะห์TTS.process : ถ้า True TTS จะทำงานในโหมดการประมวลผลแบบมัลติโปรเซสเซอร์TTS.voices : รายการเสียงที่รองรับTTS.voice_profiles : รายการโปรไฟล์เสียงที่รองรับTTS.voices_info : พจนานุกรมเสียงที่รองรับพร้อมข้อมูลเสียงTTS.api_version : เวอร์ชันห้องสมุด Rhvoice ที่รองรับTTS.lib_version : เวอร์ชันไลบรารี rhvoice หากไม่ได้อยู่ใน rhvoice_wrapper.rhvoice_proxy.SUPPORT อาจทำงานไม่ถูกต้องTTS.cmd : พจนานุกรมการโทรภายนอกตามที่เป็นอยู่