8-900-374-94-44
[email protected]
Slide Image
Меню

Yandex api speech: Учимся использовать API сервиса Yandex SpeechKit

«Яндекс» перешел на собственный движок распознавания речи

Интернет Веб-сервисы

|

Поделиться

    «Яндекс» объявил о переходе на Yandex SpeechKit — собственный движок распознавания русской речи в мобильных приложениях. Технология бесплатно предоставляется разработчикам с ограничением 10 тыс. запросов в день.

    «Яндекс» объявил о переходе на использование в мобильных приложениях технологии распознавания голоса собственной разработки под названием Yandex SpeechKit. До этого поисковик использовал для этих целей платформу, созданную компанией Nuance.

    Yandex SpeechKit работает в операционных системах iOS и Android, поддерживает, по словам создателей, две темы запросов: «общую» (все, что ищут в интернете) и «гео», связанную с поиском адресов, названий организаций и т.

    п.

    Голосовой ввод сейчас доступен только на русском языке, таким образом украинская и турецкая версии поисковика по-прежнему продолжают использовать движок Nuance.

    Библиотеки Yandex SpeechKit как для Android, так и для iOS разработчикам предоставляются бесплатно, однако число бесплатных запросов к движку распознавания голоса ограничено 10 тыс. запросов в день. Стоимость обращения при превышении этого числа не установлена, сообщили CNews в «Яндексе».

    Публикация Yandex SpeechKit именно для мобильных платформ, по словам руководителя проекта Дениса Филиппова, была обусловлена особенной актуальностью голосовых технологий « там, где есть сложности с текстовым вводом, а это прежде всего мобильные устройства». Но, говорит Филиппов, он думает и над созданием фреймворка и для десктопных приложений.

    5 команд на 1 продукт: как X5 выстроила рабочие процессы от визуализации и прозрачных взаимосвязей до работы с блокерами, WIP-лимитов и аналитики

    Бизнес-коммуникации

    По результатам внутренних исследований поисковика, Yandex SpeechKit способен верно распознавать 84% слов в «общепоисковой» категории и 94% слов – по геозапросам. Средняя скорость распознавания составляет 1,1 секунды.

    При создании Yandex SpeechKit было использовано около 300 часов мужской, женской и детской речи для обучения акустических моделей и «сотни миллионов специально подготовленных текстов» для обучения языковой модели.


    Руководитель проекта Yandex SpeechKit Денис Филиппов

    Стоит заметить, что API распознавания речи для мобильных устройств (но исключительно под управлением Android) предоставляется Google (API android.speech). В его описании ограничение на количество бесплатных обращений не встречается.

    • Российская неделя высоких технологий – 2023

    Владислав Мещеряков


    Как озвучить книгу при помощи SpeechKit API Yandex.Cloud | by Nikolay Matrosov

    Скрипт для озвучивания длинного текста.

    Для того начала нам нужно будет зарегистрироваться в Yandex Cloud и создать платежный аккаунт.

    Дальше нужно получить API ключ, при помощи которого мы будем авторизовывать наши запросы.

    Как получить API-ключ

    Откройте https://console.cloud.yandex.ru/cloud

    Кликните на фолдер

    Далее в левом меню перейдите на вкладку Сервисные аккаунты.

    Нам потребуется создать один. У меня уже он есть, но вот подробная инструкция как создать еще один:

    Кликните на кнопку «Создать сервисный аккаунт»

    Задайте ему имя и добавьте роль editor.

    После этого клините в только что созданный аккаунт и создайте новый API-ключ.

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

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

    Пример на Python

    Код на Python 3.8 для озвучивания текста. Для примера я взял текст А.С. Пушкина из Повестей Белкина, потому что он уже в public domain и на него не распространяются авторские права. Текст я сохранил в кодировке utf-8 и немного почистил от сносок. Так же оставил только русские переводы французских фраз, так как SpeechKit не поддерживает французский язык.

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

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

    Размер выбранного произведения — 22 тыс. знаков. Озвучивание его при помощи премиального голоса Филипп обошлось в 27₽.

    Этот скрипт побьет текст на предложения, озвучит их в SpeechKit и потом склеит результат при помощи ffmpeg.

    Как установить ffmpeg на ваш компьютер можно посмотреть тут.

    Весь код примера на гитхаб.

    Кстати если вам хочется получить вместо Ogg Opus файла обычный MP3, то сделать это можно при помощи того же ffmpeg.

    Для этого нужно выполнить следующую команду

    ffmpeg -i out/output.ogg -acodec libmp3lame out/output.mp3

    После этого в терминале вы увидите примерно следющее

    ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
    built with Apple clang version 12.0.0 (clang-1200.0.32.28)
    configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3.1_9 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack
    libavutil 56. 51.100 / 56. 51.100
    libavcodec 58. 91.100 / 58. 91.100
    libavformat 58. 45.100 / 58. 45.100
    libavdevice 58. 10.100 / 58. 10.100
    libavfilter 7. 85.100 / 7. 85.100
    libavresample 4. 0. 0 / 4. 0. 0
    libswscale 5. 7.100 / 5. 7.100
    libswresample 3. 7.100 / 3. 7.100
    libpostproc 55. 7.100 / 55. 7.100
    Input #0, ogg, from 'out/output.ogg':
    Duration: 00:25:40.29, start: 0.006500, bitrate: 85 kb/s
    Stream #0:0: Audio: opus, 48000 Hz, mono, fltp
    Metadata:
    encoder : Lavf57.56.100
    Stream mapping:
    Stream #0:0 -> #0:0 (opus (native) -> mp3 (libmp3lame))
    Press [q] to stop, [?] for help
    Output #0, mp3, to 'output.mp3':
    Metadata:
    TSSE : Lavf58.45.100
    Stream #0:0: Audio: mp3 (libmp3lame), 48000 Hz, mono, fltp
    Metadata:
    encoder : Lavc58.91.100 libmp3lame
    size= 12039kB time=00:25:40.29 bitrate= 64.0kbits/s speed=87.9x
    video:0kB audio:12039kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0. 001922%

    Как видно наш исходный поток opus, 48000 Hz, mono, 85 kb/s был пережат в mp3 с параметрами mp3 (libmp3lame), 48000 Hz, mono, fltp 64.0kbits/s .

    Дьявол кроется в деталях, так что для получения действительно качественного продукта придется хорошо подготовить текст и вероятно внимательно отслушать результат. Удачных экспериментов.

    Выпущен плагин Yandex SR 1.6.0

    Powered by Universal Speech Solutions LLC

    Выпущен плагин Yandex Speech Recognition (SR) 1.6.0 для сервера UniMRCP (UMS).

    Плагин основан на следующих компонентах:

    • UniMRCP Server 1.7.0
    • Yandex SpeechKit Speech to Text API v2
    • gRPC 1.30.2
    • Протобуф 3.12.2
    • Либевент 2.1.9
    • Рапидджсон 1.1.0

    В настоящее время бинарники доступны для следующих дистрибутивов Linux:

    • Red Hat / CentOS 7 (unimrcp-yandex-sr-1.7.1-1.el7.x86_64.rpm)
    • Ubuntu 16.04 LTS (unimrcp-yandex-sr_1.
      7.1-xenial_amd64.deb)
    • Ubuntu 18.04 LTS (unimrcp-yandex-sr_1.7.1-bionic_amd64.deb)

    Этот выпуск создан для более новых версий gRPC, Protobuf и API Яндекса/Google. В выпуске представлено множество дополнительных функций и улучшений существующей функциональности.

    Ниже приводится подробный список изменений, внесенных в этот выпуск.

    Новые возможности
    • Добавлена ​​поддержка фильтра ненормативной лексики.
    • Если для параметра конфигурации «use-logging-tag» задано значение «true», поле заголовка Logging-Tag, если оно указано, используется в качестве суффикса при составлении имен файлов высказываний и RDR.
    • Если указан параметр конфигурации stream-creation-timeout, устанавливается таймер для отслеживания создания потока gRPC. Если служба недоступна или недоступна из-за проблемы с сетью, таймер позволяет своевременно ответить ошибкой, не дожидаясь истечения установленного по умолчанию срока gRPC.
    • Реализовано перенаправление журналов, созданных библиотекой gRPC. Эта функция отключена по умолчанию, и ею можно управлять с помощью новых параметров конфигурации «grpc-log-redirection», «grpc-log-verbosity» и «grpc-log-trace».
    • Добавлена ​​поддержка прокси-сервера HTTP при обмене данными с серверами лицензий, доступными как услуга.
    • Добавлена ​​поддержка некоторых параметров, зависящих от поставщика, в том числе «speech-start-timeout». См. раздел 4.7 в Руководстве по использованию.
    • Сделана настраиваемая область XML SRGS по умолчанию. По умолчанию область считается «строгой», но может неявно использоваться как «подсказка», если для нового параметра конфигурации «match-srgs» установлено значение «false».
    • Добавлена ​​поддержка тайм-аута между результатами. Если указанный тайм-аут истек, ввод считается завершенным. Время ожидания по умолчанию равно 0 (отключено) и может быть переопределено для каждого запроса на распознавание.
    Исправленные проблемы
    • Составьте поле заголовка Waveform-URI на основе версии протокола. Раньше безоговорочно использовался формат, определенный в MRCPv2.
    • Установите параметры прокси-сервера HTTP не только для gRPC, но и для запросов аутентификации.
    • Заменено «x-request-id» на «x-client-request-id» и «x-enable-data-logging-enabled» на «x-data-logging-enabled», чтобы отразить изменения в Yandex SpeechKit API.
    • Изменена обработка окончания высказывания с учетом изменений в API Яндекса SpeechKit.
    Параметры конфигурации
    • Добавлен новый атрибут ‘match-srgs’ к элементу ‘streaming-recognition’. Атрибут по умолчанию имеет значение «истина».
    • Добавлен новый атрибут ‘stream-creation-timeout’ в элемент ‘streaming-recognition’. Атрибут по умолчанию равен 0 (не установлен).
    • Добавлены новые атрибуты «grpc-log-redirection», «grpc-log-verbosity» и «grpc-log-trace» для элемента «streaming-recognition».
    • Добавлены новые атрибуты ‘http-proxy-address’ и ‘http-proxy-port’ в элемент ‘license-server’.
    • Добавлен новый атрибут use-logging-tag для элементов utterance-manager и rdr-manager.
    • Добавлен новый атрибут inter-result-timeout для элемента ‘streaming-recognition’.
    • Изменены значения по умолчанию для параметра «время ожидания неполной речи» с 3000 мс до 15000 мс, а для параметра «время ожидания ввода» — с 10000 мс до 30000 мс.
    Разное
    • Обновлена ​​библиотека gRPC с версии 1.20.0 до версии 1.30.2.
    • Обновлена ​​библиотека Protobuf с версии 3.7.0 до версии 3.12.2.
    • Добавлена ​​зависимость от API Google, используемых внутри API Яндекса.
    • Обновлено Руководство по использованию, чтобы отразить изменения, внесенные в этот выпуск.

    Посетите страницу плагина Yandex SR для получения дополнительной информации.

    http://www.unimrcp.org/ysr

    Спасибо за использование UniMRCP.


    Арсен Чалоян
    Автор UniMRCP
    http://www.unimrcp.org

    Последние новости


    Опубликованные пакеты Ubuntu 22.

    04 LTS

    Обратите внимание, что бинарные пакеты для Ubuntu 22.04 LTS были опубликованы и могут быть получены через следующий репозиторий APT. …Подробнее

    Просмотреть все сообщения

    © Copyright 2008 — 2023 Арсен Чалоян

    Вернуться к началу

    Yandex Translate — Classic Docs

    Classic Docs

    Поиск

    3

    0 8 ​

    Этот компонент нужен доступ в Интернет, так как он будет запрашивать переводы в сервисе Яндекс Переводчик. См. http://api.yandex.com/translate/ для получения дополнительной информации

    Компонент Yandex Translate используется в примере приложения ThunkableChat: Чат с мгновенным переводом 55

    Запросить перевод ( язык для перевода, текст для перевода)

    Запрашивает перевод в сервис Яндекс Переводчик с указанием текста для перевода и языка для перевода текста. Язык должен быть указан в двухзначном коде, например. ‘en’ для английского, а список поддерживаемых языков приведен ниже. Яндекс Переводчик попытается определить исходный язык. Вы также можете указать язык для перевода, т. е. «es-ru» укажет испанский на русский

    Got Translation (responseCode, translation)

    Событие, срабатывающее, когда сервис Яндекс Переводчик возвращает переведенный текст. Даже также предоставляет код ответа для обработки ошибок. Если responseCode не равен 200, то что-то пошло не так и перевод будет недоступен. Вы можете оформить свой ключ на Яндекс

    По данным Яндекса, доступно более 90 языков, включая нижеуказанные

    Bangla 55

    Код языка

    Датский

    англ.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *