
Jbark-это мощная библиотека Python, которая основана на возможностях оригинального проекта Text-to Speech Bark [https://github.com/suno-ai/bark], добавляя простые функции конверсии голоса. Он обеспечивает бесшовный интерфейс для генерации высококачественной речи из текста, извлечения основных характеристик голоса и применения этих характеристик к генерируемому звуку.
Ключевые особенности JBARK включают:
Разработаете ли вы виртуального помощника, создаете аудиокниги или работаете над любым проектом, который требует гибкого и высококачественного синтеза речи, JBARK предоставляет инструменты, необходимые для воплощения своих идей в жизнь.
Чтобы установить jbark, выполните следующие действия:
Убедитесь, что в вашей системе установлен Python 3.7 или позже.
Установите Jbark и его зависимости:
pip install jbark numpy torch scipy librosa resampy
Примечание. JBARK использует процессор для вычислений по умолчанию. Если вы хотите использовать ускорение графического процессора, обязательно установите соответствующую версию Pytorch с поддержкой CUDA.
Вот основной пример того, как использовать 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 )Этот пример демонстрирует основной рабочий процесс генерации речи, извлечения характеристик голоса и применения простого преобразования голоса в сгенерированное звук.
JBARK предоставляет несколько вариантов настройки:
Предупреждение подавление : по умолчанию JBARK подавляет общие предупреждения. Такое поведение обрабатывается внутри и не требует конфигурации пользователя.
Голосовые пресеты : при генерации аудио вы можете указать голосовую предустановку:
audio_array = jbark . generate_audio ( text , history_prompt = "v2/en_speaker_6" ) Параметры преобразования голоса : Вы можете настроить прочность переключения шага и регулировки темпа, изменяя метод simple_voice_conversion в классе JBark .
__init__(self)Инициализирует экземпляр JBARK, подавляет предупреждения и предварительно нагрузки.
generate_audio(self, text_prompt: str, output_path: str = None, history_prompt: str = None) -> numpy.ndarrayГенерирует аудио из данной текстовой подсказки.
text_prompt : текст для преобразования в речь.output_path : необязательно. Путь к сохранению сгенерированного звука.history_prompt : Необязательно. Голос предустановлен для использования.Возврат: Numpy Array, содержащий аудиоданные.
simple_voice_clone(self, audio_path: str) -> dictИзвлекает основные характеристики голоса из аудиобрации.
audio_path : Путь к аудиобрации для извлечения характеристики голоса.Возврат: Словарь, содержащий базовые характеристики голоса (высота и темп).
generate_with_cloned_voice(self, text_prompt: str, voice_characteristics: dict, output_path: str) -> numpy.ndarrayГенерирует звук, используя простое преобразование голоса на основе извлеченных характеристик голоса.
text_prompt : текст для преобразования в речь.voice_characteristics : словарь, содержащий голосовые характеристики (высота и темп).output_path : путь к сохранению сгенерированного звука.Возврат: Numpy Array, содержащий аудиоданные.
simple_voice_conversion(self, audio: numpy.ndarray, voice_characteristics: dict) -> numpy.ndarrayПрименяет простое преобразование голоса к вводу аудио на основе заданных голосовых характеристик.
audio : входной аудио -массив.voice_characteristics : словарь, содержащий голосовые характеристики (высота и темп).Возврат: преобразованный аудиоосложений.
custom_time_stretch(self, audio: numpy.ndarray, rate: float) -> numpy.ndarrayПользовательская функция растяжения времени с использованием повторной выборки.
audio : входной аудио -массив.rate : скорость растяжения времени.Возврат: натянутый временным аудиооборотом.
list_supported_languages(self) -> dictВозвращает словарь поддерживаемых языков.
JBARK разработан с учетом модульности и расширяемости. Основными компонентами являются:
Библиотека следует за шаблоном фасада, где класс JBARK обеспечивает упрощенный интерфейс для базовых систем текста в речь и голоса.
Jbark поставляется с двумя тестовыми люксами:
Основной тестовый набор ( test_jbark.py ): запустить базовый набор тестов:
python test_jbark.py
Это запустит интерактивное меню, позволяющее вам проверить различные функции библиотеки JBARK.
Расширенный тестовый набор ( test2.py ): для запуска расширенного набора тестов:
python test2.py
Этот набор обеспечивает более полное тестирование, включая вариации генерации звука, клонирование голоса, преобразование голоса, поддержку языка, обработку ошибок и тестирование производительности.
Для отладки вы можете использовать встроенный модуль Python pdb или IDE, такой как Pycharm или Vscode.
В: Почему поколение звука медленно? A: Скорость генерации звука зависит от вашего оборудования. Jbark использует процессор для вычислений по умолчанию. Для более быстрой обработки рассмотрите возможность использования машины с более мощным процессором или реализации поддержки GPU.
В: Насколько эффективно простое преобразование голоса? A: Простая функция преобразования голоса в JBARK обеспечивает базовые изменения шага и темпа. Хотя это может изменить некоторые характеристики голоса, он не обеспечивает такого же уровня качества голосового клонирования, как более продвинутые методы. Результаты могут варьироваться в зависимости от входного текста и целевого голоса.
В: Как я могу улучшить качество конверсии голоса? A: Используйте высококачественные аудио-образцы для извлечения характеристики голоса, в идеале с чистой речью и минимальным фоновым шумом. Вы также можете экспериментировать с настройкой параметров переключения шага и регулировки темпа в методе simple_voice_conversion для лучших результатов.
В: Как мне использовать разные языковые модели? A: Jbark поддерживает несколько языков. Вы можете указать желаемый язык при генерации звука, используя соответствующий языковой код в подсказке истории. Например:
audio = jbark . generate_audio ( "Bonjour!" , history_prompt = "v2/fr_speaker_1" ) Для списка поддерживаемых языков и их кодов используйте метод list_supported_languages() .
Для получения дополнительных вопросов и ответов, посетите нашу страницу проблем GitHub или присоединяйтесь к нашему сообществу.
