Перейти к основному содержимому

Текст в речь

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

Обзор​

Аудио API предоставляет конечную точку speech, основанную на нашей модели TTS (text-to-speech). Она включает 6 встроенных голосов и может использоваться для:

  • Озвучивания написанного блога
  • Генерации речи на нескольких языках
  • Выдачи аудио в реальном времени с использованием потоковой передачи

Быстрый старт​

Конечная точка speech принимает три ключевых входных параметра: model, text, который должен быть преобразован в аудио, и voice для использования при генерации аудио.

Генерация озвучки из входного текста​

Python:

from pathlib import Path
from openai import OpenAI

client = OpenAI(
api_key = '$ROCKAPI_API_KEY',
base_url = 'https://api.rockapi.ru/openai/v1'
)

speech_file_path = Path(__file__).parent / "speech.mp3"

response = client.audio.speech.create(
model="tts-1",
voice="alloy",
input="Сегодня замечательный день, чтобы создать что-то, что люди полюбят!"
)

response.stream_to_file(speech_file_path)

По умолчанию конечная точка выводит MP3 файл с озвучкой, но ее можно настроить на вывод любого из наших поддерживаемых форматов.

Качество аудио​

Для приложений в реальном времени стандартная модель tts-1 обеспечивает наименьшую задержку, но с более низким качеством по сравнению с моделью tts-1-hd. Из-за особенностей генерации аудио, tts-1 может генерировать контент с более заметными шумами в некоторых ситуациях, чем tts-1-hd. В некоторых случаях различия в аудио могут быть незаметны в зависимости от вашего устройства прослушивания и индивидуальных предпочтений.

Опции голосов​

Экспериментируйте с различными голосами (alloy, echo, fable, onyx, nova и shimmer), чтобы найти тот, который соответствует вашему желаемому тону и аудитории. Текущие голоса оптимизированы для английского языка.

Потоковое аудио в реальном времени​

API речи поддерживает потоковую передачу аудио в реальном времени, используя chunk transfer encoding. Это означает, что аудио можно воспроизвести до того, как весь файл будет сгенерирован и доступен.

from openai import OpenAI

client = OpenAI()

response = client.audio.speech.create(
model="tts-1",
voice="alloy",
input="Привет, мир! Это тест потоковой передачи."
)

response.stream_to_file("output.mp3")

Поддерживаемые форматы вывода​

По умолчанию формат ответа - "mp3", но доступны и другие форматы, такие как "opus", "aac", "flac" и "pcm".

  • Opus: Для потоковой передачи и связи в интернете, низкая задержка.
  • AAC: Для цифрового аудиосжатия, предпочтительно для YouTube, Android, iOS.
  • FLAC: Для сжатия аудио без потерь, предпочитается аудиофилами для архивирования.
  • WAV: Несжатый WAV аудио, подходит для приложений с низкой задержкой, чтобы избежать декодирования.
  • PCM: Похож на WAV, но содержит сырые образцы с частотой 24 кГц (16-битный, младший байт первым), без заголовка.

Поддерживаемые языки​

Модель TTS в целом следует модели Whisper по поддержке языков. Whisper поддерживает следующие языки и хорошо работает, несмотря на то, что текущие голоса оптимизированы для английского языка:

Африкаанс, арабский, армянский, азербайджанский, белорусский, боснийский, болгарский, каталанский, китайский, хорватский, чешский, датский, голландский, английский, эстонский, финский, французский, галисийский, немецкий, греческий, иврит, хинди, венгерский, исландский, индонезийский, итальянский, японский, каннада, казахский, корейский, латышский, литовский, македонский, малайский, маратхи, маори, непальский, норвежский, персидский, польский, португальский, румынский, русский, сербский, словацкий, словенский, испанский, суахили, шведский, тагальский, тамильский, тайский, турецкий, украинский, урду, вьетнамский и валлийский.

Вы можете генерировать озвучку на этих языках, предоставляя текст на выбранном языке.

FAQ​

Как я могу контролировать эмоциональный диапазон сгенерированного аудио?​

Нет прямого механизма для контроля эмоционального выхода сгенерированного аудио. Определенные факторы, такие как капитализация или грамматика, могут повлиять на выходное аудио, но наши внутренние тесты показали смешанные результаты.

Могу ли я создать копию своего голоса?​

Нет, это не поддерживается.

Являюсь ли я владельцем сгенерированных аудиофайлов?​

Да, как и с любыми выходными данными из нашего API, человек, который их создал, владеет ими. Однако вы обязаны информировать конечных пользователей о том, что они слышат аудио, сгенерированное ИИ, а не реального человека.