LC Technology LD3320 Модуль распознавания речи/голоса Chi Eng – Flux Workshop
Технология ЖК
-
Цена за единицу за
- Флюс Артикул:
BJAA100017 - Длина (мм):
44 - Ширина (мм):
29 - Высота (мм):
15 - Торговая марка:
LC Technology - Основной цвет:
Синий - Страна производитель:
Китай - MPN:
LC-Voice-LD3320 - UPC:
Не применяется - Минимальная рабочая температура:
-40°C - Максимальная рабочая температура:
85°C - Количество позиций:
1 - Шаг контактов:
2,54 мм - Номинальная мощность модуля:
Выходная мощность 20/550 мВт - Формат:
SPI - Образец:
Китайская речь/синтетические английские символы - Отмеченные бортовые компоненты:
16-битный аналого-цифровой преобразователь
Усилитель
Микрофон - Известная программная база/функции:
Независимое от говорящего автоматическое распознавание речи
Этот модуль идеально подходит для добавления распознавания голоса в ваш проект. Основанный на наборе микросхем LD3320, модуль способен интерпретировать простые голосовые команды и сравнивать их с сохраненными значениями. В дополнение к распознаванию модуль может в некоторой степени обеспечивать воспроизведение, синтезируя китайский и английский языки. 9
Продано
Future Kit Адаптер телефонной трубки — набор «Сделай сам» — FK310
Обычная цена 9,19 фунтов стерлингов 9,19 фунтов стерлингов
LC Technology PT2314 4-канальный модуль аудиопроцессора
Обычная цена 6,99 фунтов стерлингов 6,99 фунтов стерлингов
Future Kit Стерео аудиоусилитель — набор для сборки — 20+20 Вт, класс D, 12 В — FK683
Обычная цена 16,99 фунтов стерлингов £16,99
Продано
Future Kit Моно-аудиоусилитель — комплект для сборки — 100 Вт, класс AB, 50 В — FK666
Обычная цена 34,59 фунтов стерлингов £34,59
LD3320 Модуль распознавания китайской речи и MP3-плеера
0,00 сред.
ОБНОВЛЕНО (март 2018 г.): Английскую версию таблицы данных можно найти здесь.
После моего предыдущего успеха в приобретении SYN6288, китайской микросхемы преобразования текста в речь, для воспроизведения удовлетворительной китайской речи и произношения синтетических английских символов, я приобрел LD3320, еще один китайский голосовой модуль, обеспечивающий распознавание речи, а также воспроизведение MP3. возможности.
Механизм распознавания китайского голоса модуля может быть инициализирован транслитерацией пиньинь китайского текста, который необходимо распознать. Затем модуль будет прослушивать звук, отправленный на его входной канал (либо с микрофона, либо с линейного входа), чтобы идентифицировать любой голос, напоминающий запрограммированный список китайских слов, отправленный во время инициализации. Звук во время воспроизведения MP3 отправляется через контакты наушников/линейного выхода (стерео) и динамика (моно).
Обмен данными с модулем осуществляется с использованием либо проприетарного параллельного протокола, либо SPI. 9Разрешение записи (режим параллельного ввода) / подключение к GND в последовательном режимеP0 Бит данных 0 для режима параллельного ввода / контакт SDI в последовательном режиме
P1 Бит данных 1 для режима параллельного ввода/ контакт SDO в последовательном режиме
P2 Бит данных 2 для параллельный режим ввода / вывод SDCK в последовательном режиме
P3 Бит данных 3 для режима параллельного ввода
P4 Бит данных 4 для режима параллельного ввода
P5 Бит данных 5 для режима параллельного ввода
P6 Бит данных 6 для режима параллельного ввода
MBS Смещение микрофона
MONO Моно Линейный вход
LINL/LINR Стерео линейный вход (левый/правый)
HPOL/HPOR Выход для наушников (левый/правый линейный)
LOUTR/LOUL справа)
MICP/MICN Вход микрофона (поз. /отрицательный)
SPOP/SPON Выход динамика (поз./отрицательный)
Кристалл МГц. Никаких внешних компонентов не требуется, даже для линий аудиовхода/выхода, так как коммутационная плата уже содержит все необходимые детали. 9к GND и используйте контакты P0, P1 и P2 для SDI, SDO и SDCK соответственно. Для простоты оставшаяся часть этой статьи будет использовать SPI для связи с этим модулем.
Официальную документацию (только на китайском языке) можно найти на веб-сайте icroute. Китайский техпаспорт можно скачать здесь. С помощью onlinedoctranslator я сделал английский перевод, который можно скачать здесь.
Проблемы с коммутационной платой
Прежде чем приступить к изучению LD3320, обратите внимание на возможные проблемы с печатной платой, приводящие к подаче неправильных сигналов на ИС и приводящие к потере драгоценного времени на отладку схемы. В моем случае, после компиляции и запуска примера программы на моем микроконтроллере PIC только для того, чтобы обнаружить, что она не работает, я провел почти день, проверяя различные соединения и коды инициализации, но безрезультатно. Я мог бы легко отлаживать до скончания века и все равно не смог бы заставить его работать, если бы случайно не заметил синусоиду 22,1184 МГц на выводе, помеченном как WRB, что вызвало подозрение, что трассировка печатной платы может иметь проблемы.
Я решил использовать мультиметр и перепроверил соединения между маркированными контактами на контактных разъемах и фактическими контактами на микросхеме, обращаясь к конфигурации контактов LD3320, описанной в техническом описании:
Это описание контактов, напечатанное на соединительный разъем на задней стороне платы:
К моему удивлению, кроме контактов GND/VDD, которые, к счастью, правильно помечены (иначе я мог бы повредить модуль, подав питание в обратной полярности), остальные метки контактов в левой и правой колонках левого заголовка подключения поменялись местами! Например, RSTB должен быть INTB, CLK должен быть WRB и наоборот. Это объясняет, почему я получил тактовый сигнал на выводе WRB, когда их метки поменялись местами! Правильная маркировка этих контактов должна быть:
Для правой и нижней соединительных колодок маркировка правильная. Однако дальнейшие тесты показали, что конденсаторный микрофон подключен в обратной полярности и что между микрофоном и LD3320 есть несколько других проблем с подключением. Соединения на печатной плате не соответствовали схемам платы, что могло указывать на неисправность печатной платы или несоответствие схемы. В любом случае, микрофонный вход по-прежнему не мог работать даже с заменой ECM, и я смог заставить его работать только с помощью линейного входа (подробнее об этом позже) после удаления ECM с платы. Наличие микрофона, даже если он не используется, будет мешать входному каналу линейного входа и препятствовать работе модуля.
Поэтому, прежде чем подавать питание на плату, убедитесь, что маркировка контактов правильная, или, по крайней мере, проверьте правильность маркировки контактов VDD и GND. Кроме того, ваша плата может не иметь проблем или иметь проблемы, отличные от описанных выше.
Распознавание речи
Несколько примеров, которые я нашел для этой ИС, взяты из драйвера coocox LD3320 и некоторых кодов 8051, которые можно загрузить отсюда.
1. Сбросьте модуль, потянув контакт RST на низкий уровень, а затем на короткое время на высокий уровень.
2. Инициализируйте модуль для режима ASR (автоматического распознавания речи). В частности, установите входной канал, который будет использоваться для распознавания речи.
3. Инициализируйте список распознаваемых китайских слов. Для каждого китайского слова отправьте пиньинь-транслитерацию слова (без знаков тона) в ASCII (например, bei jing для 北京) и соответствующий код (число от 1 до 255), чтобы идентифицировать это слово. Коды слов в списке не обязательно должны быть непрерывными, и несколько слов могут иметь один и тот же идентификационный код.
4. Найдите прерывание на выводе INTB, которое сработает при обнаружении голоса на входном канале.
5. Когда произойдет прерывание, дайте указание LD3320 выполнить распознавание речи, которое проанализирует обнаруженный голос на наличие любых шаблонов, подобных списку китайских слов, запрограммированному на шаге 3. Если совпадение будет найдено, чип вернет идентификационный код. ассоциируется со словом.
6. После завершения задачи распознавания речи вернитесь к шагу 1, чтобы подготовиться к другой задаче распознавания.
Чтобы указать, какой входной канал будет использоваться для распознавания речи, используйте регистр 0x1C (управление переключением АЦП). Запишите 0x0B для микрофонного входа (выводы MICP/MIN), 0x07 для стереовхода (выводы LINL/LINR) и 0x23 для моновхода (выводы MONO).
В моих тестах, поскольку входной канал микрофона не может быть использован из-за проблем с печатной платой, упомянутых выше, я использовал входные стереоканалы с ECM и схемой предусилителя на одном транзисторе NPN. Затем выход этой схемы подключается к контактам аудиовхода LINL/LINR LD3320. Ниже представлена схема предусилителя:
Для достижения максимально возможного качества распознавания несколько регистров LD3320 используются для настройки чувствительности и избирательности процесса распознавания:
- Регистр 0x32 (усиление АЦП) может быть установлен на значения от 00 до 7Fh. Чем больше значение, тем больше усиление входного звука и тем более чувствительно распознавание. Однако более высокие значения могут привести к увеличению шума и ошибочной идентификации. Установите 10H-2FH для шумной среды. В других случаях установите между 40H-55H.
- Регистр 0xB3 (обнаружение голосовой активности ASR). Если установлено значение 0 (отключить), все звуки, обнаруженные на входном канале, будут восприняты как голос и вызовут прерывание INTB. В противном случае INTB будет срабатывать только при обнаружении голоса на входном аудиоканале, тогда как другие статические шумы будут игнорироваться. Установите значение от 1 до 80, чтобы контролировать чувствительность этого обнаружения — чем ниже значение, тем выше чувствительность. Как правило, чем выше отношение SNR (сигнал-шум) в рабочей среде, тем выше рекомендуемое значение этого регистра. По умолчанию 0x12.
- Регистр 0xB4 (ASR VAD Start) определяет, как долго должна обнаруживаться непрерывная речь, прежде чем она будет распознана как голос. Установите значение от 1 до 80 (от 10 до 800 миллисекунд). По умолчанию 0x0F (150 мс).
- Регистр 0xB5 (ASR VAD Silence End) определяет, как долго должен обнаруживаться период молчания в конце речевого сегмента, прежде чем речь будет считаться оконченной. Установите 20-200 (200-2000 мс). По умолчанию 60 (600 мс).
- Регистр 0xB6 (максимальная длина голоса ASR VAD) определяет максимально возможную продолжительность обнаруженного речевого сегмента. Установите 5–200 (500 мс–20 с). По умолчанию 60 (6 секунд)
После инициализации LD3320 в соответствии с таблицей данных и настройки регистров настройки распознавания речи я смог заставить LD3320 распознавать китайские собственные имена, такие как bei jing (北京) и другие слова, такие как a li ba ba . Качество распознавания удовлетворительное.
Воспроизведение MP3
LD3320 также поддерживает воспроизведение данных MP3, полученных через SPI. Воспроизведение выполняется с использованием следующих шагов:
1. Сбросьте и инициализируйте LD3320 в режиме MP3.
2. Установите правильный канал аудиовыхода для воспроизведения звука.
3. Отправьте первый сегмент данных MP3 для воспроизведения.
4. Проверьте, закончилось ли воспроизведение MP3. Если это так, остановите воспроизведение.
5. Если нет, продолжайте отправлять дополнительные данные MP3 и вернитесь к шагу 4.
Поддерживаются три типа аудиовыхода: наушники (стерео), линейный выход (стерео) или динамик (моно). Каналы наушников и линейного выхода всегда включены, а канал динамика должен быть включен независимо. Громкость линейного выхода и выхода на наушники можно отрегулировать, записав значение в биты 5-1 регистров 0x81 и 0x83 соответственно, где 0x00 указывает максимальную громкость. Громкость выходного сигнала динамика можно изменить, записав биты 5-2 регистра 0x83, где 0x00 указывает максимальную громкость.
Согласно техническому описанию, выходная линия динамика может поддерживать 8-омный динамик. Однако в моих тестах подключение 8-омного динамика к выходу динамика приводило к тому, что модуль неожиданно останавливал воспроизведение, предположительно из-за высокого энергопотребления, хотя качество звука через динамик остается четким. Каналы наушников и линейного выхода кажутся стабильными и обеспечивают хорошее качество звука.
Я также попытался подключить аудиоусилитель PAM8403 к каналу линейного выхода, чтобы добиться стереовыхода с использованием двух 8-омных динамиков. Сначала, когда PAM8403 использовал те же линии питания и заземления, что и LD3320, та же проблема с неожиданным прекращением воспроизведения сохранялась даже при использовании развязывающих конденсаторов. Подозревая, что проблема может быть связана с помехами, вызванными тем, что 8-омный динамик использует одни и те же линии питания, я использовал другой источник питания для PAM8403, и LD3320 удалось плавно воспроизводить звук MP3 без каких-либо других проблем.
Демонстрационное видео
Я снял видео, демонстрирующее работу модуля с микроконтроллером PIC и 16-битным цветным ЖК-дисплеем ST7735 128×160 для отображения результатов распознавания речи. Он показывает результаты модуля, пытающегося распознавать правильные имена на китайском ( Bei Jing 北京, Shang Hai 上海, Гонконг 香港, Chong Qing 重庆, Tian An ). такие слова, как a li ba ba . Одиночный сигнал означает, что речь распознана, а двойной сигнал означает, что речь не распознана. Хотя качество распознавания речи сильно зависит от входного звука, уровня громкости и других условий окружающей среды, в целом чувствительность и избирательность обнаружения кажутся удовлетворительными, как видно из видео.
В конце видео показано стереофоническое воспроизведение песни в формате MP3, хранящейся на SD-карте, с использованием усилителя PAM8403, выходной сигнал которого подается на два динамика с сопротивлением 8 Ом. Несмотря на фоновые шумы, предположительно из-за эффектов паразитной емкости макета на высоких частотах (22,1184 МГц для этого модуля), качество воспроизведения MP3 кажется достаточно хорошим и сравнимым с модулем VS1053.
Весь демонстрационный проект MPLAB X для этого модуля можно скачать здесь.