umbot - v2.0.8
    Preparing search index...

    Class YandexSpeechKit

    Класс отвечающий за преобразование текста в аудио файл. Преобразование осуществляется через сервис Yandex SpeechKit.

    import { YandexSpeechKit } from './api/YandexSpeechKit';

    // Создание экземпляра с токеном
    const speechKit = new YandexSpeechKit('your-oauth-token');

    // Настройка параметров синтеза
    speechKit.lang = YandexSpeechKit.L_RU; // Русский язык
    speechKit.voice = YandexSpeechKit.V_JANE; // Голос Jane
    speechKit.emotion = YandexSpeechKit.E_GOOD; // Доброжелательная интонация
    speechKit.speed = 1.2; // Скорость речи
    speechKit.format = YandexSpeechKit.F_OGGOPUS; // Формат OGG/OPUS

    try {
    // Пример с омографами и паузами
    const text = 'Я гот+ов - начать работу';
    const audio = await speechKit.getTts(text);

    // Сохранение или воспроизведение аудио
    // audio содержит бинарные данные в выбранном формате
    } catch (error) {
    console.error('Ошибка синтеза речи:', error);
    }

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    TTS_API_URL: "https://tts.api.cloud.yandex.net/speech/v1/tts:synthesize" = 'https://tts.api.cloud.yandex.net/speech/v1/tts:synthesize'

    Адрес, на который будет отправляться запрос

    E_GOOD: "good" = 'good'

    Положительная интонация

    E_EVIL: "evil" = 'evil'

    Отрицательная интонация

    E_NEUTRAL: "neutral" = 'neutral'

    Нейтральная интонация

    V_OKSANA: "oksana" = 'oksana'

    Голос для синтеза речи Оксана (ru)

    V_JANE: "jane" = 'jane'

    Голос для синтеза речи Джейн (ru)

    V_OMAZH: "omazh" = 'omazh'

    Голос для синтеза речи Омазж (ru)

    V_ZAHAR: "zahar" = 'zahar'

    Голос для синтеза речи Захар (ru)

    V_ERMIL: "ermil" = 'ermil'

    Голос для синтеза речи Ермил (ru)

    V_SILAERKAN: "silaerkan" = 'silaerkan'

    Голос для синтеза речи Сильвер (tr)

    V_ERKANYAVAS: "erkanyavas" = 'erkanyavas'

    Голос для синтеза речи Эркан (tr)

    V_ALYSS: "alyss" = 'alyss'

    Голос для синтеза речи Элис (en)

    V_NICK: "nick" = 'nick'

    Голос для синтеза речи Ник (en)

    V_ALENA: "alena" = 'alena'

    Голос для синтеза речи Алена (ru)

    V_FILIPP: "filipp" = 'filipp'

    Голос для синтеза речи Филипп (ru)

    L_RU: "ru-RU" = 'ru-RU'

    Русский язык

    L_EN: "en_EN" = 'en_EN'

    Английский язык

    L_TR: "tr-TR" = 'tr-TR'

    Турецкий язык

    F_LPCM: "lpcm" = 'lpcm'

    Формат файла lpcm

    format

    F_OGGOPUS: "oggopus" = 'oggopus'

    Формат файла oggopus

    format

    text: undefined | string

    Текст для озвучивания в кодировке UTF-8 Можно использовать только одно из полей text и ssml Для передачи слов-омографов используйте + перед ударной гласной Например: гот+ов или def+ect Для паузы между словами используйте - Максимальная длина: 5000 символов

    lang: string

    Язык синтеза речи ru-RU (по умолчанию) - русский en-US - английский tr-TR - турецкий

    voice: string

    Голос для синтеза речи По умолчанию: oksana

    V_OKSANA, V_JANE, V_OMAZH и другие константы

    emotion: string

    Эмоциональная окраска голоса Поддерживается только для ru-RU и голосов jane/omazh good - доброжелательный evil - злой neutral (по умолчанию) - нейтральный

    speed: number

    Скорость синтеза речи От 0.1 до 3.0 3.0 - самый быстрый 1.0 (по умолчанию) - средняя скорость 0.1 - самый медленный Не поддерживается для премиум-голосов

    format: string

    Формат синтезируемого аудио lpcm - без WAV-заголовка oggopus (по умолчанию) - OGG контейнер с OPUS кодеком

    sampleRateHertz: undefined | number

    Частота дискретизации для формата lpcm Поддерживаемые значения:

    • 48000 (по умолчанию) - 48 кГц, высокое качество
    • 16000 - 16 кГц, среднее качество
    • 8000 - 8 кГц, низкое качество, подходит для телефонии

    Параметр используется только при format = YandexSpeechKit.F_LPCM Для format = YandexSpeechKit.F_OGGOPUS игнорируется

    folderId: null | number

    Идентификатор каталога для авторизации Требуется только для пользовательского аккаунта Максимум 50 символов

    Methods

    • Устанавливает OAuth-токен для авторизации

      Обновляет токен авторизации и заголовки запросов. При установке токена автоматически добавляется заголовок 'Authorization: OAuth {token}' ко всем последующим запросам.

      Parameters

      • oauth: null | string

        OAuth-токен для авторизации

      Returns void

      • Если передать null, авторизация будет отключена
      • Заголовок авторизации добавляется автоматически
      • Токен сохраняется для всех последующих запросов
      const api = new YandexRequest();

      // Установка нового токена
      api.setOAuth('new-token');
      // Теперь все запросы будут с заголовком:
      // Authorization: OAuth new-token

      // Сброс токена
      api.setOAuth(null);
      // Запросы будут без авторизации
    • Выполняет HTTP-запрос к API Яндекса

      Отправляет запрос к указанному эндпоинту API и обрабатывает полученный ответ.

      Type Parameters

      • T extends IYandexApi

        Тип ожидаемого ответа, наследующий интерфейс IYandexApi

      Parameters

      • Optionalurl: null | string = null

        URL-адрес эндпоинта API

      Returns Promise<null | T>

      • Результат запроса или null в случае ошибки

      Если произошла ошибка сети или сервера

      interface MyApiResponse extends IYandexApi {
      data: {
      id: string;
      name: string;
      };
      }

      const api = new YandexRequest('token');

      try {
      // Выполнение запроса
      const response = await api.call<MyApiResponse>('https://api.yandex.ru/endpoint');

      if (response) {
      // Обработка успешного ответа
      console.log('ID:', response.data.id);
      console.log('Name:', response.data.name);
      } else {
      // Обработка ошибки API
      console.error('Ошибка API:', api._error);
      }
      } catch (error) {
      // Обработка ошибок сети или сервера
      console.error('Ошибка запроса:', error);
      }
    • Получение голосового текста

      Parameters

      • text: null | string = null

        Текст для преобразования в речь

      Returns Promise<any>

      Бинарные данные аудиофайла

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

      • F_LPCM: RAW PCM без WAV-заголовка
      • F_OGGOPUS: OGG контейнер с OPUS кодеком (рекомендуется)

      Особенности текста:

      • Для омографов используйте + перед ударной гласной: гот+ов, з+амок
      • Для паузы между словами используйте -: слово - слово
      • Максимальная длина текста: 5000 символов

      Ограничения:

      • Эмоции (emotion) поддерживаются только для ru-RU и голосов jane/omazh
      • Скорость (speed) не поддерживается для премиум-голосов (alena, filipp)
      // Пример с LPCM форматом
      speechKit.format = YandexSpeechKit.F_LPCM;
      speechKit.sampleRateHertz = 16000;
      const pcmAudio = await speechKit.getTts('Текст для синтеза');

      // Пример с OGG/OPUS
      speechKit.format = YandexSpeechKit.F_OGGOPUS;
      const oggAudio = await speechKit.getTts('Текст для синтеза');