Узнайте, как превратить текст в реалистичное звучание

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, тот, кто их создал, является их владельцем. Требуется все же информировать конечных пользователей о том, что они слышат аудио, сгенерированное искусственным интеллектом, а не настоящего человека.