Это интеллектуальная колонка на основе облачного распознавания речи, которую можно рассматривать как устройство, подобное Amazon Echo или Xiaomingtong и Tmall Elf. В отличие от них, она не основана на встроенной Linux, а реализована исключительно на микроконтроллере и операционной системе FreeRTOS.
Основным чипом устройства является STM32F407VET6, WM8978, ESP8266, которые выполняют функции главного управления, аудио DA/ADC и сетевой коммуникации соответственно. Кроме того, требуется SD-карта для обеспечения функций хранения записей и музыки.
В настоящее время проект сталкивается с проблемой низкой скорости распознавания из-за ограниченной пропускной способности сети ESP8266. Также невозможно реализовать функцию онлайн-воспроизведения музыки (что наиболее обидно).
Однако это, вероятно, лучшая реализация на основе микроконтроллера на данный момент. Эффект работы.
— В каталоге Audio хранится код, связанный с аудио, например, драйвер WM8978, декодирование, воспроизведение и запись аудио. Он включает в себя стороннюю библиотеку MP3-декодера HelixMP3Decoder. — Каталог Fatfs содержит код файловой системы Fatfs, который требует использования SD-карты. — В каталоге File хранятся принципиальные схемы системы, а также каталог SmartSpeaker, который необходимо скопировать в корневой каталог SD-карты. Этот каталог содержит файлы WAV, используемые для подсказок. — В каталоге FreeRTOS находится код FreeRTOS. — Led каталог содержит пример управления светодиодами в зависимости от результатов распознавания. Во время воспроизведения музыки также проводится спектральный анализ музыки, что позволяет изменять цвет светодиодов. — Libraries каталог содержит некоторые библиотеки для серии STM32f4. — MDK — это каталог файлов проекта. — Network каталог содержит код, связанный с сетевыми операциями, такими как упаковка драйвера последовательного порта ESP8266, кодирование, сетевая связь и т. д. — Peripherals каталог содержит драйверы для внешних устройств STM32f4, некоторые из которых тесно связаны с FreeRTOS, например, драйверы последовательного порта. — Public каталог содержит некоторые базовые функциональные функции, такие как функции ведения журнала. — Shell каталог содержит простую реализацию человеко-машинного взаимодействия. Благодаря наличию этого кода мы можем использовать Xshell и другие программы для входа в STM32 через последовательный порт и выполнять некоторые простые команды, подобно работе с системой Linux. Более того, перенос этой оболочки очень прост, вам нужно только предоставить функции getchar, putchar и puts на нижнем уровне.
Чтобы подключиться к Wi-Fi, необходимо настроить вашу сеть Wi-Fi в файле network.c. Чтобы получить доступ к службе распознавания речи Baidu Cloud, необходимо зарегистрировать учётную запись разработчика Baidu и получить токен. Затем необходимо настроить этот токен в netvoc.c.
После завершения инициализации оборудования и запуска FreeRTOS, WM8978 начинает собирать аудиосигналы из окружающей среды. Здесь используется простой алгоритм VAD на основе кратковременной нулевой частоты и энергии звуковой волны для автоматического записи. После завершения записи записанный речевой файл отправляется на сервер распознавания речи Baidu Cloud для распознавания, и результаты распознавания принимаются. Затем выполняются соответствующие операции в соответствии с результатами, такие как воспроизведение музыки и т.д., что обеспечивает высокую степень расширения.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )