Текст в речь
Преобразуйте текст в естественно звучащую речь с использованием продвинутых технологий TTS
ForgetAPI предоставляет услуги преобразования текста в речь с использованием нескольких провайдеров, включая OpenAI и ElevenLabs. Конкретный провайдер зависит от модели, которую вы выберете в своем API-запросе.
Узнайте, как превратить текст в реалистичную речь с помощью API Text-to-Speech от ForgetAPI, который использует передовые технологии TTS от различных провайдеров.
Обзор
Audio API предоставляет мощный эндпоинт speech, основанный на продвинутой технологии TTS (text-to-speech) от наших партнеров. Он поддерживает различные естественно звучащие голоса и может использоваться для:
- Создания озвучки для контента, такого как статьи, истории или обучающие материалы
- Генерации аудио на нескольких языках для глобальных приложений
- Предоставления аудио-обратной связи в приложениях в реальном времени через потоковую передачу
- Создания доступных интерфейсов для пользователей, которые предпочитают аудио тексту
Быстрый старт
Эндпоинт speech принимает три ключевых входных параметра: модель, текст для преобразования в аудио и голос, который нужно использовать. Простой запрос выглядит так:
from pathlib import Path
from openai import OpenAI
client = OpenAI(
api_key="your_api_key",
base_url="https://forgetapi.ru/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-файл с озвученным аудио, но его можно настроить для вывода в других форматах.
Варианты качества аудио
ForgetAPI предлагает два уровня качества для преобразования текста в речь:
- Стандартное качество (tts-1): Оптимизировано для приложений реального времени с низкой задержкой
- Высокое разрешение (tts-1-hd): Улучшенное качество звука с более естественным звучанием, идеально подходит для контента, готового к производству
Стандартная модель обеспечивает более быстрые ответы, в то время как HD-модель обеспечивает превосходное качество звука ценой несколько более высокой задержки.
Варианты голосов
ForgetAPI поддерживает широкий спектр голосов для соответствия вашим конкретным потребностям и предпочтениям аудитории:
- alloy: Универсальный, нейтральный голос со сбалансированным тоном
- ash: Теплый, зрелый голос с замечательной четкостью
- ballad: Плавный, мелодичный голос с мягкой интонацией
- coral: Яркий, дружелюбный голос с естественно бодрым звучанием
- echo: Более глубокий, авторитетный голос с отличной проекцией
- fable: Мягкий, успокаивающий голос с комфортным темпом
- onyx: Глубокий, резонирующий голос с исключительной теплотой
- nova: Профессиональный, четкий голос с точной артикуляцией
- sage: Вдумчивый, размеренный голос с созерцательным тоном
- shimmer: Легкий, энергичный голос с захватывающей подачей
- verse: Лирический, выразительный голос с динамическим диапазоном
Каждый голос имеет уникальные характеристики, которые могут лучше подходить для определенного контента. Мы рекомендуем экспериментировать с разными голосами, чтобы найти тот, который лучше всего соответствует желаемому тону и аудитории.
Примеры кода
Базовое преобразование текста в речь
from openai import OpenAI
client = OpenAI(
api_key="your_api_key",
base_url="https://forgetapi.ru/v1/"
)
response = client.audio.speech.create(
model="tts-1-hd",
voice="nova",
input="Добро пожаловать в сервис Text-to-Speech от ForgetAPI. Это пример голоса Nova."
)
with open("welcome_message.mp3", "wb") as file:
file.write(response.content)
Потоковая передача аудио в реальном времени
Для приложений, требующих немедленной аудио-обратной связи, вы можете потоково передавать аудио во время его генерации:
from openai import OpenAI
client = OpenAI(
api_key="your_api_key",
base_url="https://forgetapi.ru/v1/"
)
response = client.audio.speech.create(
model="tts-1",
voice="shimmer",
input="Это тест потоковой передачи для демонстрации генерации аудио в реальном времени. Аудио начинает воспроизводиться до того, как весь файл будет сгенерирован.",
)
# Потоковая передача в файл по мере получения фрагментов
response.stream_to_file("streaming_output.mp3")
Поддерживаемые форматы вывода
API TTS ForgetAPI поддерживает несколько аудиоформатов для удовлетворения ваших конкретных потребностей:
- MP3 (по умолчанию): Сбалансированное качество и размер файла для большинства приложений
- Opus: Оптимизирован для интернет-стриминга и коммуникаций с низкой задержкой
- AAC: Широко поддерживаемый формат для цифрового сжатия аудио
- FLAC: Сжатие аудио без потерь для сохранения высококачественного аудио
- WAV: Несжатое аудио, подходящее для профессионального редактирования
- PCM: Необработанные аудиосемплы (24 кГц, 16-битные со знаком, little-endian)
Пример указания формата вывода:
from openai import OpenAI
client = OpenAI(
api_key="your_api_key",
base_url="https://forgetapi.ru/v1/"
)
response = client.audio.speech.create(
model="tts-1-hd",
voice="coral",
input="Это аудиофайл FLAC со сжатием без потерь.",
response_format="flac"
)
with open("high_quality_speech.flac", "wb") as file:
file.write(response.content)
Поддержка нескольких языков
Система TTS ForgetAPI поддерживает широкий спектр языков, позволяя генерировать естественно звучащую речь на многих языках мира. Система оптимизирована для английского языка, но хорошо работает на многих других языках:
Афpикаанс, арабский, армянский, азербайджанский, белорусский, боснийский, болгарский, каталанский, китайский, хорватский, чешский, датский, голландский, английский, эстонский, финский, французский, галисийский, немецкий, греческий, иврит, хинди, венгерский, исландский, индонезийский, итальянский, японский, каннада, казахский, корейский, латышский, литовский, македонский, малайский, маратхи, маори, непальский, норвежский, персидский, польский, португальский, румынский, русский, сербский, словацкий, словенский, испанский, суахили, шведский, тагальский, тамильский, тайский, турецкий, украинский, урду, вьетнамский и валлийский.
Для генерации речи на конкретном языке просто предоставьте входной текст на этом языке:
from openai import OpenAI
client = OpenAI(
api_key="your_api_key",
base_url="https://forgetapi.ru/v1/"
)
response = client.audio.speech.create(
model="tts-1-hd",
voice="alloy",
input="Привет! Как у вас дела сегодня? Надеюсь, у вас замечательный день."
)
with open("russian_greeting.mp3", "wb") as file:
file.write(response.content)
Советы по продвинутому использованию
Темп речи и паузы
Вы можете использовать пунктуацию и форматирование для управления темпом генерируемой речи:
- Используйте запятые для коротких пауз
- Используйте точки для более длинных пауз
- Используйте разрывы строк для разрывов абзацев
- Используйте теги SSML, такие как <break time="1s"/> для точного управления временем (если поддерживается)
Контроль произношения
Для сложных слов или имен рассмотрите следующие подходы:
- Используйте фонетическое написание: "У пациента был миокардиальный инфаркт (произносится мио-кар-ди-аль-ный ин-фаркт), требующий немедленного внимания."
- Разбивайте слова на слоги дефисами: "Пожалуйста, свяжитесь с доктором Нг (произносится Эн-Джи) для получения дополнительной информации."
Оптимизация для производственного использования
Для производственных приложений:
- Кэшируйте часто используемые фразы, а не генерируйте их повторно
- Используйте потоковый API для приложений реального времени
- Рассмотрите возможность использования стандартной модели для более быстрой генерации, когда критична задержка
- Используйте HD-модель для контента, который будет повторно использоваться или требует более высокого качества