Розпізнавання мови на RPI2 за допомогою Google Speech API

Нещодавно мені прийшла ідея зробити деяке пристосування, здатне керуватися голосовими командами і виконувати певні дії. Для реалізації цієї витівки я придбав мікрокомп'ютер Raspberry PI 2 та зовнішню аудіокарту, а також використовував мікрофон від навушників.

З придбанням всіх необхідних компонентів я кинувся писати код, але зіткнувся з безліччю проблем, більшість із них було пов'язано з доступом до мікрофону, а також бібліотекою для python pyAudio.

Я вважаю, що вирішення проблем може бути окремою статтею. Зрештою я прийшов до використання бібліотеки системи спільно з утилітою ALSA (arecord, aplay).

Підключення всіх необхідних бібліотек

Відразу хочу додати, що в цій статті не йдеться про потокове розпізнавання.

Необхідні функції для запису та конвертації записаного файлу у різні формати:

А ось і сам запит на сервери Google.

Ключ для api необхідно отримати тут (ключ для сервера), і підключити до кабінету speech api тут

Потім структура коду

Світлодіоди підключені таким чином:

rpi2

Таким чином ми зробили установку, яка дозволяє активувати різні пристрої за допомогою голосових команд.