Перейти к содержанию
    

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

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

 

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

 

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

 

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

 

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

 

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

 

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

 

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

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

 

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

 

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

Изменено пользователем Rai220

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

 

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

 

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день!

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

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

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

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

 

Удачи...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

Добрый день,

 

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

 

C уважением,

Иван

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

нас проконсультировать

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

 

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

 

Если заинтересовались, то пишите мне на адрес [email protected] или звоните +79262180691 - договоримся!

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуйте:

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...