Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

VAD(Обнаружение Активности Голоса)   Найти похожие ветки 

 
han_malign   (2012-04-06 08:58) [0]

Вопрос на засыпку - будет ли VAD заточенный под 8 КГц(G.729B) без изменений работать для 16 КГц? Или там какие нибудь завязки на спектр вылезут???


 
sniknik ©   (2012-04-06 09:19) [1]

ответ на рассыпку - а проверить?


 
han_malign   (2012-04-06 09:40) [2]


> а проверить?

- угу, потратить день на выдирание из кодека, и пару месяцев на накопление статистики по коллизиям детектирования...
Это мне и без ваших советов сделать придется(за неимением более простых альтернатив, т.к. простейшее СКО - после АРУ - бесполезно).

Меня больше "теория" интересует.


 
Jeer ©   (2012-04-06 10:08) [3]


> будет ли VAD заточенный под 8 КГц(G.729B) без изменений
> работать для 16 КГц?


Не будет. "Полетят" коэффициенты, да и банки фильтров другой д.б.
Для распознавания голоса закладывается его модель:
первая форманта 150..200 Гц + гармоники, а, так называемый unvoice speach: 3..8 кHz

http://www.iwaenc.org/proceedings/2008/contents/papers/9019.pdf


 
Вариант   (2012-04-06 12:56) [4]


> han_malign   (06.04.12 08:58)


А теперь перевернем задачу. Как быстро из 16 кГц сделать 8 кГц?


 
Труп Васи Доброго ©   (2012-04-10 16:51) [5]


> А теперь перевернем задачу. Как быстро из 16 кГц сделать
> 8 кГц?
>
>

Опередил! И я хотел спросить - сделать 8 из 16 религия запрещает?


 
Pavia ©   (2012-04-10 19:52) [6]

Из 16кгц в 8Кгц легко, удаляем каждый второй.  Обратно вставляем среднее между двумя отсчётами.


 
Inovet ©   (2012-04-10 19:59) [7]

> [6] Pavia ©   (10.04.12 19:52)
> Из 16кгц в 8Кгц легко, удаляем каждый второй.  Обратно вставляем
> среднее между двумя отсчётами.

А время куда денется?


 
Jeer ©   (2012-04-10 20:31) [8]


> Pavia ©   (10.04.12 19:52) [6]
>
> Из 16кгц в 8Кгц легко, удаляем каждый второй.  Обратно вставляем
> среднее между двумя отсчётами.


Если совсем примитивно и топорно - сойдет. :)


 
Pavia ©   (2012-04-10 20:44) [9]


> Если совсем примитивно и топорно - сойдет. :)

А слобо доказать что топорно?


 
Jeer ©   (2012-04-10 21:08) [10]

Не "слобо".

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

Чтобы этого избежать, необходимо пред-обрабатывать сигнал соответствующим ФНЧ.

Интерполяция:

Стандартный алгоритм интерполяции (передискретизации)  в целое число раз для сигналов online - вставка нулевых отсчетов, затем использование ФНЧ для удаления спектра, изначально не существовавшего в исходном сигнале.

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


 
Jeer ©   (2012-04-10 21:13) [11]

Как поступают на практике, к примеру с использованием CIC-фильтров, можно посмотреть здесь:
http://www.dsplib.ru/content/cicid/cicid.html


 
Pavia ©   (2012-04-10 21:38) [12]

Извиняюсь, сразу не признал.


 
Jeer ©   (2012-04-10 21:38) [13]

Ну и еще, вдогонку..

Пример линейной интерполяции сигнала синус
http://s017.radikal.ru/i407/1204/f7/dca7837b063c.jpg

Пример интерполяции оконной функцией sin(x)/x сигнала синус
http://s017.radikal.ru/i420/1204/2d/be5b0e25671d.jpg


 
Inovet ©   (2012-04-10 22:55) [14]

> [10] Jeer ©   (10.04.12 21:08)
> Стандартный алгоритм интерполяции (передискретизации)  в
> целое число раз для сигналов online - вставка нулевых отсчетов,
> затем использование ФНЧ для удаления спектра, изначально
> не существовавшего в исходном сигнале.

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

Так всё-таки, в сабже растянули спектр в 2 раза, и время в 2 раза изменилось. Или это не важно для сабжа, всмысле там не поток?


 
Inovet ©   (2012-04-10 22:56) [15]

> [14] Inovet ©   (10.04.12 22:55)
> частоты

дискретизации


 
Труп Васи Доброго ©   (2012-04-10 23:42) [16]


> Так всё-таки, в сабже растянули спектр в 2 раза, и время
> в 2 раза изменилось. Или это не важно для сабжа, всмысле
> там не поток?

??? Варум камрад? Время осталось неизменным и спектр никуда не растянулся. Просто исчезнут ненужные верхние частоты, которые для 8кГц девайса/софтины и так были лишними (он их и не видел).


 
Inovet ©   (2012-04-10 23:48) [17]

> [16] Труп Васи Доброго ©   (10.04.12 23:42)
> ??? Варум камрад? Время осталось неизменным и спектр никуда
> не растянулся.

А, так как раз частоту квантования снизили? Ну тгда ФНЧ сначала надо бы, как уже сказал Jeer.


 
Труп Васи Доброго ©   (2012-04-11 11:32) [18]


> Ну тгда ФНЧ сначала надо бы

На кой? Девайс физически не сможет "воспринять" высокие частоты, так зачем их предварительно убирать? Тем более в самом девайсе все фильтры должны присутствовать (если его не враги и не школота собирали).


 
Inovet ©   (2012-04-11 11:37) [19]

> [18] Труп Васи Доброго ©   (11.04.12 11:32)
> На кой? Девайс физически не сможет "воспринять" высокие
> частоты, так зачем их предварительно убирать?

Они станут уже не высокими.


 
Труп Васи Доброго ©   (2012-04-11 12:05) [20]


> Они станут уже не высокими.

Кто они? И как эти они станут низкими??? Дискретизация вносит высокочастотные  искажения, а низкие частоты живут вполне спокойно. В телефонных линиях полоса всего 3кГц, значит для нормальной передачи сигнала частоты дискретизации  6кГц уже хватит, а 8 кГц это с запасом. А тут даже передавать не надо, а только определить наличие. Наличие определяется в 90% случаев как раз по наличию низкой частоты основного тона (от 60-70 до 500-600 Гц), а все высокочастотные помехи не должны восприниматься вообще.


 
Inovet ©   (2012-04-11 12:27) [21]

> [20] Труп Васи Доброго ©   (11.04.12 12:05)

В условии не сказано, что спектр ограничен сверху частотой 4 кГц для 16 кГц квантования, а как раз наоборот.


 
Jeer ©   (2012-04-11 14:31) [22]


> а все высокочастотные помехи не должны восприниматься вообще.


Иди кури теорему Котельникова.


 
Труп Васи Доброго ©   (2012-04-11 15:13) [23]


> Иди кури теорему Котельникова.

Иногда лучше жевать, чем говорить/писать


 
Jeer ©   (2012-04-11 17:39) [24]


> Труп Васи Доброго ©   (11.04.12 15:13) [23]


Да я тебе не мешаю, иди и займи рот чем-нибудь.


 
Труп Васи Доброго ©   (2012-04-12 00:57) [25]


> Jeer ©  

Не говори что мне делать и я не скажу куда тебе идти.
З.Ы. Я ещё много афоризмов знаю. Все рассказать? Ты высказал безосновательное предложение, я продолжил тему. Ты скажи где в моих словах было нарушение теоремы Котельникова, а потом сам попробуй её понять.


 
han_malign   (2012-04-12 08:59) [26]


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


1 2 3 4 5 6 7 8 9 A B
---------------------
   .     .     .

  * *   * *   * *   *


     
*     *     *     *
---------------------
1   3   5   7   9   B
---------------------
   .     .     .

  . *   * .   . *   *


     
*     .     *     .
---------------------

sapienti sat


 
Труп Васи Доброго ©   (2012-04-12 09:18) [27]


> han_malign

Ну, я об этом и говорил, что выбрасывание каждой второй точки внесёт искажение в высокочастотные составляющие сигнала, всё правильно.
Высокочастотные составляющие в данной задаче являются ненужным шумом, (девайс априори на высокие частоты не настроен) и искажение шума никак не помешает работе девайса. Низкая частота (основной тон голоса и первые форманты), по которым и срабатывает VAD никак не пострадают, ибо их частоты гораздо ниже 4 кГц (верхняя граница по теореме Котельникова при 8 кГц).
И что не так?


 
Inovet ©   (2012-04-12 09:48) [28]

> [27] Труп Васи Доброго ©   (12.04.12 09:18)
> что выбрасывание каждой второй точки внесёт искажение в
> высокочастотные составляющие сигнала

Так какие искажения? А не простые, а очень даже некошерные, которые без предварительного обрезания как раз помешают распознавателю. Поправтье, если не так: верхняя половина спектра зеркально отразится на нижнюю относительно 4 кГц.


 
Inovet ©   (2012-04-12 09:55) [29]

> [28] Inovet ©   (12.04.12 09:48)
> зеркально

нет, не зеркально всё-таки, но отразится.


 
Труп Васи Доброго ©   (2012-04-12 10:20) [30]

Вот ты упрямый!
Скажи какая разница - оцифровать сигнал с чстотой 8 кГц или 16 кГц, а потом выбросить все чётные остчёты? Никакой разницы нет, результат будет ОДИНАКОВЫЙ!!! Это и требовалось доказать. Девайс получит тот сигнал, на какой он и расчитан. Дальше его работа.
А все эти искажения спектра от оцифровки - шум! Понимаешь что это такое? Высокочастотный шум от голоса отделяется элементарно, даже слишком элементарно. И это опять же работа девайса.
Вопрос был про то как засунуть 16 кГц в девайс, рассчитанный на 8 кГц, ответ - сделать из 16 8 путём "прореживания".


 
Inovet ©   (2012-04-12 10:35) [31]

> [30] Труп Васи Доброго ©   (12.04.12 10:20)
> оцифровать сигнал с чстотой 8 кГц или 16 кГц

Хорошо. Какая полоса у оцифровываемого сигнала в том и в другом случае?


 
Труп Васи Доброго ©   (2012-04-12 10:55) [32]

Спектр исходного сигнала не зависит от способа его регистрации и оцифровки.
Нарисуй в тетради в клеточку две одинаковых синусоиды одна над другой.
Это исходный сигнал. Теперь отметь на верхней синусоиде точки пересечения с каждой вертикальной линией, а на нижней - через одну. Потом на верхней синусоиде сотри резинкой каждую чётную точку. У тебя получится тот же результат, что и внизу. Если ты всё сделал правильно, но получил разные результаты - немедленно садись за докторскую диссертацию.


 
Pavia ©   (2012-04-12 10:56) [33]

Сделал небольшой эксперимент. Считаю считаю, что вторая картинка наиболее корректная.

http://postimage.org/image/bmc2m2x0r/


 
Inovet ©   (2012-04-12 11:03) [34]

> [33] Pavia ©   (12.04.12 10:56)
> вторая картинка наиболее корректная.

А если бы взял не среднее между двумя соседними, а между несколькими соедними каждый со своим коэффициентом, то была бы ещё лучше. И то и другое - суть ФНЧ.


 
Inovet ©   (2012-04-12 11:07) [35]

> [32] Труп Васи Доброго ©   (12.04.12 10:55)

Период какой у этой синусоиды в тетрадке? Больше или меньше 4-х клеток? Меньше наверняка. нарисуй ещё одну у которой между 2-4.


 
Pavia ©   (2012-04-12 11:08) [36]


> Если ты всё сделал правильно, но получил разные результаты
> - немедленно садись за докторскую диссертацию.

Мне рисовать лень взял из книги А.Б. Сергиенко
http://postimage.org/image/51fdsz0z9/


 
Труп Васи Доброго ©   (2012-04-12 11:45) [37]


> Период какой у этой синусоиды в тетрадке? Больше или меньше
> 4-х клеток? Меньше наверняка. нарисуй ещё одну у которой
> между 2-4.

Да какая разница???? Исходные редкие и "прореженные" точки будут СОВПАДАТЬ ибо в один и тот же момент времени уровень сигнала будет ТОТ ЖЕ.
Ты нарисуй, сделай как я сказал и сравни - результат будет ОДИНАКОВЫЙ.


 
Inovet ©   (2012-04-12 11:57) [38]

> [37] Труп Васи Доброго ©   (12.04.12 11:45)
> сигнала будет ТОТ ЖЕ.

Мы о разном говорим? Как он может быть тот же.


 
Труп Васи Доброго ©   (2012-04-12 12:09) [39]


> Мы о разном говорим?

Вот и мне непонятно чего ты рогом упёрся. Я сказал что при оцифровке сигнала (любого) что при частоте дискретизации 8 кГц, что при 16 кГц (и последующем прореживании через один) получим один и тот же массив чисел. Потому что частоты дискретизации кратны друг другу. (не поленись, нарисуй и сам убедишься.)


 
Inovet ©   (2012-04-12 12:32) [40]

> [39] Труп Васи Доброго ©   (12.04.12 12:09)
> Я сказал что при оцифровке сигнала (любого) что при частоте
> дискретизации 8 кГц, что при 16 кГц (и последующем прореживании
> через один) получим один и тот же массив чисел.

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


 
Труп Васи Доброго ©   (2012-04-12 13:18) [41]


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

Вот что значит "усраться, но не поддаться". В одной фразе ты говоришь, что я ошибаюсь, а потом подтверждаешь что я прав. Но всё-же намекаешь на какой-то иной случай.
Какой иной??? Давайс по умолчанию должен получать отсчёты с частотой 8 кГц. Имеются отсчёты исходного сигнала сделанные с частотой 16 кГц. Был вопрос - может ли девайс правильно работать с таким сигналом? Было предложено сделать из имеющегося, слишком частого, набора отсчётов такой, котрый был бы для девайса родным. Это делается простым удалением всех чётных отсчётов. Всё - задача решена. Девайс получил то, на что он расчитан.
И нет никакой разницы как получен конечный набор отсчётов, сделан изначально с заданной частотой или был получен путём прореживания удвоенной частоты. Набор данных будет одинаковым, независимо от того, какая частота была у исходного сигнала.
С чем ты тут не согласен я так и не понял. Ты хочешь доказать что наборы данных (1,3,5,7,9) и (1,2,3,4,5,6,7,8,9) - (2,4,6,8)=(1,3,5,7,9) не одинаковы?


 
Inovet ©   (2012-04-12 13:46) [42]

> [41] Труп Васи Доброго ©   (12.04.12 13:18)

Я тебе объясняю всю ветку, что 16 сделано не с потолка, значит надо было, значит там есть частоты выше 4, до 8. А раз есть, то будет НЕ однинаково в сравнении с изначально сделанным в 8, в котором их нет. Чтобы получить одинаково надо делать прореживание, потом ФНЧ - вот после этого будет одинаково с точностью до погрешностей. Ты же утверждаешь, что ФНЧ ничего не изменит, а это неверно при исходных условиях, озвученных в первом предложении этого и поста и ранее.

Так как ты предложил оцифровывать никто не делает.


 
Труп Васи Доброго ©   (2012-04-12 14:07) [43]


> 16 сделано не с потолка, значит надо было, значит там есть
> частоты выше 4, до 8.

Сдаюсь! Ты не видишь то, что написано и видишь то, чего нет.
Вот что было в начале.

> han_malign   (06.04.12 08:58) 
> Вопрос на засыпку - будет ли VAD заточенный под 8 КГц(G.
> 729B) без изменений работать для 16 КГц? Или там какие нибудь
> завязки на спектр вылезут???

Ты не видишь слова "заточенный под 8 КГц", не видишь "VAD", что предполагает обработку ГОЛОСА, а не писка дельфинов. Ты похоже явно не знаешь что в детектировании голоса не нужны частоты выше 4 кГц (и заточка девайса именно под 8 кГц это подтверждает), или знаешь, но хочешь доказать что-то своё. СДАЮСЬ!!!


 
Jeer ©   (2012-04-12 15:02) [44]


> не нужны частоты выше 4 кГц


"Не нужны" и "их там нет" - вот и принципиальная разница.

> СДАЮСЬ!!!


Принято.


 
Труп Васи Доброго ©   (2012-04-12 15:21) [45]


> Не нужны" и "их там нет" - вот и принципиальная разница.

Ещё один! Да где я сказал что высоких частот нет???? Я всегда говорил что они НЕ НУЖНЫ, поэтому заботиться о их сохранности глупо, ибо они в любом случае обрежутся девайсом.


 
han_malign   (2012-04-12 15:25) [46]


> (не поленись, нарисуй и сам убедишься.)

- я не поленился и нарисовал - han_malign [26], специально оставив метки времени, вместо номеров отсчета(то есть сохранив масштаб абсолютного времени)...

- и там четко видно, что на интервале времени [1..7] - после прореживания -  вместо двух волн - одна, причем той же формы размывания и с той же амплитудой...
(для особо непонятливых - засечки сигнала на частоте дискретизации отмечены символом "*", точками(.) отмечен исходный сигнал(будем считать его синусоидой))
И заметь(те) - никаких "высокочастотных  искажений" - один чистый гармонический сигнал - превратился в другой чистый гармонический сигнал...

> а не писка дельфинов

- и - как бы... - так получается, что писк дельфинов превратится во вполне себе сопрано...


 
Jeer ©   (2012-04-12 15:30) [47]


> Ещё один!


Не один, а главный :)


> И заметь(те) - никаких "высокочастотных  искажений" - один
> чистый гармонический сигнал - превратился в другой чистый
> гармонический сигнал...


Ну да, постоянный уровень 5 вольт тоже превратится в те же 5 В.

Но, вот незадача - в жизни нет места постоянству.
Даже ляжешь в гроб и все равно идут процессы :)


 
Труп Васи Доброго ©   (2012-04-12 15:35) [48]


> я не поленился и нарисовал - han_malign [26]

Ну так разницы между массивами полученными при "редком" считывании и "частом", а потом прореженном нет? - Нет! Что и требовалось доказать!

1 2 3 4 5 6 7 8 9 A B
---------------------
  .     .     .

 * *   * *   * *   *

     
*     *     *     *
---------------------
1   3   5   7   9   B
---------------------
  .     .     .

 . *   * .   . *   *

     
*     .     *     .
---------------------
это после прореживания, а вот что было бы при изначально "редкой" оцифровке
1   3   5   7   9   B
---------------------
  .     .     .

 . *   * .   . *   *

     
*     .     *     .
---------------------
ОДИНАКОВО!!!


 
han_malign   (2012-04-12 16:07) [49]


> а вот что было бы при изначально "редкой" оцифровке

- перед "изначально редкой оцифровкой" - идут аналоговые фильтры, после чего - идут цифровые фильтры - исправляющие АЧХ аналогового тракта(и, в том числе, приводящие к требующейся частоте дискретизации)...

Все "девайсы" которые работают по другому - выкинуты на помойку в 60-х годах, а их разработчики работают разнорабочими...


 
Труп Васи Доброго ©   (2012-04-12 16:15) [50]

Ты задал вопрос - тебе дали ответ, что девайс будет нормально работать если сигнал проредить. Для целей VAD этого более чем достаточно. Ты или уточняй что тебе надо или задавай вопрос по другому.

> идут аналоговые фильтры, после чего - идут цифровые фильтры
> - исправляющие АЧХ аналогового тракта

Вот что значит прогресс!!! У меня с такой задачей справлялся нормальный цифровой фильтр, написаный ещё на Delphi 5 на первом пне.


 
Jeer ©   (2012-04-12 16:28) [51]


> У меня с такой задачей справлялся нормальный цифровой фильтр,
>  написаный ещё на Delphi 5 на первом пне.


Хорошо, что тогда не было "Фобоса" :)


 
han_malign   (2012-04-12 16:57) [52]

уговорил...
выкидываю микрофон, выпаиваю AC-97 - на их место впаиваю пень и ставлю D5...
осталось найти правильный "нормальный цифровой фильтр"...

З.Ы. Запатентуй, а то Apple сопрет...


 
Inovet ©   (2012-04-12 18:06) [53]

> [48] Труп Васи Доброго ©   (12.04.12 15:35)
> Ну так разницы между массивами полученными при "редком"
> считывании и "частом", а потом прореженном нет? - Нет! Что
> и требовалось доказать!

Уже все всё объяснили, а ты снова за своё. Сдаётся мне, что ты всё это понял, но продолжаешь упорствовать. Позволь отцитировать тебя:

> [41] Труп Васи Доброго ©   (12.04.12 13:18)
> Вот что значит "усраться, но не поддаться".

Или просто развлекаешься?



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.61 MB
Время: 0.068 c
15-1334500957
None
2012-04-15 18:42
2013.03.22
Как запретить Win7 перезагружаться без спроса?


15-1335362406
wl
2012-04-25 18:00
2013.03.22
подскажите, я могу прийти в больницу не по месту жительства?


2-1333098565
leklerk
2012-03-30 13:09
2013.03.22
Fields Editor в ADODataSet


15-1344353459
wl
2012-08-07 19:30
2013.03.22
Как бы реализовали архитектуру клиента?


2-1346134856
noob_one
2012-08-28 10:20
2013.03.22
Терминал сбора данных





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский