Orpheus-TTS: инструмент преобразования текста в речь для генерации естественной китайской речи

Общее введение

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

Orpheus-TTS:生成自然中文语音的文本转语音工具

 

Список функций

  • Генерация речи, близкой к человеческой: превращение текста в аудио с естественными интонациями, эмоциями и ритмом превосходит частично закрытые модели.
  • Клонирование речи с нулевой выборкой: имитирует тембр целевой речи без дополнительного обучения.
  • Эмоциональный и интонационный контроль: через обозначение (например. <laugh>, и<sigh>) Настройка выражения голоса для повышения реалистичности.
  • Потоковый вывод с низкой задержкой: задержка при генерации речи в реальном времени составляет около 200 мс, оптимизированная до 100 мс.
  • Поддержка нескольких языков: английский, испанский, французский, немецкий, итальянский, португальский, китайский и другие языки.
  • Тонкая настройка модели: предоставляются скрипты обработки данных и наборы примеров для поддержки разработчиков в настройке стилей речи или языков.
  • Запуск локально и в облаке: Поддерживается через LM Studio, llama.cpp или vLLM Работайте локально или в облаке.
  • Водяной знак на аудио: защитите авторские права, нанеся водяной знак на сгенерированное аудио с помощью технологии Silent Cipher.

 

Использование помощи

Процесс установки

Для работы Orpheus-TTS требуется среда Python и базовая аппаратная поддержка (рекомендуется GPU). Ниже приведены подробные шаги по установке:

  1. Клонирование кодовой базы
    Загрузите проект Orpheus-TTS с помощью Git:

    git clone https://github.com/canopyai/Orpheus-TTS.git
    cd Orpheus-TTS
    
  2. Установка зависимостей
    Установка основных пакетов orpheus-speechОн опирается на vLLM для быстрого рассуждения:

    pip install orpheus-speech
    

    Примечание: Версия vLLM от 18 марта 2025 года может содержать ошибки, поэтому рекомендуется установить стабильную версию:

    pip install vllm==0.7.3
    

    Другие зависимости включают transformers, иdatasets ответить пением torchУстановка может быть выполнена по запросу:

    pip install transformers datasets torch
    
  3. Проверьте требования к оборудованию
    • Версия Python: 3.8-3.11 (3.12 не поддерживается).
    • GPU: рекомендуется драйвер NVIDIA CUDA с более чем 12 ГБ видеопамяти для обеспечения плавной работы.
    • Процессор: Поддерживается через orpheus-cpp работает, но с меньшей производительностью в легких тестах.
    • Сеть: Для первого запуска требуется загрузка модели, рекомендуется стабильное подключение к Интернету.
  4. Скачать модели
    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
    
  5. тестовая установка
    Запустите следующий сценарий 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).

 

сценарий применения

  1. Интеллектуальный робот для обслуживания клиентов
    Orpheus-TTS генерирует естественную речь для систем обслуживания клиентов, поддерживая диалог в реальном времени и эмоциональную экспрессию для повышения качества обслуживания пользователей.
    Например, платформы электронной коммерции могут интегрировать Orpheus-TTS для добавления дружелюбного тона при ответе на запросы клиентов.
  2. Создание аудиокниг и подкастов
    Издатели могут превращать романы или статьи в аудиокниги, поддерживая многократную маркировку персонажей и эмоций и сокращая расходы на озвучивание.
    Создатели подкастов могут создавать динамичные вступительные строки, чтобы повысить привлекательность своего шоу.
  3. Инструменты для изучения языков
    Образовательное приложение генерирует стандартно звучащую речь, помогая учащимся тренироваться в аудировании и говорении.
    Например, изучающие китайский язык могут использовать китайскую модель для отработки произношения на мандаринском языке.
  4. Озвучивание игровых персонажей
    Разработчики игр могут генерировать динамические диалоги для NPC, поддерживая многоязычие и эмоциональную выразительность для лучшего погружения.
    Например, в ролевых играх можно генерировать уникальные мелодии для разных персонажей.
  5. Средства обеспечения доступности
    Orpheus-TTS обеспечивает поддержку чтения в реальном времени для пользователей с ослабленным зрением, преобразуя текст в речь.
    Например, интеграция в устройство для чтения электронных книг для чтения длинных статей вслух.

 

QA

  1. Какие языки поддерживает Orpheus-TTS?
    Поддерживаются английский, испанский, французский, немецкий, итальянский, португальский и китайский языки. Мультиязычная модель охватывает большее количество языков, как описано в документации Hugging Face.
  2. Как оптимизировать задержку голоса в реальном времени?
    Включите кэширование KV и потоковую передачу входных данных, чтобы уменьшить задержку с 200 до 100 мс. Обеспечьте достаточную производительность GPU, используя не менее 12 ГБ видеопамяти.
  3. Какая подготовка требуется для клонирования нулевого образца голоса?
    Предоставляет 10-30 секунд эталонного аудио в формате WAV с частотой дискретизации 24000 Гц для лучшего предварительного обучения модели.
  4. Может ли процессор работать с Orpheus-TTS?
    Да, используйте orpheus-cppГрафические процессоры не такие мощные, но их производительность ниже, чем у GPU, что делает их подходящими для тестирования или выполнения легких задач.
  5. Как добавить водяной знак к аудиозаписи?
    Используя технологию Silent Cipher, звоните add_watermark функцию, то для ее реализации необходимо обратиться к официальному скрипту.
  6. Сколько данных необходимо для точной настройки?
    50 образцов для получения первых результатов, 300 образцов/символ для достижения наилучшего качества. Данные должны быть в формате Hugging Face.
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...