|
Выделение слабых звуков на фоне сильных |
|
|
|
Oct 26 2013, 19:49
|
Частый гость
 
Группа: Участник
Сообщений: 84
Регистрация: 22-09-06
Из: NN
Пользователь №: 20 592

|
Цитата(Xenia @ Oct 25 2013, 03:47)  возможность вычесть из второй записи первую. Только не целиком, а только общую (коррелирующую) составляющую между обеими сигналами. А как получить это "не целиком"? то что надо вычитать из второй записи
|
|
|
|
|
Oct 26 2013, 22:39
|

Гуру
     
Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237

|
Цитата(KPiter @ Oct 26 2013, 23:49)  А как получить это "не целиком"? то что надо вычитать из второй записи. Представим себе микрофонную запись, как вектор длины N, состоящий из N точек (например, wav-файл). Тогда, установив два микрофона - первый на сцене, а второй в зале, - и оцифровывая их синхронно, получим два вектора одной и той же длины N. Введем обозначения: Вектор A (звук на сцене, оно же запись со сценического микрофона) Вектор B (вектор разговоров в зале, неизвестен, подлежит вычислению) Вектор С (запись с микрофона в зале) Здесь A и C - данные с микрофонов, а B - чистый разговор, который мы хотим выделить. Если микрофон А установлен так, что шум зала он не улавливает, а микрофон C улавливает разговор в зале + частично то, что идет со сцены, то вектор С может быть представлен в виде суммы: Код С = k*A + B где: k - скалярный коэффициент, указывающий долю звука со сцены в качестве примеси к разговору. Он неизвестен, но сейчас мы его вычислим из известных A и C по формуле: Код k = (A'*C) / ( sqrt(A'A) * sqrt(C'C) ) где: (A'*C) = скалярное произведение векторов A и C sqrt(A'*A) = норма вектора A sqrt(C'*C) = норма вектора C Поскольку векторы A и C нам известны (это записи с 1-го и 2-го микрофонов), то вычислить их скалярное произведение и нормы не составляет большого труда. После того, как скалярный коэффициент k определен, искомый вектор разговора получается вычетом: Код B = C - k*A Оттого-то я и сказала, что из зального звука надо вычитать сценический звук не целиком (C-A), а только его корреллирующую долю (C-k*A).
|
|
|
|
|
Oct 27 2013, 14:15
|

Гуру
     
Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237

|
Цитата(sifadin @ Oct 27 2013, 16:34)  Пусть сигнал S сумма от независимых истоников Возможно ли его разбить на сумму S = S1 + S2 так чтобы корреляция между S1 и S2 была минимальна? К сожалению, существует бесконечно большое количество вариантов такого разбиения. Типа того, что вам выдали сумму 10000 руб, а требуется определить, какими бумажками она была выдана. Это общая проблема для многих задач, там где в суммах вклады слагаемых "обезличиваются". Из-за этого сумму можно разрезать на две части множеством способов, но нет способа, определить, какой из множества этих вариантов нарезки тот "настоящий" вариант, который когда-то ту сумму образовал. Ваши два вектора от микрофонов A и C образуют плоское двумерное пространство, состоящее из их всевозможных линейных комбинаций. И в этом пространстве можно как угодно расположить пару ортогональных координат (базис), и каждый из них будет отвечать условию нулевой корреляции между осями базиса. Ограничитель того рода, что обе проекции на базис должны быть положительны, ситуацию не спасает, т.к. и в этом случае число вариантов слишком велико. Однако можно попытаться вращать "крестовину" осей шагами по 5 угловых градуса, оценивая на слух разборчивость речи.
|
|
|
|
|
Oct 27 2013, 17:33
|

Гуру
     
Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237

|
Цитата(sifadin @ Oct 27 2013, 18:30)  А как вращать крестовину на практике? разбить всю запись на фрагменты и для каждого подбирать такой частотный фильтр который максимально выделяет слабый сигнал или есть какие-то другие алгоритимы. Разбивать на фрагменты не надо, т.к. если частотный спектр разговора отличается от спектра звуков со сцены, то они будут отличаться на всем протяжении записи. Проблема в другом - разделять фильтрами можно только то, что фильтруется  , т.е. для этого оба сигнала должны как-то различаться по спектру. Однако в вашем случае не сказано, что они отличаются. Например, разговор басом, можно успешно выделить на фоне игры на скрипке, но трудно на фоне игры на контарабасе. Опять же здесь мы разделяем их по разной частоте (на то они и частотные фильтры), но способа отделения слабого сигнала от сильного не существует в принципе, если оба сигнала по спектру неотличимы. Когда известно, что один из микрофонов лучше улавливает разговор, чем другой, тогда сравнением можно попытаться эту разницу вытянуть. И я это уже демонстрировала в прошлый раз. Но если оба микрофона записали одну и ту же смесь, то отсутствует та разница, за которую можно зацепиться в разделении. Т.е. если между этими двумя каналами (левым и правым) и найдется разница, то она уже не имеет отношения к разнице между разговором и музыкой со сцены, а определется другими обстоятельствами. "Вращать крестовину" - это лишь иная формулировка того, что искомый разговор является линейной комбинацией сигналов двух микрофонов. Т.е. вращение вокруг начала координат аналитически определяется так: X = x * cos(a) - y * sin(a) Y = y * cos(a) + x * sin(a) где синусы и косинусы есть лишь иное представление коэффициентов линейной комбинации: B = k1*A + k2*C В практическом случае, когда постоянство громкости соблюдать не требуется, можно обойтись одним коэффициентом, как в прошлый раз: B = С - k*A И тут можно попытаться его подобрать "на слух" следующим образом: на стандартном проигрывателе в диалоге "Mаster Volume" есть движок "Balance", позволяющий корректировать баланс левого и правого канала. У меня Винда английская, а потому знать не знаю, как это на русскоязычной Винде переведено. Далее на 1-ый канал подается сигнал с первого микрофона, а на второй ИНВЕРТИРОВАННЫЙ (с обратной полярностью) сигнал со второго микрофона. Если это уже стереозапись, то надо цифровым образом инвертировать сигнал в одном из каналов. Потом слушают запись, в процессе прослушивания которой подбирают положение движка "Balance", стараясь задавить мешающую разборчивости речи музыку (не знаю точно, что у вас там). Если у обоих микрофонов наблюдается разное предрасположение к одному и другому (сцене и залу), то должно существовать такое положение движка "Balance", при котором ненужное гасится вычитанием. А если этого нет, то в самом лучшем случае вы лишь несколько улучшите разборчивость речи, но от сценического звука полностью не избавитесь.
|
|
|
|
|
Oct 27 2013, 18:38
|
вопрошающий
    
Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436

|
Цитата(sifadin @ Oct 24 2013, 19:20)  Какие алгоритмы используют чтобы выделить слабые шумы, разговор на заднем плане от основного выступления? два или больше микрофона с точными положениями их в пространстве позволят выделить несколько различных источников звука в аудитории - много раз так делал прослушку - работает очень успешно - в шумном ресторане можно выделить полностью все фразы каждого сидящего, хотя микрофоны по залу были разбросаны. Научные статьи гуглятся на Sidriopolis'а. Цитата(sifadin @ Oct 24 2013, 19:20)  Есть готовые пакеты программ для этих целей? есть, но дорого, гуглите на EMMDD (кажется в Россию не поставляется) или на национальную лабораторию Сандии, но последние, думаю, вам тоже не продадут. У Кубисты (шведская мульти-ди) не покупайте, я этот софт в 1998 году им написал, а они до сих пор не удосужились его улучшить, а там есть некоторая специфика, которая на звуке работать не будет.
|
|
|
|
|
Oct 29 2013, 14:09
|
Местный
  
Группа: Свой
Сообщений: 443
Регистрация: 11-02-09
Пользователь №: 44 698

|
Цитата(iiv @ Oct 27 2013, 22:38)  два или больше микрофона с точными положениями их в пространстве позволят выделить несколько различных источников звука в аудитории - много раз так делал прослушку - работает очень успешно - в шумном ресторане можно выделить полностью все фразы каждого сидящего, хотя микрофоны по залу были разбросаны. Научные статьи гуглятся на Sidriopolis'а.
есть, но дорого, гуглите на EMMDD (кажется в Россию не поставляется) или на национальную лабораторию Сандии, но последние, думаю, вам тоже не продадут. У Кубисты (шведская мульти-ди) не покупайте, я этот софт в 1998 году им написал, а они до сих пор не удосужились его улучшить, а там есть некоторая специфика, которая на звуке работать не будет. Sidriopolis'а не нашел. Если не трудно подскажите еще какие-нибудь ключевые слова А к какого рода экспертам и куда нужно обращаться с подобными задачами. Еще интересует другая задача. Есть жилое помещение в котором периодически раздается детский плач Т.е. ребенка в помещении нет, но впечатление что всхлипывания идут из шкафа или другого места. В общем впечатление присутствия. Человек утверждает что его преследует ОПГ, которой он что-то должен Вопрос к какого рода экспертам следует обращаться в этой задаче?
|
|
|
|
|
Oct 29 2013, 16:31
|
вопрошающий
    
Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436

|
Цитата(sifadin @ Oct 29 2013, 19:09)  Sidriopolis'а не нашел. Если не трудно подскажите еще какие-нибудь ключевые слова http://www.ece.umn.edu/users/nikos/ключевых слов много, так как все кому не попадя это по-разному называют, тре-вей, мултивей, парафак разложения. Цитата(sifadin @ Oct 29 2013, 19:09)  А к какого рода экспертам и куда нужно обращаться с подобными задачами. ... Вопрос к какого рода экспертам следует обращаться в этой задаче? можно и ко мне
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|