Orpheus-TTS: инструмент преобразования текста в речь для генерации естественной китайской речи
Общее введение
Orpheus-TTS - это система преобразования текста в речь (TTS) с открытым исходным кодом, разработанная на архитектуре Llama-3b, целью которой является генерация аудио, близкого к естественной человеческой речи. Она запущена командой Canopy AI и поддерживает множество языков, таких как английский, испанский, французский, немецкий, итальянский, португальский и китайский. Система генерирует речь с интонациями, эмоциями и ритмом из вводимого текста, а также поддерживает невербальные выражения, такие как смех и вздохи, что делает ее подходящей для разговоров в реальном времени, создания аудиокниг и разработки интеллектуальных помощников. Orpheus-TTS предоставляет предварительно обученные и тонко настроенные модели, позволяя разработчикам настраивать речь или язык в соответствии с их потребностями.

Список функций
- Генерация речи, близкой к человеческой: превращение текста в аудио с естественными интонациями, эмоциями и ритмом превосходит частично закрытые модели.
- Клонирование речи с нулевой выборкой: имитирует тембр целевой речи без дополнительного обучения.
- Эмоциональный и интонационный контроль: через обозначение (например.
<laugh>
, и<sigh>
) Настройка выражения голоса для повышения реалистичности. - Потоковый вывод с низкой задержкой: задержка при генерации речи в реальном времени составляет около 200 мс, оптимизированная до 100 мс.
- Поддержка нескольких языков: английский, испанский, французский, немецкий, итальянский, португальский, китайский и другие языки.
- Тонкая настройка модели: предоставляются скрипты обработки данных и наборы примеров для поддержки разработчиков в настройке стилей речи или языков.
- Запуск локально и в облаке: Поддерживается через LM Studio, llama.cpp или vLLM Работайте локально или в облаке.
- Водяной знак на аудио: защитите авторские права, нанеся водяной знак на сгенерированное аудио с помощью технологии Silent Cipher.
Использование помощи
Процесс установки
Для работы Orpheus-TTS требуется среда Python и базовая аппаратная поддержка (рекомендуется GPU). Ниже приведены подробные шаги по установке:
- Клонирование кодовой базы
Загрузите проект Orpheus-TTS с помощью Git:git clone https://github.com/canopyai/Orpheus-TTS.git cd Orpheus-TTS
- Установка зависимостей
Установка основных пакетовorpheus-speech
Он опирается на vLLM для быстрого рассуждения:pip install orpheus-speech
Примечание: Версия vLLM от 18 марта 2025 года может содержать ошибки, поэтому рекомендуется установить стабильную версию:
pip install vllm==0.7.3
Другие зависимости включают
transformers
, иdatasets
ответить пениемtorch
Установка может быть выполнена по запросу:pip install transformers datasets torch
- Проверьте требования к оборудованию
- Версия Python: 3.8-3.11 (3.12 не поддерживается).
- GPU: рекомендуется драйвер NVIDIA CUDA с более чем 12 ГБ видеопамяти для обеспечения плавной работы.
- Процессор: Поддерживается через
orpheus-cpp
работает, но с меньшей производительностью в легких тестах. - Сеть: Для первого запуска требуется загрузка модели, рекомендуется стабильное подключение к Интернету.
- Скачать модели
Orpheus-TTS предлагает следующие модели, размещенные на Hugging Face:- Тонкая настройка модели (
canopylabs/orpheus-tts-0.1-finetune-prod
): Подходит для решения повседневных задач по созданию речи. - Предварительно обученные модели (
canopylabs/orpheus-tts-0.1-pretrained
): Основан на 100 000 часах обучения английской речи, подходит для таких сложных задач, как клонирование речи. - Многоязычное моделирование (
canopylabs/orpheus-multilingual-research-release
): Содержит 7 наборов предварительно обученных и точно настроенных моделей для поддержки многоязычных исследований.
Метод загрузки:
huggingface-cli download canopylabs/orpheus-tts-0.1-finetune-prod
- Тонкая настройка модели (
- тестовая установка
Запустите следующий сценарий Python, чтобы убедиться, что установка прошла успешно:from orpheus_tts import OrpheusModel model = OrpheusModel(model_name="canopylabs/orpheus-tts-0.1-finetune-prod") prompt = "tara: 你好,这是一个测试!" audio = model.generate_speech(prompt) with wave.open("test_output.wav", "wb") as file: file.setnchannels(1) file.setsampwidth(2) file.setframerate(24000) file.writeframes(audio)
После успешного запуска будет создан WAV-файл, содержащий озвучку введенного текста.
Основные функции
1. Генерация речи, близкой к человеческой
Основная функция Orpheus-TTS - преобразование текста в аудио, близкое к естественной человеческой речи. Система поддерживает широкий спектр речевых символов в модели английского языка tara
наиболее естественный смысл речи, другие персонажи включают leah
, иjess
, иleo
, иdan
, иmia
, иzac
ответить пением zoe
. Роли многоязычной модели должны ссылаться на официальную документацию. Процедура:
- Подготовьте текстовые подсказки в формате
{角色名}: {文本}
Напримерtara: 你好,今天天气很好!
. - Вызовите функцию генерации:
audio = model.generate_speech(prompt="tara: 你好,今天天气很好!")
- На выходе получается аудио в формате WAV с частотой дискретизации 24000 Гц в монофоническом режиме.
2. Эмоции и управление тоном
Пользователи могут управлять эмоциональным выражением голоса с помощью тегов, чтобы повысить реалистичность голоса. Поддерживаются следующие теги:
<laugh>
Смех.<sigh>
: Вздох.<cough>
: Кашель.<sniffle>
: Нюх.<groan>
:groan.<yawn>
: Зевок.<gasp>
: Сюрприз.
Пример:
prompt = "tara: 这个消息太震撼了!<gasp> 你听说了吗?"
audio = model.generate_speech(prompt)
Сгенерированный звук будет включать эффекты сюрприза в соответствующих местах. См. документацию по Hugging Face для поддержки тегов мультиязычных моделей.
3. Клонирование речи с нулевым образцом
Orpheus-TTS поддерживает клонирование речи с нулевым образцом, что позволяет напрямую имитировать целевую речь без предварительного обучения. Этапы работы:
- Подготовьте WAV-файл целевой речи с рекомендуемой продолжительностью 10-30 секунд и частотой дискретизации 24000 Гц.
- Используйте следующий сценарий:
audio_ref = "path/to/reference.wav" prompt = "tara: 这段话会模仿你的声音!" audio = model.generate_with_voice_clone(prompt, audio_ref)
- Выходной звук будет близок к тембру эталонной речи. Предварительно обученная модель лучше справляется с задачей клонирования.
4. потоковый вывод с низкой задержкой
Orpheus-TTS обеспечивает потоковую генерацию речи для сценариев диалога в реальном времени, с задержкой около 200 мс, оптимизированной до 100 мс:
from flask import Flask, Response
from orpheus_tts import OrpheusModel
app = Flask(__name__)
[1]
model = OrpheusModel(model_name="canopylabs/orpheus-tts-0.1-finetune-prod")
@app.route("/stream")
def stream_audio():
def generate():
prompt = "tara: 这是实时语音测试!"
for chunk in model.stream_generate(prompt):
yield chunk
return Response(generate(), mimetype="audio/wav")
Запустив службу Flask, зайдите в http://localhost:5000/stream
Голос можно услышать в реальном времени. Для оптимизации задержки требуется включить кэширование KV и потоковую передачу входного сигнала.
5. Тонкая настройка модели
Разработчики могут точно настроить модель для поддержки новых языков или стилей речи. Это происходит следующим образом:
- Подготовьте набор данных: обратитесь к примеру набора данных "Обнимающиеся лица", чтобы узнать его формат (
canopylabs/zac-sample-dataset
). Рекомендуется включать 50-300 образцов/символов, при этом для достижения наилучших результатов рекомендуется использовать 300 образцов. - Предварительная обработка данных: использование официально предоставленных блокнотов Colab (
1wg_CPCA-MzsWtsujwy-1Ovhv-tn8Q1nD
Данные обрабатываются примерно за 1 минуту на тысячу записей. - Обучение конфигурации: модификации
finetune/config.yaml
Задайте путь к набору данных и параметры. - Беговая тренировка:
huggingface-cli login wandb login accelerate launch train.py
- Тонко настроенная модель может быть использована для решения конкретных задач, таких как оптимизация китайской речи.
6. аудио водяные знаки
Orpheus-TTS поддерживает водяные знаки на аудио с технологией Silent Cipher для защиты авторских прав. Метод работы:
- Обратитесь к официальному сценарию реализации (
additional_inference_options/watermark_audio
). - Пример:
from orpheus_tts import add_watermark audio = model.generate_speech(prompt) watermarked_audio = add_watermark(audio, watermark_id="user123")
7. Нет рассуждений о GPU
Пользователи без графического процессора могут использовать orpheus-cpp
Запуск на процессоре, шаг за шагом:
- монтаж llama.cpp Окружающая среда.
- Обратитесь к официальной документации (
additional_inference_options/no_gpu/README.md
). - Более низкая производительность по сравнению с GPU для легких задач.
предостережение
- Выбор моделиТонко настроенные модели подходят для повседневных задач, а предварительно обученные - для сложных задач, таких как клонирование речи.
- аппаратное ограничение: Менее 12 ГБ видеопамяти может быть недостаточно, рекомендуется проверить конфигурацию оборудования.
- Поддержка нескольких языков: Неанглийские языки должны обращаться к многоязычной документации по модели, некоторые языки могут нуждаться в тонкой настройке.
- регулировка компонентов во время тестирования: Если vLLM сообщает об ошибке (например.
vllm._C
), попробуйте другую версию или проверьте совместимость с CUDA.
Дополнительные функции: распространение знаний о сообществах
Открытый исходный код Orpheus-TTS привлек внимание сообщества, и следующая реализация (не полностью проверенная) официально рекомендована:
- Локальный клиент LM Studio: Запустите Orpheus-TTS через LM Studio API (
isaiahbjork/orpheus-tts-local
). - FastAPI совместим с открытым искусственным интеллектом: Предоставляет API-интерфейс в стиле Open AI (
Lex-au/Orpheus-FastAPI
). - Веб-интерфейс Gradio: WSL и веб-интерфейс с поддержкой CUDA (
Saganaki22/OrpheusTTS-WebUI
). - Обнимающееся пространство лица: Онлайн-опыт, созданный пользователем сообщества MohamedRashad (
MohamedRashad/Orpheus-TTS
).
сценарий применения
- Интеллектуальный робот для обслуживания клиентов
Orpheus-TTS генерирует естественную речь для систем обслуживания клиентов, поддерживая диалог в реальном времени и эмоциональную экспрессию для повышения качества обслуживания пользователей.
Например, платформы электронной коммерции могут интегрировать Orpheus-TTS для добавления дружелюбного тона при ответе на запросы клиентов. - Создание аудиокниг и подкастов
Издатели могут превращать романы или статьи в аудиокниги, поддерживая многократную маркировку персонажей и эмоций и сокращая расходы на озвучивание.
Создатели подкастов могут создавать динамичные вступительные строки, чтобы повысить привлекательность своего шоу. - Инструменты для изучения языков
Образовательное приложение генерирует стандартно звучащую речь, помогая учащимся тренироваться в аудировании и говорении.
Например, изучающие китайский язык могут использовать китайскую модель для отработки произношения на мандаринском языке. - Озвучивание игровых персонажей
Разработчики игр могут генерировать динамические диалоги для NPC, поддерживая многоязычие и эмоциональную выразительность для лучшего погружения.
Например, в ролевых играх можно генерировать уникальные мелодии для разных персонажей. - Средства обеспечения доступности
Orpheus-TTS обеспечивает поддержку чтения в реальном времени для пользователей с ослабленным зрением, преобразуя текст в речь.
Например, интеграция в устройство для чтения электронных книг для чтения длинных статей вслух.
QA
- Какие языки поддерживает Orpheus-TTS?
Поддерживаются английский, испанский, французский, немецкий, итальянский, португальский и китайский языки. Мультиязычная модель охватывает большее количество языков, как описано в документации Hugging Face. - Как оптимизировать задержку голоса в реальном времени?
Включите кэширование KV и потоковую передачу входных данных, чтобы уменьшить задержку с 200 до 100 мс. Обеспечьте достаточную производительность GPU, используя не менее 12 ГБ видеопамяти. - Какая подготовка требуется для клонирования нулевого образца голоса?
Предоставляет 10-30 секунд эталонного аудио в формате WAV с частотой дискретизации 24000 Гц для лучшего предварительного обучения модели. - Может ли процессор работать с Orpheus-TTS?
Да, используйтеorpheus-cpp
Графические процессоры не такие мощные, но их производительность ниже, чем у GPU, что делает их подходящими для тестирования или выполнения легких задач. - Как добавить водяной знак к аудиозаписи?
Используя технологию Silent Cipher, звонитеadd_watermark
функцию, то для ее реализации необходимо обратиться к официальному скрипту. - Сколько данных необходимо для точной настройки?
50 образцов для получения первых результатов, 300 образцов/символ для достижения наилучшего качества. Данные должны быть в формате Hugging Face.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...