Приступая к работе. Аудио возможности ReSpeaker WiFi платы, распознавания голоса и синтеза речи


ReSpeaker является платой для разработки сочетающей в себе Atmel AVR MCU, модуль MediaTek MT7688 WiFi и работающая на OpenWrt, с встроенным микрофоном, аудио — разъемом I / O, для голосового управления  для приложений IoT. Это означает , что вы можете сделать свой собственный Amazon Echo используя плату  и дополнения, использовать его в качестве шлюза для домашней автоматизации с голосовым контролем и многое другое. Плата была запущена на Kickstarter несколько дней назад, и уже подняла $ 100,000 от приблизительно 100 участников, но я получил ранний образец, так что я буду предоставлять более подробную информацию о прошивке, и показывать, как использовать с некоторыми сценариями Python используя Microsoft Bing Speech API.

Нажмите, чтобы увеличить

Вам нужен микро-USB к кабелю USB для подключения к компьютеру (Linux, Windows, Mac OS …), и динамик для подключения к плате. Linux (OpenWrt) загружается в течение нескольких секунд, и как только это будет сделано все RGB LED будут постоянно мигать.

Я использую компьютер под управлением Ubuntu 16.04 и ReSpeaker определяется системой как плата Arduino Leonardo:

Это не обязательно, но если вы хотите, вы можете получить доступ к последовательной консоли, с программами Minicom, экран  или HyperTerminal и установить соединение с 57600 8N1 для доступа к командной строке. Вот полный лог загрузки:

При последовательном соединении будет не хватать некоторых символов. Это происходит с двумя компьютерами и различными USB-кабелями. Надеюсь, это либо конкретно проблема с моим образцом, или, эта проблема будет исправлена, когда начнется доставка покровителям Kickstarter [Update: Компания объяснила мне, что это потому, что 32u4 Atmel и Mediatek MT7688 разделяют один и тот же порт USB ].Таким образом, вместо того, чтобы использовать последовательную консоль, я буду использовать SSH вместо того, что означает, что я должен подключиться к точке доступа Wi-Fi ReSpeaker и настроить его.

LinkIt_Smart_Access_Point

ReSpeaker покажет , как LinkIt_Smart_7688_XXXXX, так как модуль WiFi точно такой же , как в LinkIt 7688 IoT и неудивительно , что интерфейс конфигурации точно такой же.

ReSpeaker_WiFi_PasswordСначала установите пароль и войти в систему с этим паролем.

ReSpeaker_Station_Mode_OpenWrt_LUCI

Затем перейдите на вкладку Сеть, выберите режим станции, а также подключиться к точке доступа, введя свой пароль. Нажмите кнопку Настроить. Как вы можете видеть справа выше, вы можете также использовать интерфейс LUCI OpenWRT для настройки сети.

Теперь нужно найти ReSpeaker IP-адрес через свой список Маршрутизатор DHCP-клиента, АРП-сканирования, или другим способом:

Теперь вы можете подключить к плате через SSH:

и использовать пароль, установленный в веб-интерфейсе.

Теперь давайте проверим некоторую информацию CPU:

У нас есть процессор Mediatek NT7688 MIPS24K как рекламируется, так что давайте проверим несколько более подробно:

Плата работает на Linux 3.18.23, имеет 7.6Mb объем доступной памяти, а также 128 Мб оперативной памяти в общей сложности.

Я не буду проверять звуковые функции с помощью сценария Python, у меня нет ReSpeaker микрофона и я должен быть довольно близко к микрофону для того , чтобы всё поучилось максимум один метр или объем будет очень низким.

Я начну проверять аудио записи и воспроизведение с любыми требованиями API или доступом в Интернет.
Мы можем записывать звук с частотой дискретизации 16000, 16 бит, шириной 1 канала с помощью следующей команды

и воспроизвести его с помощью APlay:

Он работает хорошо.

Теперь мы можем проверить  несколько сценариев Python по преобразованию текста в речь и речи в текст. Вы можете получить сценарии из ReSpeaker GitHub и установить его:

Сценарий использует Microsoft Speech API, но в теории вы можете использовать любой другой речевой API. Так какSeeed студия уже сделали всю тяжелую работу, я просто применил ключ Peech API Microsoft для того , чтобы использовать демо:

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

Вы найдете три сценария Python в каталоге , а именно: bing_voice.py , bing_stt_with_vad.pytts.py . Посмотрите на BING_KEY внутри каждого скрипта, и вставить свой собственный ключ.

Время, чтобы повеселиться, начинаем с преобразования речи в текст:

Это довольно медленно потребуется около 15 секунд, а затем есть несколько сообщение об ошибке, прежде чем вы сможете увидеть сообщение «* запись», и вы можете говорить. «Bing:你好».Китайский? Да, в настоящее время по умолчанию язык является китайским, но вы можете отредактировать bing_stt_with_vad.py , и изменить язык замены ZH-CN по EN-US, или другие строки языка:

Английский тоже работает (вроде):

В первом предложении, я сказал: «Привет, мир! Добро пожаловать на CNX Software сегодня «, но вышло как» привет мир следующего программного обеспечения «, может быть, из-за моего акцента, но я сомневаюсь в этом …

Тогда я хотел бы попробовать тайский язык, но я получил отказ API просто потому , что количество поддерживаемых языков с помощью Microsoft Speeach API ограничен , теми что показаны в таблице ниже.

language-Country language-Country language-Country language-Country
ar-EG* en-IN fr-FR pt-BR
ca-ES en-NZ it-IT pt-PT
da-DK en-US ja-JP ru-RU
de-DE es-ES ko-KR sv-SE
en-AU es-MX nb-NO zh-CN
en-CA fi-FI nl-NL zh-HK
en-GB fr-CA pl-PL zh-TW

 

Если ваш язык не перечислен здесь, то вы могли бы воспользоваться Google Speech API вместо этого Seeed Studio уже написали совместимые сценарии ReSpeaker для тех кто участвовал в сборе средств.

Так что теперь вы знаете , как конвертировать ваш голос в текст, и вы можете использовать этот текст для веб — поиска, или переключения GPIOs, но вы также можете получить аудио ответ на ваши действия, и tts.py сценарий очень прост в использовании:

Не особо реалистично, но по крайней мере я мог понять женский голос в динамиках. Просматривая сценарии я не видел каких — либо настроек языка, поэтому я предполагаю , что API будет автоматически определять язык. В конце концов я обнаружил , что вы можете изменить язык в bing_voice.py сценарии:

Я заменил женский голос США, но французский мужской голос:

Комментарии:

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.