
JBark adalah perpustakaan Python yang kuat yang dibangun berdasarkan kemampuan proyek Text-to-speech kulit asli [https://github.com/suno-ai/bark], menambahkan fitur konversi suara sederhana. Ini memberikan antarmuka yang mulus untuk menghasilkan ucapan berkualitas tinggi dari teks, mengekstraksi karakteristik suara dasar, dan menerapkan karakteristik ini untuk menghasilkan audio.
Fitur utama JBark meliputi:
Apakah Anda mengembangkan asisten virtual, membuat buku audio, atau mengerjakan proyek apa pun yang membutuhkan sintesis ucapan yang fleksibel dan berkualitas tinggi, JBark menyediakan alat yang Anda butuhkan untuk menghidupkan ide-ide Anda.
Untuk menginstal JBark, ikuti langkah -langkah ini:
Pastikan Anda memiliki Python 3.7 atau yang lebih baru diinstal pada sistem Anda.
Instal JBark dan dependensinya:
pip install jbark numpy torch scipy librosa resampy
Catatan: JBark menggunakan CPU untuk perhitungan secara default. Jika Anda ingin menggunakan akselerasi GPU, pastikan untuk menginstal Pytorch versi CUDA yang sesuai.
Berikut adalah contoh dasar cara menggunakan jbark:
from jbark import JBark
# Initialize jBark
jbark = JBark ()
# Generate audio from text
text = "Hello, this is a test of jBark text-to-speech."
output_path = "output.wav"
audio_array = jbark . generate_audio ( text , output_path )
# Extract voice characteristics
sample_audio = "sample_voice.wav"
voice_chars = jbark . simple_voice_clone ( sample_audio )
# Generate audio with simple voice conversion
converted_text = "This is speech using simple voice conversion."
converted_output_path = "converted_output.wav"
converted_audio = jbark . generate_with_cloned_voice ( converted_text , voice_chars , converted_output_path )
# List supported languages
languages = jbark . list_supported_languages ()
print ( "Supported languages:" , languages )Contoh ini menunjukkan alur kerja dasar pembuatan pidato, mengekstraksi karakteristik suara, dan menerapkan konversi suara sederhana ke audio yang dihasilkan.
JBark menyediakan beberapa opsi untuk kustomisasi:
Penindasan peringatan : Secara default, JBark menekan peringatan umum. Perilaku ini ditangani secara internal dan tidak memerlukan konfigurasi pengguna.
Preset Suara : Saat menghasilkan audio, Anda dapat menentukan preset suara:
audio_array = jbark . generate_audio ( text , history_prompt = "v2/en_speaker_6" ) Parameter Konversi Suara : Anda dapat menyesuaikan kekuatan pemindahan pitch dan penyesuaian tempo dengan memodifikasi metode simple_voice_conversion di kelas JBark .
__init__(self)Menginisialisasi instance JBark, menekan peringatan, dan preloads model yang diperlukan.
generate_audio(self, text_prompt: str, output_path: str = None, history_prompt: str = None) -> numpy.ndarrayMenghasilkan audio dari prompt teks yang diberikan.
text_prompt : Teks untuk dikonversi ke ucapan.output_path : Opsional. Jalur untuk menyimpan audio yang dihasilkan.history_prompt : opsional. Preset suara untuk digunakan.Pengembalian: Array Numpy yang berisi data audio.
simple_voice_clone(self, audio_path: str) -> dictMengekstrak karakteristik suara dasar dari sampel audio.
audio_path : Jalur ke sampel audio untuk ekstraksi karakteristik suara.Pengembalian: Kamus yang berisi karakteristik suara dasar (pitch dan tempo).
generate_with_cloned_voice(self, text_prompt: str, voice_characteristics: dict, output_path: str) -> numpy.ndarrayMenghasilkan audio menggunakan konversi suara sederhana berdasarkan karakteristik suara yang diekstraksi.
text_prompt : Teks untuk dikonversi ke ucapan.voice_characteristics : Kamus yang mengandung karakteristik suara (pitch dan tempo).output_path : jalur untuk menyimpan audio yang dihasilkan.Pengembalian: Array Numpy yang berisi data audio.
simple_voice_conversion(self, audio: numpy.ndarray, voice_characteristics: dict) -> numpy.ndarrayBerlaku konversi suara sederhana ke audio input berdasarkan karakteristik suara yang diberikan.
audio : Array audio input.voice_characteristics : Kamus yang mengandung karakteristik suara (pitch dan tempo).Pengembalian: Array audio yang dikonversi.
custom_time_stretch(self, audio: numpy.ndarray, rate: float) -> numpy.ndarrayFungsi peregangan waktu khusus menggunakan resampling.
audio : Array audio input.rate : Peregangan waktu.Pengembalian: Array audio yang diregangkan waktu.
list_supported_languages(self) -> dictMengembalikan kamus bahasa yang didukung.
JBark dirancang dengan modularitas dan ekstensibilitas dalam pikiran. Komponen utamanya adalah:
Perpustakaan mengikuti pola fasad, di mana kelas JBark menyediakan antarmuka yang disederhanakan untuk sistem konversi teks-ke-speech dan suara yang mendasarinya.
JBark dilengkapi dengan dua suite tes:
Suite tes dasar ( test_jbark.py ): Untuk menjalankan suite tes dasar:
python test_jbark.py
Ini akan meluncurkan menu interaktif yang memungkinkan Anda untuk menguji berbagai fitur perpustakaan JBark.
Test suite yang diperluas ( test2.py ): Untuk menjalankan suite tes yang diperluas:
python test2.py
Suite ini memberikan pengujian yang lebih komprehensif, termasuk variasi dalam pembuatan audio, kloning suara, konversi suara, dukungan bahasa, penanganan kesalahan, dan pengujian kinerja.
Untuk debugging, Anda dapat menggunakan modul pdb bawaan Python atau IDE seperti Pycharm atau Vscode.
T: Mengapa generasi audio lambat? A: Kecepatan pembuatan audio tergantung pada perangkat keras Anda. JBark menggunakan CPU untuk perhitungan secara default. Untuk pemrosesan yang lebih cepat, pertimbangkan untuk menggunakan mesin dengan CPU yang lebih kuat atau menerapkan dukungan GPU.
T: Seberapa efektif konversi suara sederhana? A: Fitur Konversi Suara Sederhana di JBark menyediakan penyesuaian pitch dan tempo dasar. Meskipun dapat mengubah beberapa karakteristik suara, itu tidak memberikan tingkat kualitas kloning suara yang sama seperti metode yang lebih canggih. Hasil dapat bervariasi tergantung pada teks input dan karakteristik suara target.
T: Bagaimana saya bisa meningkatkan kualitas konversi suara? A: Gunakan sampel audio berkualitas tinggi untuk ekstraksi karakteristik suara, idealnya dengan ucapan yang jelas dan kebisingan latar belakang minimal. Anda juga dapat bereksperimen dengan menyesuaikan parameter pemindahan pitch dan penyesuaian tempo dalam metode simple_voice_conversion untuk hasil yang lebih baik.
T: Bagaimana cara menggunakan model bahasa yang berbeda? A: JBark mendukung berbagai bahasa. Anda dapat menentukan bahasa yang diinginkan saat menghasilkan audio dengan menggunakan kode bahasa yang sesuai dalam prompt sejarah. Misalnya:
audio = jbark . generate_audio ( "Bonjour!" , history_prompt = "v2/fr_speaker_1" ) Untuk daftar bahasa yang didukung dan kode mereka, gunakan metode list_supported_languages() .
Untuk pertanyaan dan jawaban lebih lanjut, kunjungi halaman masalah GitHub kami atau bergabunglah dengan forum komunitas kami.
