Jump to content

    
Sign in to follow this  
Rai220

Ищется консультант в теме цифровой обработки звука. (Москва)

Recommended Posts

Добрый день! Мы небольшой стартап и разрабатываем устройство под названием "говорящий куб". Это голосовой домашний помошьник. Проще всего понять, посмотрев видео с ним:

 

http://www.youtube.com/watch?v=BvlWDDEUlFE

 

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

 

Теоретические основы борьбы с реверберацией более-менее понятны: массивы микрофонов в разных конфигурациях, фокусировка на источнике звука тем или иным способом. Но вот с технической реализаций проблемы.

 

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

 

+7-926-218-0691, Константин.

Share this post


Link to post
Share on other sites

Эхо распознавать должен движок как это происходит у животных. Ну или тупой вариант - круговое расположение микрофонов с поиском канала/направления с максимальной амплитудой сигнала. Во втором случае будет сдвиг фаз, поэтому просто так сравнивать семплы с разных каналов за одну выборку не выйдет. Я бы дорабатывал движок.

Share this post


Link to post
Share on other sites

Мне непонятна проблема. Что мешает роботу попросту не реагировать на микрофон, пока он сам говорит ? Очевидно что пока робот говорит человек не должен давать ему новых команд.

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

Share this post


Link to post
Share on other sites

Реверберация это пространственное отражение.

Сколько у Вас используется микрофонов? Если один то самое эффективное решение - поставить минимум 4 микрофона по граням куба лучше больше.

Надо фазированную решетку делать, и как верно советуют, и выделать направление максимума.

 

Share this post


Link to post
Share on other sites

Всем спасибо за ответы! Отвечаю по порядку.

 

Эхо распознавать должен движок как это происходит у животных. Ну или тупой вариант - круговое расположение микрофонов с поиском канала/направления с максимальной амплитудой сигнала.

 

Обучать бесполезно, современные движки, основанные на HMM нужно будет обучать для каждого помещения и каждого варианта положения человека в нем. Писать что-то свое, задача не того уровня. Пусть гугл и nuance над этим работают :)

 

Микрофоны по кругу - один из рассматриваемых вариантов. Но его надо сделать толково, чтобы во-первых микрофоны были направленными, в каждом микрофоне был свой АРУ + буфер с задержкой, например, в секунду, чтобы устройство могло на вход получить чистый звук с конкретного микрофона, который был записан еще до момента выбора направления.

 

Мне непонятна проблема. Что мешает роботу попросту не реагировать на микрофон, пока он сам говорит ? Очевидно что пока робот говорит человек не должен давать ему новых команд.

 

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

 

Сколько у Вас используется микрофонов? Если один то самое эффективное решение - поставить минимум 4 микрофона по граням куба лучше больше.

Надо фазированную решетку делать, и как верно советуют, и выделать направление максимума.

 

Да, это один из вариантов, над которым работаем. 6 или 8 микрофонов, которые выполняют аудиофокусировку (beamforming). Только сделать это оказывается сложнее, чем кажется. Нет доступных устройств, которые способны выполнять синхронную многоканальную запись. Несколько аудиокарт - не вариант, частоты ползут на 1-3 семпла/в секунду. Даже один общий кварц для нескольких устройств пробовали делать - не помогает.

 

На видео для записи звука используется спикерфон Jabra с одним микрофоном.

Edited by Rai220

Share this post


Link to post
Share on other sites

Обычно в таких случаях используют дешевые кодеки, именно чтобы предусилитель полосовой фильтр, подавление 50Гц и АЦП совместить с минимальными затратами и разбросом.

Рекомендую посмотреть например какойнить max9853

 

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

 

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

 

Вообще голосовое командное управление это поле, усеянное сломанными зубами теоретиков и практиков.

 

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

 

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

Share this post


Link to post
Share on other sites

Хонда, например, для своего Асимо так и не смогла решить этот вопрос, - робот усеян микрофонами.

 

Эхо на разложении на частоты выглядит как повторяющийся паттерн. Перед распознаванием речи нужно распознавать повторение паттернов и на следующий уровень (движку) передавать уже "отфильтрованный" сигнал. Или повесьте в офисе ковры :)

Share this post


Link to post
Share on other sites

Как получить качественный звук который можно подать на движок распознавания это действительно проблема.

Я тоже прорабатывал этот вопрос применительно к управлению системами умного дома.

Тут надо определиться где вы хотите подавать команды - вся комната или только рядом с кубом.

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

В компе уже реализовать алгоритмы фокусировки на источник звука.

Если вся комната, то микрофоны по углам. И тогда еще возникает вопрос как передавать сигнал - в аналоговом виде или цифровать на месте (то тогда нужна синхронизация между устройствами (я щас занимаюсь этим)).

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

 

Share this post


Link to post
Share on other sites

а из нескольких (5-10) микрофонов, после определения направления нельзя ДОУ сделать? и даже уже записанный звук обработать?

Share this post


Link to post
Share on other sites
Добрый день!

+7-926-218-0691, Константин.

Константин, посмотрите вот этот сайт должен помочь... хотя бы подскажет как "копать"

Вот сюда попробуйте написать , может помогут....

Говорят этот человек (Professor Malcolm Hawksford) занимается звуком более 10 лет....

 

Удачи...

Share this post


Link to post
Share on other sites
Теоретические основы борьбы с реверберацией более-менее понятны: массивы микрофонов в разных конфигурациях, фокусировка на источнике звука тем или иным способом. Но вот с технической реализаций проблемы.

 

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

 

Добрый день,

 

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

 

C уважением,

Иван

 

 

Share this post


Link to post
Share on other sites
нас проконсультировать

Давно уже, занимался производством и разработкой микрофонов и ревербераторов.

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

Устройство распознавания так же должно учитывать фазовый сдвиг и изменение сочетания сдвига со звуковым сигналом.

В общем, должно быть похоже на кошкины ушки. :biggrin:

Ушки настраиваются а источник звука, а фазовый детектор позволяет отсечь реверберацию.

Share this post


Link to post
Share on other sites

Всем большое спасибо за ответы!!! Работаем по всем направлениям.

 

Если кто-то заинтересовался темой создания говорящих роботов, то у меня есть вакансия. Нам в команду нужен электронщик-изобретатель, который не боится менять мир :)

 

Опыт не так важен, он придет. Главное интерес к теме робототехники, умение решать необычные проблемы необычынми способами. Работа в Москве, офис м. 1905 года, зарплата от 50 в зависимости от навыков.

 

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

 

Если заинтересовались, то пишите мне на адрес k.krestnikov@gmail.com или звоните +79262180691 - договоримся!

 

 

Share this post


Link to post
Share on other sites

Попробуйте:

1) выделить из всех микрофонных каналов один с максимальным среднеквадратическим значением напряжения на заданном интервале времени

2) в этом канале с помощью корреляционного анализа найдите оценку времени эха

3) зная время эха можно построить согласованный фильтр, максимизирующий отношение сигнал/шум

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this