Узнайте, как превратить текст в реалистичное звучание
Audio API предоставляет точку доступа speech
, основанную на нашей модели TTS (текст в речь). Она поставляется с 6 встроенными голосами и может использоваться для:
- Озвучивания написанного блог-поста
- Производства озвученного аудио на нескольких языках
- Вывода звука в реальном времени с использованием потоковой передачи
Пожалуйста, обратите внимание, что наши правила использования требуют от вас предоставления чёткого разъяснения конечным пользователям о том, что голос TTS, который они слышат, создан искусственным интеллектом, а не является человеческим голосом.
Точка доступа speech
принимает три ключевых входных параметра: model
, text
, который должен быть преобразован в аудио, и voice
, который будет использован для генерации аудио. Простой запрос будет выглядеть следующим образом:
1from pathlib import Path
2from openai import OpenAI
3client = OpenAI()
4
5speech_file_path = Path(__file__).parent / "speech.mp3"
6response = client.audio.speech.create(
7 model="tts-1",
8 voice="alloy",
9 input="Today is a wonderful day to build something people love!"
10)
11
12response.stream_to_file(speech_file_path)
По умолчанию, точка доступа будет выводить файл MP3 с озвученным текстом, но может быть настроена на вывод в любом из поддерживаемых нами форматов.
Для приложений в реальном времени стандартная модель tts-1
обеспечивает наименьшую задержку, но при этом качество может быть ниже, чем у модели tts-1-hd
. Из-за способа генерации звука tts-1
скорее всего будет создавать контент, который в некоторых ситуациях может содержать больше шумов, чем tts-1-hd
. В некоторых случаях аудио может не иметь заметных различий в зависимости от вашего устройства воспроизведения и отдельного человека.
Экспериментируйте с разными голосами (alloy
, echo
, fable
, onyx
, nova
и shimmer
), чтобы найти тот, который соответствует желаемому тону и аудитории. Текущие голоса оптимизированы для английского языка.
Формат ответа по умолчанию - "mp3", но доступны и другие форматы, такие как "opus", "aac" или "flac".
- Opus: Для потоковой передачи в Интернете и связи, низкая задержка.
- AAC: Для цифрового аудио сжатия, предпочтительно используется YouTube, Android, iOS.
- FLAC: Для потерь свободного аудио сжатия, предпочтительно для аудиофилов для архивации.
Модель TTS в общем следует за моделью Whisper в части поддержки языков. Whisper поддерживает следующие языки и показывает хорошие результаты несмотря на то, что текущие голоса оптимизированы для английского:
Африкаанс, Арабский, Армянский, Азербайджанский, Белорусский, Боснийский, Болгарский, Каталонский, Китайский, Хорватский, Чешский, Датский, Голландский, Английский, Эстонский, Финский, Французский, Галисийский, Немецкий, Греческий, Иврит, Хинди, Венгерский, Исландский, Индонезийский, Итальянский, Японский, Каннада, Казахский, Корейский, Латышский, Литовский, Македонский, Малайский, Маратхи, Маори, Непальский, Норвежский, Персидский, Польский, Португальский, Румынский, Русский, Сербский, Словацкий, Словенский, Испанский, Суахили, Шведский, Тагалог, Тамильский, Тайский, Турецкий, Украинский, Урду, Вьетнамский и Валлийский.
Вы можете генерировать аудио на этих языках, предоставляя входной текст на выбранном вами языке.
Speech API поддерживает потоковое вещание аудио в реальном времени с использованием передачи данных частями. Это означает, что аудио можно воспроизводить до того, как будет сгенерирован и станет доступным полный файл.
1from openai import OpenAI
2
3client = OpenAI()
4
5response = client.audio.speech.create(
6 model="tts-1",
7 voice="alloy",
8 input="Hello world! This is a streaming test.",
9)
10
11response.stream_to_file("output.mp3")
Нет прямого механизма для контроля эмоционального выхода генерируемого аудио. Некоторые факторы, такие как использование заглавных букв или грамматика, могут повлиять на выходное аудио, но наши внутренние тесты с этими факторами дали неоднозначные результаты.
Нет, это не то, что мы поддерживаем.
Да, как и все выводные данные из нашего API, тот, кто их создал, является их владельцем. Требуется все же информировать конечных пользователей о том, что они слышат аудио, сгенерированное искусственным интеллектом, а не настоящего человека.