Главная страница
    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 частоты модуляции. Оно, конечно, можно так сделать по какой-либо специфической надобности, но получатся искадения, тогда да - одинакого. Но у нас в сабже не тот случай.



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

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

Наверх




Память: 0.56 MB
Время: 0.072 c
2-1337107123
Валерий
2012-05-15 22:38
2013.03.22
Экспорт отчетов Fast Report в Open Office из Delphi


2-1340776149
mpdasa
2012-06-27 09:49
2013.03.22
Как вставлять текст в (rich)edit с задержкой времени


2-1339663694
сыр
2012-06-14 12:48
2013.03.22
помощь в разборе кода


2-1337971927
Den
2012-05-25 22:52
2013.03.22
Передать VK_LBUTTON в функцию?


2-1340358517
webpauk
2012-06-22 13:48
2013.03.22
Присвоение TNotifyEvent





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский