Микрофон для голосового управления

Автор: | 12.03.2024

100 Домострой

e71c7e9s 960 Домострой

Небольшое отступление. Магнитола у меня не штатная: Автомагнитола HotAudio HA2127 (Грубо говоря 2 поколение).
Поэтому штатный микрофон мне смысла ставить не было, да и подключать его немного проблематично к ней.
Поэтому использовался микрофон из комплекта с магнитолой.

Как он работал? А никак. Шумы, тихая слышимость у собеседника и дублирование колонок. Про голосовое управление вообще можно было забыть, так как чтобы тебя поняли нужно не только выключить звук, но и почти орать на всю машину.

И как же всё таки хорошо, что Drive2 наполняется рукастыми людьми. В этом случае огромное спасибо: Timon-83 . Человек собрал микрофон из отличных компонентов и сказать что качество звука теперь просто шикарное это не сказать ничего.

37dc7e9s 960 Домострой

1) Плата с микрофоном.

Выглядит конечно может не совсем эстетично, но всю спаяно добротно. Да и по честному, она лежит в плафоне и вы ее уже точно видеть не будете.

c83c7e9s 960 Домострой

d23c7e9s 960 Домострой

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

2) Толстый экранированный провод.
И это очень очень важно для качественной работы!

463c7e9s 960 Домострой

Подходит на любые магнитолы с разъёмом мини джек 3.5 под микрофон (я думаю автор сможет и любой другой реализовать).

Микрофон активный с питанием. Питание берется прямо из разъёма мини джек 3.5 и никакой дополнительный провод тянуть не нужно. Это большой плюс.

1. Снимаем центральный плафон. Просто в начале тянем его в сторону заднего стекла и потом вынимаем переднюю часть, которая у лобового. Вынимаем штекер питания.

2. Чтобы избавиться от посторонних шорохов решил устанавливать микрофон на подложку.
Подложку сделал из спресованного пенопласта от материнских плат.

b0bc7e9s 960 Домострой

3. В штатное место крепим подложку с помощью термо клея.

64bc7e9s 960 Домострой

На неё устанавливаем плату с микрофоном.

74bc7e9s 960 Домострой

Заливаем и фиксируем термо клеем.

cabc7e9s 960 Домострой

4. Далее уже демонтируем старый микрофон если был.
Проводку пробросил по левой водительской стойке и заплёл в штатный жгут проводки под ногами водителя.
Кабель микрофона зафиксировал к проводке центрального плафона, чтобы не выдрать в будущем разьём под кабель.
Это самый лёгкий этап.

5. Подключаем и радуемся.

В данном случае результат превзошёл все мои ожидания.
Громко и чётко, никаких помех или шумов. Никакого эха. Звук идеальный.

И самое крутое. Теперь отлично работают все голосовые помошники: "Окей гугл", "Слушай Яндекс" и подобные. В движении очень удобно. Тянуться никуда не нужно. Сказал "Окей гугл открой яндекс навигатор" и он открыл.
Музыку при этом отключать не нужно вовсе, магнитола теперь слышит всё и даже шёпотом.))))

Так что я конечно повторюсь, но Timon-83 спасибо большое!

Комментарии приветствуются. Если считаете, что запись полезна. Жмите поделиться.
Все новые фото первыми появляются тут: Instagram
MLX Club URAL — Екатеринбург: Вконтакте

jqmoakrk7 dcxedhrkxmjl p8wa Домострой

Исследователи из университета штата Мичиган (США) смогли экспериментально реализовать способ получения удаленного доступа через портативную лазерную систему к некоторым iPhone, умным колонкам HomePod и Amazon Echo, устройствам серии Google Home, использующих голосовые помощники Siri, Google Assistant и Amazon Alex. На место размещения микрофона в умных устройствах направлялись лазерные лучи с закодированными сигналами, максимальное достигнутое в опыте рабочее расстояние получилось 110 метров, причем устройствами можно было таким образом управлять даже через оконный стеклопакет. Большинство колонок и гаджетов принимали такое воздействие за голосовые команды, позволяя выполнить базовые действия в системе умного дома, которым не нужна дополнительная идентификация пользователя — открыть гараж или замок в двери дома.

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

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

Экспериментально было показано, что данный тип атаки возможен, когда лазерный луч очень точно направлен на место размещения микрофона в умных устройствах, в которых сейчас все больше используются микроэлектромеханические системы (МЭМС) в элементной базе. Добиться извне и с большой дистанции попадания луча в небольшое и размещенное в разных местах отверстие микрофона многих умных устройств очень сложно, но возможно.

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

В ходе проведения одного из экспериментов, компактный лазерный излучатель на основе лазерной указки и телеобъектива был установлен в здании, расположенном напротив от другого здания, в одном из помещений которого недалеко от окна была расположена умная колонка Google Home. Расстояние между лазерной системой и умной колонкой было по прямой около семидесяти пяти метров, а мощность излучателя была установлена на уровне пять милливатт. Инженеры смогли передать умной колонке голосовые команды лазером, несмотря на то, что устройство было размещено за окном с двойным стеклопакетом.

По данным специалистов, проводивших исследование, покупка комплекта оборудования для организации такой удаленной атаки им обошлась всего в $400 (около 25 тыс. рублей). Производители всех устройств, взломанных в процессе испытаний этой системы, поставлены в известность.

Исследователи считают, чтобы противостоять подобным потенциальным внешним атакам на систему умного дома и голосовые помощники, их производителям нужно:

  • использовать в обязательном порядке систему голосовой верификации пользователя;
  • создать дополнительную защитную шторку/сетку перед внешней частью микрофона, которая бы препятствовала проникновению света лазера на его диафрагму;
  • разработать систему анализа полученного сигнала несколькими микрофонами устройства (например, если сигнал получает только один микрофон, а другие не получают, то это может означать внедрение не настоящего голосового сигнала от пользователя на один из микрофонов, а такая команда должна игнорироваться умными устройствами).

На коротком видео ниже демонстрация части эксперимента — открытие ворот гаража с помощью умной колонки и лазерного луча, путем кодирования в нем звуковой фразы «Окей Google, открой гаражные ворота»:

Принцип работы комплекса для атаки на умные устройства с помощью лазеров:

3a20b225b94248ab9c06c4882b6a9363 Домострой

Если вас интересует, как помочь обездвиженному человеку управлять компьютером для общения с внешним миром – вам сюда. Если вам интересно, какое отношение к этому имеют мел-частотные кепстральные коэффициенты и нейронные сети – вам тоже сюда.

Часть I. Программа для управления компьютером при помощи голоса

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

Позволю себе привести здесь пару ссылок на сайты, автором и/или идейным вдохновителем которых является этот человек – Александр Макарчук из города Борисов, Беларусь:

72e934980c1648b59658fbab28c76c04 Домострой «У Совы» — школа дистанционного обучения для людей с ограниченными возможностями. sova.by
259162b635834332b89823e86caade81 Домострой «Без ограничений» — советы для тех, кому нужно работать на компьютере без рук bezogranicheniy.ru

Для работы на компьютере Александр использовал программу «Vocal Joystick» — разработку студентов Университета штата Вашингтон, выполненную на деньги Национального Научного Фонда (NSF). См. melodi.ee.washington.edu/vj

Кстати, на сайте университета (http://www.washington.edu/) 90% статей именно про деньги. Трудно найти что-нибудь про научную работу. Вот, например, выдержки с первой страницы: «Том, выпускник университета, раньше питался грибами и с трудом платил за квартиру. Теперь он старший менеджер ИТ-компании и кредитует университет», «Большие Данные помогают бездомным», «Компания обязалась заплатить 5 миллионов долларов за новый учебный корпус».

Это одному мне режет глаз?

Программа была сделана в 2005-2009 годах и хорошо работала на Windows XP. В более свежих версиях Windows программа может зависнуть, что неприемлемо для человека, который не может встать со стула и её перезапустить. Поэтому программу нужно было переделать.

Исходных текстов нет, есть только отдельные публикации, приоткрывающие технологии, на которых она основана (MFCC, MLP – читайте об этом во второй части).

По образу и подобию была написана новая программа (месяца за три).

Собственно, посмотреть, как она работает, можно здесь:

Скачать программу и/или посмотреть исходные коды можно здесь.

Никаких особенных действий для установки программы выполнять не надо, просто щёлкаете на ней, да запускаете. Единственное, в некоторых случаях требуется, чтобы она была запущена от имени администратора (например, при работе с виртуальной клавиатурой “Comfort Keys Pro”):

d3eddb515dec403796e4240103d4ff95 Домострой

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

Если у вас есть возможность поворачивать голову, то хорошей альтернативой eViacam может послужить гироскоп, крепящийся к голове. Вы получите быстрое и точное позиционирование курсора и независимость от освещения.

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

Часть II. Как это устроено?

Из опубликованных материалов о программе «Vocal Joystick» было известно, что работает она следующим образом:

  1. Нарезка звукового потока на кадры по 25 миллисекунд с перехлёстом по 10 миллисекунд
  2. Получение 13 кепстральных коэффициентов (MFCC) для каждого кадра
  3. Проверка того, что произносится один из 6 запомненных звуков (4 гласных и 2 согласных) при помощи многослойного персептрона (MLP)
  4. Воплощение найденных звуков в движение/щелчки мыши

Первая задача примечательна лишь тем, что для её решения в реальном времени пришлось вводить в программу три дополнительных потока, так как считывание данных с микрофона, обработка звука, проигрывание звука через звуковую карту происходят асинхронно.

Последняя задача просто реализуется при помощи функции SendInput.

Наибольший же интерес, мне кажется, представляют вторая и третья задачи. Итак.

Задача №2. Получение 13 кепстральных коэффициентов

Если кто не в теме – основная проблема узнавания звуков компьютером заключается в следующем: трудно сравнить два звука, так как две непохожие по очертанию звуковые волны могут звучать похоже с точки зрения человеческого восприятия.

И среди тех, кто занимается распознаванием речи, идёт поиск «философского камня» — набора признаков, которые бы однозначно классифицировали звуковую волну.

Из тех признаков, что доступны широкой публике и описаны в учебниках, наибольшее распространение получили так называемые мел-частотные кепстральные коэффициенты (MFCC).

История их такова, что изначально они предназначались совсем для другого, а именно, для подавления эха в сигнале (познавательную статью на эту тему написали уважаемые Оппенгейм и Шафер, да пребудет радость в домах этих благородных мужей. См. A. V. Oppenheim and R.W. Schafer, “From Frequency to Quefrency: A History of the Cepstrum”).

Но человек устроен так, что он склонен использовать то, что ему лучше знакомо. И тем, кто занимался речевыми сигналами, пришло в голову использовать уже готовое компактное представление сигнала в виде MFCC. Оказалось, что, в общем, работает. (Один мой знакомый, специалист по вентиляционным системам, когда я его спросил, как бы сделать дачную беседку, предложил использовать вентиляционные короба. Просто потому, что их он знал лучше других строительных материалов).

Являются ли MFCC хорошим классификатором для звуков? Я бы не сказал. Один и тот же звук, произнесённый мною в разные микрофоны, попадает в разные области пространства MFCC-коэффициентов, а идеальный классификатор нарисовал бы их рядом. Поэтому, в частности, при смене микрофона вы должны заново обучать программу.

e7a1c3c1762d4906a03b25b7f2fdc177 Домострой

Это всего лишь одна из проекций 13-мерного пространства MFCC в 3-мерное, но и на ней видно, что я имею в виду – красные, фиолетовые и синие точки получены от разных микрофонов: (Plantronix, встроенный массив микрофонов, Jabra), но звук произносился один.

Однако, поскольку ничего лучшего я предложить не могу, также воспользуюсь стандартной методикой – вычислением MFCC-коэффициентов.

Чтобы не ошибиться в реализации, в первых версиях программы в качестве основы был использован код из хорошо известной программы CMU Sphinx, точнее, её реализации на языке C, именующейся pocketsphinx, разработанной в Университете Карнеги-Меллона (мир с ними обоими! (с) Хоттабыч).

Исходные коды pocketsphinx открыты, да вот незадача – если вы их используете, то должны в своей программе (как в исходниках, так и в исполняемом модуле) прописать текст, содержащий, в том числе, следующее:

Мне это показалось неприемлемым, и пришлось код переписать. Это сказалось на быстродействии программы (в лучшую сторону, кстати, хотя «читабельность» кода несколько пострадала). Во многом благодаря использованию библиотек “Intel Performance Primitives”, но и сам кое-что оптимизировал, вроде MEL-фильтра. Тем не менее, проверка на тестовых данных показала, что получаемые MFCC-коэффициенты полностью аналогичны тем, что получаются при помощи, например, утилиты sphinx_fe.

В программах sphinxbase вычисление MFCC-коэффициентов производится следующими шагами:

Шаг Функция sphinxbase Суть операции
1 fe_pre_emphasis Из текущего отсчёта вычитается большая часть предыдущего отсчета (например, 0.97 от его значения). Примитивный фильтр, отбрасывающий нижние частоты.
2 fe_hamming_window Окно Хемминга – вносит затухание в начале и конце кадра
3 fe_fft_real Быстрое преобразование Фурье
4 fe_spec2magnitude Из обычного спектра получаем спектр мощности, теряя фазу
5 fe_mel_spec Группируем частоты спектра [например, 256 штук] в 40 кучек, используя MEL-шкалу и весовые коэффициенты
6 fe_mel_cep Берём логарифм и применяем DCT2-преобразование к 40 значениям из предыдущего шага.
Оставляем первые 13 значений результата.
Есть несколько вариантов DCT2 (HTK, legacy, классический), отличающихся константой, на которую мы делим полученные коэффициенты, и особой константой для нулевого коэффициента. Можно выбрать любой вариант, сути это не изменит.

В эти шаги ещё вклиниваются функции, которые позволяют отделить сигнал от шума и от тишины, типа fe_track_snr, fe_vad_hangover, но нам они не нужны, и отвлекаться на них не будем.

Были выполнены следующие замены для шагов по получению MFCC-коэффициентов:

Читайте также  Микросхема под микроскопом фото

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

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