<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3333627</guid>
        <pubDate>Tue, 09 Jul 2013 07:42:13 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3333627</link>
        <description><![CDATA[Born55: Приветствую всех&#33; Что, не кто не поделится литературой?<br>с Уважением.М&#33;]]></description>
        <author>Born55</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3332583</guid>
        <pubDate>Fri, 05 Jul 2013 07:47:38 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3332583</link>
        <description><![CDATA[Born55: Я думал,что мы построили например акустическую модель GMM и сохраняем в какойто общий фаил все модели. А тут, информация для востановления, про это я не че не слышал, может есть литература где про это поподробней можно прочесть? :huh: <br>С Уважением.М&#33;]]></description>
        <author>Born55</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3332278</guid>
        <pubDate>Thu, 04 Jul 2013 10:26:53 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3332278</link>
        <description><![CDATA[zamir: Пожалуйста =)<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>есть у меня например акустические модели произнесенных цифр 1,2,4,6, как создается файл (так называемый словарь) с этими акустичечкими моделями?</div></div><br>
<br>
формат файла с моделями может быть любой. главное что бы информации было достаточно для восстановления модели.<br>
зачастую в готовых библиотеках есть функции сохранения моделей и восстановления моделей.<br>
по matlab у меня нет того опыта, который позволил бы ответить на ваш вопрос.]]></description>
        <author>zamir</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3332203</guid>
        <pubDate>Thu, 04 Jul 2013 08:20:13 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3332203</link>
        <description><![CDATA[Born55: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=3331891'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>zamir &#064; <time class="tag-quote__quoted-time" datetime="2013-07-03T10:59:55+00:00">03.07.13, 10:59</time></span><div class='quote '>если:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>максимальное значение <strong class='tag-b'>вероятности</strong> - 1,0</div></div><br>
и<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>после сравнения у меня получилось значение <strong class='tag-b'>вероятности</strong> - 0,86</div></div><br>
то получается речь идёт о схожести 86% =)<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>не пойму, как считается процент распознаваемого слова</div></div><br>
я на самом деле не особо разбирался гаусянами, возможно такой вариант вам подойдёт:<br>
если у вас есть несколько моделей/классов - получается сумма верояностей этих классов 100%<br>
например для 5-ти классов<br>
получаеся N*(p1+p2+p3+p4+p5)=1.0, где N - некий коэфициент нормализации который можно посчитать 1.0/sum(P)<br>
теперь что бы привести вероятность P к нормальному виду можно уможить её на N</div></div><br>
БОЛЬШОЕ СПАСИБО zamir&#33; Я так и догадывался, что все так считают, но в литературе сколько искал, так и нечего не находил. Максимально, что находил, это пример в Матлабе, какие функции используют для сравнения и все.<br>
У меня еще куча вопросов, что бы разьяснить кашу в моей голове. Я не пойму, есть у меня например акустические модели  произнесенных цифр 1,2,4,6, как создается файл (так называемый словарь) с этими акустичечкими моделями? :wall: <br>
С Уважение.М&#33;]]></description>
        <author>Born55</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3331891</guid>
        <pubDate>Wed, 03 Jul 2013 10:59:55 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3331891</link>
        <description><![CDATA[zamir: если:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>максимальное значение <strong class='tag-b'>вероятности</strong> - 1,0</div></div><br>
и<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>после сравнения у меня получилось значение <strong class='tag-b'>вероятности</strong> - 0,86</div></div><br>
то получается речь идёт о схожести 86% =)<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>не пойму, как считается процент распознаваемого слова</div></div><br>
я на самом деле не особо разбирался гаусянами, возможно такой вариант вам подойдёт:<br>
если у вас есть несколько моделей/классов - получается сумма верояностей этих классов 100%<br>
например для 5-ти классов<br>
получаеся N*(p1+p2+p3+p4+p5)=1.0, где N - некий коэфициент нормализации который можно посчитать 1.0/sum(P)<br>
теперь что бы привести вероятность P к нормальному виду можно уможить её на N]]></description>
        <author>zamir</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3331843</guid>
        <pubDate>Wed, 03 Jul 2013 09:48:19 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3331843</link>
        <description><![CDATA[Born55: Блин че, я туповат, уже месяца четыре пытаюсь найти ответ на этот вопрос и не могу. Метод критерия сравнения у меня один, это понятно, что если максимальное значение по мойму может принять 1(по теории вероятности) то это слово пренадлижит этой вероятности. Я не пойму, как считается процент достоверности распозноваемого слова, например после сравнения у меня получилось значение 0,86, что это означает, какой процент достоверно распознан?<br>С Уважением.М&#33;]]></description>
        <author>Born55</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3328111</guid>
        <pubDate>Mon, 24 Jun 2013 05:25:16 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3328111</link>
        <description><![CDATA[zamir: сравниваете с разными моделями максимально охватывающие рапознаваниемые данные<br>где наибольшее совпадение с моделью - той модели и принадлежит распознаваемый кусок данных<br><br>если у вас есть несколько критериев сравнения - то согласно теории вероятности вы перемножате между собой все критерии перед сравнением<br><br>p.s. что бы критерий вероятности 0.0000089062 представить ввиде например 78% вам необходима точка отчёта которую вы можете получить обработав статистику распознавания вашими моделями]]></description>
        <author>zamir</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3327465</guid>
        <pubDate>Sat, 22 Jun 2013 07:57:41 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3327465</link>
        <description><![CDATA[Born55: Я не пойму, как считается процент распознаваемого слова. Например, мы сказали слово один, нашли коэффециенты линейного предсказания или мел коэффициенты, сравнили с акустическими моделями построенные с помощью GMM, разных слов с помощью мин. дистанции Манахонолобиса или других подобных,если апроксимировали тремя гауссианоми, то в указанные переменные у нас сохраняются вероятностные значения совпадений дискриптора( коэффициентов линейного предсказания) слова(один) с имеющимися акустическими моделями, по максимальному значению принимается решение о произнесенном слове, если 80-90 процентов, то это слово значит принадлежит этой акустической модели, а эта акустическая модель слова (один). Я не пойму, что делать с значениями которые мы получили после вероятностного сравнения с акустическими моделями, если апроксимировали тремя гауссианами, то полученные значения разделяются на три гауссиана и получаем результаты совпаденией в каждый гауссиан, т.е в трех гауссианов, а если апроксимировали 2 гауссианами, то получаем результаты совпадений для 2 гауссианов. Чтобы получит общее число необходимо сложить, что ли все полученные значения совподений в разных гауссианов. Например в первом гауссиане мы получили 0,2, во втором 0,1, в третьем 0,6. То в результате мы получим вероятность 0,9 или не правильно? И как считают процент совподения? Например указывают, что слово один распознано с 90%, а слово два с 60%, это значит что ли, что слво один имеет вероятносное совпадение с акустической моделью равной 0,9, а слово два 0,6 и просто умножаем на 100% и получим процент распознавания 90% и 60%. Правильно ли, я понял? Примеры с опраксимацией 2 и тремя Гауссианами в приложении. :oops:<br>
<span class="b-attach" data-size="51000" data-hits="480" data-attach-id="30058" data-attach-post-id="3327465">
			<span class="b-attach__title"></span><a class='b-attach-link' href='https://forum.sources.ru/index.php?act=Attach&amp;type=post&amp;id=3327465&amp;attach_id=30058' title='Скачать файл' target='_blank'>2_Гауссиана.png</a> (, : 480)
		</span><br>
<span class="b-attach" data-size="52268" data-hits="430" data-attach-id="30059" data-attach-post-id="3327465">
			<span class="b-attach__title"></span><a class='b-attach-link' href='https://forum.sources.ru/index.php?act=Attach&amp;type=post&amp;id=3327465&amp;attach_id=30059' title='Скачать файл' target='_blank'>3Гауссиана.png</a> (, : 430)
		</span>]]></description>
        <author>Born55</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3327281</guid>
        <pubDate>Fri, 21 Jun 2013 14:02:58 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3327281</link>
        <description><![CDATA[zamir: Если речь от DTW то первая ссылка в google<br>
<br>
<a class='tag-url' href='https://en.wikipedia.org/wiki/Dynamic_time_warping' target='_blank'>https://en.wikipedia.org/wiki/Dynamic_time_warping</a><br>
<br>
Критерий задаёте вы сами]]></description>
        <author>zamir</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3327183</guid>
        <pubDate>Fri, 21 Jun 2013 11:05:32 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3327183</link>
        <description><![CDATA[Born55: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2722525'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>KarpovDeniska &#064; <time class="tag-quote__quoted-time" datetime="2010-10-10T20:32:55+00:00">10.10.10, 20:32</time></span><div class='quote '>Подскажите,каким образом принимается решение о том что слово распознано,какие условия должны выполняться.И ещё пишут что,там 80 %,там 90 % распознования,что имеется ввиду??(10 раз сказал слово -&gt;9 раз выполнились условия=90%? или например 10 раз сказал слово -&gt;10 раз разница = 0.1 при максимальной разнице (например=1) =90%?? дайте ссылку на подробное описание алгоритма, а то я что то пока плаваю.</div></div><br>
Приветствую всех&#33;&#33;&#33; Меня интересует, тот же вопрос, что и в цитате, но указанная ссылка которую дал уважаемый MedEx, не робит. У кого есть, по данному вопросу инфа дайти плиз ссылку или может, кто обьеснит? Может уважаемый MedEx, даст еще ссылку рабочую? Заранее всем спасибо&#33;&#33;&#33;&#33; :)]]></description>
        <author>Born55</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3306235</guid>
        <pubDate>Fri, 26 Apr 2013 12:15:43 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=3306235</link>
        <description><![CDATA[wifsla: <strong class='tag-b'>-unGod-</strong> Вы не могли бы подсказать, как у Вас реализована порезка сигнала на фреймы? А то уже ищу, ищу, и понять не могу, как же это закодить. Хоть в общих чертах, что применяете.]]></description>
        <author>wifsla</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2772413</guid>
        <pubDate>Wed, 08 Dec 2010 00:07:11 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2772413</link>
        <description><![CDATA[-unGod-: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Как ты обрезаешь лишнее(шум)?</div></div><br>
Звуковой файл (2 сек) с записанной командой содержит 2/3 тишины, ее я и обрезаю. Как это происходит:<br>
- подсчет мощности шума первого фрейма (будет использоватся как базовый)<br>
- подсчет мощности каждого след. фрейма, и откидывание его, до тех пор, пока мощность не станет как минимум раз в 20 выше, чем в базовом (это и будет началом команды)<br>
аналогично и для конца<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Длина фрейма берется в байтах? т.е. в данном случае по 480 байт?</div></div><br>
Длина фрейма берется в отсчетах. Оконная функция должна быть такойже длинны как и фрейм. У меня длинна фрейма была 240 отсчетов.]]></description>
        <author>-unGod-</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2766691</guid>
        <pubDate>Wed, 01 Dec 2010 15:55:59 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2766691</link>
        <description><![CDATA[BashOrgRu: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2716913'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;unGod&#045; &#064; <time class="tag-quote__quoted-time" datetime="2010-10-05T09:04:40+00:00">05.10.10, 09:04</time></span><div class='quote '>2 Обрезаю лишнее (шум) остается приблизительно 1/3 сигнала</div></div><br>
Как ты обрезаешь лишнее(шум)? <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2010-12-01T15:59:45+00:00">01.12.10, 15:59</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2587643'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;unGod&#045; &#064; <time class="tag-quote__quoted-time" datetime="2010-05-06T16:07:01+00:00">06.05.10, 16:07</time></span><div class='quote '>3.2 Умножаю фрейм на окно Хемминга. Формула: <br>
f(i) = y(i) * w(i),<br>
y(i) - исходный сигнал, w(i) - оконная функция:<br>
w(n) = 0.54 - 0.46 * cos(2 * pi * (n - 1) / (N - 1)); (n = 0..N)<br>
N - кол-во отсчетов оконной функции. Оно равно длине фрейма.</div></div><br>
-unGod-, Длина фрейма берется в байтах? т.е. в данном случае по 480 байт?]]></description>
        <author>BashOrgRu</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2722540</guid>
        <pubDate>Sun, 10 Oct 2010 21:03:40 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2722540</link>
        <description><![CDATA[MedEx: <strong class='tag-b'>KarpovDeniska</strong><br>
<a class='tag-url' href='http://speechtech-medex.narod.ru/proizvodnie_ot_nabora_semplov/' target='_blank'>ссылка</a><br>
по последней ссылке - алгоритм кросс-кореляции.]]></description>
        <author>MedEx</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2722525</guid>
        <pubDate>Sun, 10 Oct 2010 20:32:55 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2722525</link>
        <description><![CDATA[KarpovDeniska: Подскажите,каким образом принимается решение о том что слово распознано,какие условия должны выполняться.И ещё пишут что,там 80 %,там 90 % распознования,что имеется ввиду??(10 раз сказал слово -&gt;9 раз выполнились условия=90%? или например 10 раз сказал слово -&gt;10 раз разница = 0.1 при максимальной разнице (например=1) =90%?? дайте ссылку на подробное описание алгоритма, а то я что то пока плаваю.]]></description>
        <author>KarpovDeniska</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2717514</guid>
        <pubDate>Tue, 05 Oct 2010 15:28:33 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2717514</link>
        <description><![CDATA[KarpovDeniska: Спасибо.]]></description>
        <author>KarpovDeniska</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2717264</guid>
        <pubDate>Tue, 05 Oct 2010 12:39:54 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2717264</link>
        <description><![CDATA[Анатоль: Человек воспринимает громкость сигнала не пропорционально энергии, а пропорционально её логарифму.<br>Кепстральных коэфициентов меньше чем спектральных, они независымы и стойки к изменению амплитуды сигнала.]]></description>
        <author>Анатоль</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2716913</guid>
        <pubDate>Tue, 05 Oct 2010 09:04:40 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2716913</link>
        <description><![CDATA[KarpovDeniska: Кто-нибудь обьясните пожалуйста для чего выполняется логарифмирование и зачем нужны кепстральные коэффициенты??почему нельзя также посчитать расстояние между спектральными???]]></description>
        <author>KarpovDeniska</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2612062</guid>
        <pubDate>Thu, 03 Jun 2010 18:17:08 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2612062</link>
        <description><![CDATA[Анатоль: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>mjpronin,</span><div class='quote '>2. При усреднении по мел наоборот - т.е. с увеличением частоты ширина полос уменьшается.</div></div><br>
<br>
Увеличивается.]]></description>
        <author>Анатоль</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2611731</guid>
        <pubDate>Thu, 03 Jun 2010 12:43:07 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2611731</link>
        <description><![CDATA[mjpronin: Народ, подскажите.<br>
<br>
Обратил внимание на следкющую особенность, если так можно сказать.<br>
<br>
Вродебы при усреднении как по шкале барк так и по шкале мел исходят из одних и тех же соображений, но почему получается так, что:<br>
<br>
<strong class='tag-b'>1. При усреднении по барк ширина полос усредения в зависимости от частоты становится шире<br>
2. При усреднении по мел наоборот - т.е. с увеличением частоты ширина полос уменьшается.</strong><br>
<br>
Так какому ходу мысли надо следовать, ведь методы приводят к диаметрально противоположным выводам.<br>
<br>
Я так понимаю, с увеличением частоты чувствительность падает, можно усреднять грубее - по более широкой полосе, тогда из каких рассуждении результаты шкалы мел.]]></description>
        <author>mjpronin</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2602263</guid>
        <pubDate>Sun, 23 May 2010 21:34:39 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2602263</link>
        <description><![CDATA[-unGod-: <strong class='tag-b'>Father</strong>, метод DTW я взял из Википедии, там хорошо расписано и код прилагается. То что я писал в самом первом посте про DTW - шопопало.<br>
В конечном итоге сравнение я меня происходит следующим образом:<br>
1 Получив матрицу Nх12 (N - кол-во фреймов). Получается для каждого фрейма по 12 КЕПСТРальных коефициентов.<br>
2 Беру эту матрицу и сравниваю с эталонными (заранее сохраненными в файле например).<br>
3 Сравнение посходит построчно. 1й с 1м, 2й со 2м, 3й с 3м и т д. Этот шаг какраз и делает та функция с Википедии.<br>
<br>
Например у нас есть входящий неизвестный фрейм (строчку матрицы) и 10 эталонных. Задача найти более подходящий. Другими словами, при сравнении с которым DTW вернет минимальное число.<br>
<br>
4 Анализирую все N типов, и тот который встретился наиболее чаще и будет ответом.<br>
<br>
В итоге конечно никогда неполучится так что массивы будут всегда одного размера. У себя я ставил проверки. Если вдруг неизвесная команда больше эталонной, уменьшал вероятность. Незнаю как это обьяснить. Вобщем чем больше команда превосходила эталон по длине - тем меньше она на него была похожа.]]></description>
        <author>-unGod-</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2598763</guid>
        <pubDate>Wed, 19 May 2010 16:20:42 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2598763</link>
        <description><![CDATA[Father: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2587643'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;unGod&#045; &#064; <time class="tag-quote__quoted-time" datetime="2010-05-06T16:07:01+00:00">06.05.10, 16:07</time></span><div class='quote '>2 Обрезаю лишнее (шум) остается приблизительно 1/3 сигнала<br>
3 Делю их на фреймы (кадры) по 20мс с перекрытием в 2/3<br>
<br>
4 Сравнение с помощью DTW:<br>
D(x,y) = sqrt(sum( (x[i] - y[i])^2 ) );<br>
x - входной вектор<br>
y - эталонный вектор словаря</div></div><br>
<br>
после вырезания шума длинна сигналов ведь всех разной будет, как это учесть? привести к общему виду? или это ненужно делать?<br>
<br>
и по 4 дальше в теме было написано что DTW неполностью реализован, как вы его изменили?]]></description>
        <author>Father</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2596832</guid>
        <pubDate>Mon, 17 May 2010 16:22:40 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2596832</link>
        <description><![CDATA[Анатоль: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>mjpronin,</span><div class='quote '>или в этом случаи можно обойтись вообще без применения триугольного фильтра.</div></div><br>
Именно.<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>mjpronin,</span><div class='quote '> Обязательно ли разбивать на критические полосы, которые имеют строгое соответствие шкале Барк 20, 100, 200, 300, 400, 510.....<br>
или можно отойти от этих граничных (рекомендованных) значений</div></div><br>
На критические полосы нужно разбивать.<br>
Критические полосы характеризуются не границами, а шириной.<br>
Границы и количество критических полос, которые надо брать ... здесь возможен нек. произвол.<br>
Но желательно, чтоб они перекрывали телефоннй диапазон (300-3000гц.)<br>
А лучше 150-5500гц.]]></description>
        <author>Анатоль</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2596788</guid>
        <pubDate>Mon, 17 May 2010 15:47:14 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2596788</link>
        <description><![CDATA[mjpronin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2596679'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Анатоль &#064; <time class="tag-quote__quoted-time" datetime="2010-05-17T14:03:32+00:00">17.05.10, 14:03</time></span><div class='quote '>Я не следил, что такое у Вас Aj.<br>
Пусть у Вас есть 128 (например) значений спектра (после БПФ).<br>
Вы разбиваете весь частотный диапазон на 20 (например) критических полос.<br>
В каждой полосе будет несколько значений спектра (чем шире полоса - тем больше). Из них берёте максимальное. </div></div><br>
<br>
1.Беру максимольное после применения триугольного фильтра, или в этом случаи можно обойтись вообще без применения триугольного фильтра.<br>
2. Обязательно ли разбивать на критические полосы, которые имеют строгое соответствие шкале Барк 20, 100, 200, 300, 400, 510.....<br>
или можно отойти от этих граничных (рекомендованных) значений.]]></description>
        <author>mjpronin</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2596679</guid>
        <pubDate>Mon, 17 May 2010 14:03:32 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2596679</link>
        <description><![CDATA[Анатоль: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>mjpronin,</span><div class='quote '>Вы имеете ввиду для каждой полосы взять только наибольшее Aj? </div></div><br>
<br>
Я не следил, что такое у Вас Aj.<br>
Пусть у Вас есть 128 (например) значений спектра (после БПФ).<br>
Вы разбиваете весь частотный диапазон на 20 (например) критических полос.<br>
В каждой полосе будет несколько значений спектра (чем шире полоса - тем больше). Из них берёте максимальное.]]></description>
        <author>Анатоль</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2596468</guid>
        <pubDate>Mon, 17 May 2010 11:23:42 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2596468</link>
        <description><![CDATA[nsh: mjpronin, усреднение идет не до частоты 150 Гц, а до 150 отсчёта в преобразовании Фурье.<br>Этот отсчёт соответсвует частоте 11 кГц в теории, то есть максимальной для данной частоты<br>дискретизации. На практике у -unGod- может быть все не так радужно.]]></description>
        <author>nsh</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2596435</guid>
        <pubDate>Mon, 17 May 2010 10:56:15 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2596435</link>
        <description><![CDATA[mjpronin: <strong class='tag-b'>-unGod- </strong><br>
<br>
Спасибо, попробовал. Если честно получается примерно тот же результат, что и у меня раньше. <br>
Я делал так же, единственно только за исключением: использоваль другой массив FHZ<br>
<br>
<br>
Может быть кто-нибудь подскажет, а в чем физический смысл усреднения (например) до частоты 150Hz, если (например) FFT отражает сигнал вплоть до 11025Hz.(при частоте дискр. 22050Hz)?<br>
<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2595380'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Анатоль &#064; <time class="tag-quote__quoted-time" datetime="2010-05-15T21:02:32+00:00">15.05.10, 21:02</time></span><div class='quote '>Вот именно. Причём и &quot;усреднять&quot; можно по разному.<br>
Например можно взять максимальное значение в каждой критической полосе. </div></div><br>
<br>
Вы имеете ввиду для каждой полосы взять только наибольшее Aj?]]></description>
        <author>mjpronin</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2595705</guid>
        <pubDate>Sun, 16 May 2010 12:41:14 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2595705</link>
        <description><![CDATA[iitta: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2594520'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>antonsrv8 &#064; <time class="tag-quote__quoted-time" datetime="2010-05-14T13:47:45+00:00">14.05.10, 13:47</time></span><div class='quote '> Может iitta выскажется - он тоже заваривал эту кашу, в том числе про фильтрацию в частотной области </div></div><br>
Нет уж, разбирайтесь сами. У человека корень висит в воздухе, а вы ему про нули и полюса. После фразы<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2594168'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Анатоль &#064; <time class="tag-quote__quoted-time" datetime="2010-05-14T07:50:00+00:00">14.05.10, 07:50</time></span><div class='quote '>И чем Ваш пост помог мне? Чем он не &quot;высокомерное издевательство&quot;?<br>
Тем что Вы говорите про какие-то полюса, нули...?</div></div><br>
могли бы догадаться, что здесь не до Z-преобразования. Вы бы ещё про интегрирование по вычетам рассказали. Человек считает, что что-то понял, ну и оставьте его в покое.<br>
Про фильтр (Yt = A*(Xt - Xt-1) - B*Yt-1) всё понятно, естественно, в вашей интерпретации. Коэффициент А не нужен. Делаем замену X&#39;=AX и возвращаемя к нашим баранам. Полюс может позволить приблизить АЧХ к непрерывному случаю – линейный рост с частотой (на ограниченном участке) вместо sin(PI*f/F), который обеспечивает 6дб на октаву только с точностью первого члена разложения Тейлора (sin(PI*f/F)~PI*f/F), то есть на низких частотах. Все эти красоты довольно бесполезны и с вычитанием среднего кепстра вообще теряют смысл, учитывая, что согласно кривой равной громкости значение гармоник выше 4 кГц падает, простой фильтр Yt = Xt - АXt-1 может оказаться лучше даже для алгоритмов, в которых амплитуда гармоник имеет значение.<br>
Про фильтрацию в частотной области - я вообще не понимаю, о чём здесь спорить. Я прочитал об этом несколько лет назад в не помню какой статье (и даже не использовал – по статье выигрыш в несильных шумах невелик), вам рассказали на лекции. Это не предмет для спора – вам что, хотят доказать, что вы этого не слышали? В любом случае сведениям из приличной статьи я доверяю, а за мнение Коровина гроша ломаного не дам. Вы же не будете тратить время на то, чтобы проводить эксперименты или искать статью, чтобы что-то ему доказать? (Правильно – бесполезно). А без аргументов всё превращается в обычный бессмысленный спор: «я прав» - «нет я», дополненный высосанными из пальца глупостями, вроде особой простоты русского языка для распознавания.<br>
Займитесь лучше якобианами и VTLN-ами, не втягивайтесь в мелочные споры по пустякам – вы же подняли интересный вопрос. Мне очень понравилась та статья, на которую я ссылался: Sankaran Panchapagesan, Abeer Alwan, «Frequency Warping for VTLN and Speaker Adaptation by Linear Transformation of Standard MFCC», 2008. Преобразование MFCC коэффициентов сделано корректно, объяснены нелинейности и допущения + много ссылок. Мне кажется, что для русского языка метод VTLN должен быть особенно эффективен из-за рекордного разброса формант мужских и женских голосов.]]></description>
        <author>iitta</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2595553</guid>
        <pubDate>Sun, 16 May 2010 09:00:45 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2595553</link>
        <description><![CDATA[-unGod-: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Подскажите, пожалуйста?<br>
Или можно усреднять по любому массиву, в котором элементы изменяются по логорифму???</div></div><br>
Обьясняю:<br>
1) Берете общее кол-во отсчетов спектра. У меня это 300, но я взял 150, так как вторая половина симетрична.<br>
2) Выбераете для себя кол-во СПЕКТРальных коефициентов (можете брать 20, как у меня).<br>
3) Далее диапазон 150 разбиваете на 20 частей, тоесть 150/20=7.5. Чтобы небало дробной части я сделал так:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">FHZ = [7,15,22,30,37,45,52,60,67,75,82,90,97,105,112,120,127,135,142,150];</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
4) Это частоты в Герцах. Я их перевел в &quot;МЕЛы&quot;. По принципу:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">for i = 1:SPECT_KOEF_COL</div><div class="code_line">&nbsp;&nbsp; &nbsp;mel(i) = 1127 * log(1 + FHZ(i) / 700);</div><div class="code_line">end</div></ol></div></div></div></div><br>
5) В результате получил массив mel, который потом использовал сдесь:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Fs = max(mel) / (N / 2);</div><div class="code_line">&nbsp;</div><div class="code_line">for j = 2:SPECT_KOEF_COL - 1</div><div class="code_line">&nbsp;&nbsp; &nbsp;kj = round(mel(j) / Fs);</div><div class="code_line">&nbsp;&nbsp; &nbsp;kl = round(mel(j - 1) / Fs);</div><div class="code_line">&nbsp;&nbsp; &nbsp;kr = round(mel(j + 1) / Fs);</div><div class="code_line">&nbsp;&nbsp; &nbsp;l = kj - kl;</div><div class="code_line">&nbsp;&nbsp; &nbsp;r = kr - kj;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Aj = 0;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;for i = 1:l</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;mi = i / l;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Aj = Aj + s(kl + i) * mi;</div><div class="code_line">&nbsp;&nbsp; &nbsp;end</div><div class="code_line">&nbsp;&nbsp; &nbsp;for i = 1:r - 1</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;mi = i / r;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Aj = Aj + s(kr - i) * mi;</div><div class="code_line">&nbsp;&nbsp; &nbsp;end</div><div class="code_line">&nbsp;&nbsp; &nbsp;A(j) = Aj / (l + r - 1);</div><div class="code_line">end</div></ol></div></div></div></div><br>
SPECT_KOEF_COL - кол-во СПЕКТРальных коеф.<br>
N - кол-во отсчетов в фурье (в данном случае = 300)<br>
Эта часть кода нужна для усреднения. Подробнее рассказать немогу так как сам неочень прошарен.<br>
<br>
6) После усреднения нужно сделать логарифм.<br>
7) И множете на COS-преобразование.]]></description>
        <author>-unGod-</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2595524</guid>
        <pubDate>Sun, 16 May 2010 08:26:01 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2595524</link>
        <description><![CDATA[mjpronin: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>
Fs = 12000 / 300;<br>
for j = 2:23<br>
    kj = round(FHZ(j) / Fs);<br>
    kl = round(FHZ(j - 1) / Fs); <br>
    kr = round(FHZ(j + 1) / Fs); <br>
    l = kj - kl; <br>
    r = kr - kj; <br>
    Aj = 0; <br>
    <br>
    for i = 1:l<br>
        mi = i / l; <br>
        Aj = Aj + s_log(kl + i) * mi; <br>
    end<br>
    for i = 1:r - 1<br>
        mi = i / r; <br>
        Aj = Aj + s_log(kr - i) * mi; <br>
    end<br>
    A(j) = Aj / (l + r - 1);<br>
end<br>
</div></div><br>
<br>
Что значит <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>взять максимальное значение в каждой критической полосе</div></div>?, т.е для каждого FHZ(j) <strong class='tag-b'>складывать только наибольшее Aj</strong>.<br>
Или Вы имеете в виду усреднять по массиву FHZ[] в котором брать элементы <strong class='tag-b'>не граничные частоты </strong>(т.е. 100-200-300-400-510-630), а <strong class='tag-b'>центральные</strong> (т.е. 50-150-250-350-450-570)<br>
<br>
<br>
Вот например при частоте дискретизации 22050 и при FFT-256точек (полученных из 512 точек сигнала) я использую реализацию предложенную <strong class='tag-b'>Анатолем</strong> в предыдущих постах и темах т.е. то что в начале моего сообщения  <br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>
Fs = 11025 / 256;<br>
FHZ[22] = {20, 100, 200, 300, 400,<br>
                510, 630, 770, 920, 1080,<br>
                1270, 1480, 1720, 2000, 2320,<br>
                2700, 3150, 3700, 4400, 5300,6400,7700,9500};   //вплоть до 12000(не включая т.к. 11050 &lt; 12000)<br>
<br>
</div></div><br>
<br>
Так каким образом мне улучшить качество распознования? Другой FHZ взять или Aj только максимальные складывать.]]></description>
        <author>mjpronin</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2595472</guid>
        <pubDate>Sun, 16 May 2010 06:20:25 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2595472</link>
        <description><![CDATA[kab70: Поддерживаю Анатолия. Я проводил эксперимент. Брал звук  делал  БПФ патом выше указанные полосы-  просто усреднял, усреднял по треугольной функции , брал просто максимумы , далее делал обратное преобразование и слушал какой вариант лучше. Мене показалось, что брать просто максимумы лучше, разборчивость речи была выше .]]></description>
        <author>kab70</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2595380</guid>
        <pubDate>Sat, 15 May 2010 21:02:32 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2595380</link>
        <description><![CDATA[Анатоль: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>mjpronin,</span><div class='quote '>Или можно усреднять по любому массиву, в котором элементы изменяются по логорифму??? </div></div><br>
<br>
Вот именно. Причём и &quot;усреднять&quot; можно по разному.<br>
Например можно взять максимальное значение в каждой критической полосе.]]></description>
        <author>Анатоль</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2595220</guid>
        <pubDate>Sat, 15 May 2010 16:05:34 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2595220</link>
        <description><![CDATA[mjpronin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2591622'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;unGod&#045; &#064; <time class="tag-quote__quoted-time" datetime="2010-05-11T16:18:33+00:00">11.05.10, 16:18</time></span><div class='quote '>Внес небольшие изменения в алгоритм:<br>
Массив частот FHZ раньше был до 12000, а теперь до 150 (поскольку 150 отсчетов в БПФ/2). Кол-во элеметов сделал 20. Частоты в Герцах.<br>
<br>
FHZ = [7,15,22,30,37,45,52,60,67,75,82,90,97,105,112,120,127,135,142,150];<br>
<br>
Результат:<br>
Значительное улучшение распознавания приблизительно на 20..30%. У меня теперь слово &quot;семь&quot; распознает на 90% =) Также хорошо распознаются длинные команды: &quot;наушники&quot;, &quot;микрофон&quot; </div></div><br>
<br>
Кто-нибудь может пояснить, я если честно не понял, это как так?<br>
Товарищь вот берёт массив FHZ = [7,15,22,30,37,45,52,60,67,75,82,90,97,105,112,120,127,135,142,150]; и усредняет по нему, но что это за массив частот, что это такое вообще?<br>
Ведь как я понял усредняют по массиву частот вплоть до частоты в половину частоты дискретизации, ведь надо усреднять по массиву частот, который corresponds to the first 24 critical bands of hearing?<br>
Разве можно усреднять по другому массиву, а не по 20, 100, 200, 300, 400, 510, 630, 770, 920, 1080, 1270, 1480, 1720, 2000, 2320, 2700, 3150, 3700, 4400, 5300, 6400, 7700, 9500, 12000, 15500.<br>
<br>
Подскажите, пожалуйста?<br>
Или можно усреднять по любому массиву, в котором элементы изменяются по логорифму??? :wall:  :crazy:]]></description>
        <author>mjpronin</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2594588</guid>
        <pubDate>Fri, 14 May 2010 15:10:46 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2594588</link>
        <description><![CDATA[KoPoBuH: Любой цифровой фильтр имеет вид Y<sub class='tag-sub'>t</sub> = A<sub class='tag-sub'>0</sub>X<sub class='tag-sub'>t</sub> + A<sub class='tag-sub'>1</sub>X<sub class='tag-sub'>t-1</sub> + ... + B<sub class='tag-sub'>1</sub>Y<sub class='tag-sub'>t-1</sub> + B<sub class='tag-sub'>2</sub>Y<sub class='tag-sub'>t-2</sub> + ...<br>
A<sub class='tag-sub'>j</sub> и B<sub class='tag-sub'>j</sub> некие костанты, вычисляются один раз исходя из требований частоты среза фильтра<br>
f - частота среза, f<sub class='tag-sub'>c</sub> - тактовая частота]]></description>
        <author>KoPoBuH</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2594520</guid>
        <pubDate>Fri, 14 May 2010 13:47:45 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2594520</link>
        <description><![CDATA[antonsrv8: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2594168'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Анатоль &#064; <time class="tag-quote__quoted-time" datetime="2010-05-14T07:50:00+00:00">14.05.10, 07:50</time></span><div class='quote '>И чем Ваш пост помог мне? Чем он не &quot;высокомерное издевательство&quot;?</div></div><br>
я дал формулы АЧХ как функции частоты f. Постройте и увидите, что это фильтр, усиливающий высокие.Если А=1, то это просто 2*sin(PI*f/F), 0&lt;f&lt;F/2.<br>
<br>
А теперь постройте АЧХ по этим формулам:<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2592735'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>KoPoBuH &#064; <time class="tag-quote__quoted-time" datetime="2010-05-12T17:55:30+00:00">12.05.10, 17:55</time></span><div class='quote '><br>
Yt = A*(Xt - Xt-1) - B*Yt-1<br>
<br>
A = y/(1+y)<br>
B = (1-y)/(1+y)<br>
y = cos(w)/sin(w)<br>
w = PI*f/fc</div></div><br>
 <br>
ваще не понятно - А и В - это коэффициенты фильтра или функции частоты?<br>
Когда же объясните - я уже 3 раза прошу.<br>
<br>
Если бы А и В были константы, то всё понятно, только А бестолково усиливает, надо:<br>
<br>
Yt = Xt - А*Xt-1 - B*Yt-1<br>
<br>
Про полюса, раз не знаете:<br>
<br>
Z преобразование от этого фильтра будет:<br>
<br>
Y = X - AX/Z - BY/Z,<br>
<br>
отсюда АЧХ в Z представлении:<br>
<br>
H(z) = Y/X = (1-A/z)/(1+B/z), то есть фильтр имеет ноль в z=A и полюс в z=-B. Оба действительные. <br>
Если А около 1, то будут давиться низкие частоты, около -1 - высокие (понятно, фильтр Yt = Xt + Xt-1 зануляет частоты около Найквиста).<br>
Если В стремится к 1, то будет пик на частоте Найквиста (без нуля фильтр будет <br>
Yt = Xt - Yt-1 - неустойчивый фильтр, усиливающий высокие)<br>
<br>
Ну, выложил все как на духу. Может теперь все таки объясните мне, что вы поняли в формулах Коровина - он не снисходит. Может iitta выскажется - он тоже заваривал эту кашу, в том числе про фильтрацию в частотной области]]></description>
        <author>antonsrv8</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2594168</guid>
        <pubDate>Fri, 14 May 2010 07:50:00 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2594168</link>
        <description><![CDATA[Анатоль: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>antonsrv8,</span><div class='quote '>А это уже напоминает высокомерное издевательство над неопытным человеком</div></div><br>
<br>
Я о чём?<br>
Вот я неопытный человек.<br>
Я знаю, что фильтр должен что-то пропускать, а что-то задерживать (ослаблять).<br>
И чем Ваш пост помог мне? Чем он не &quot;высокомерное издевательство&quot;?<br>
Тем что Вы говорите про какие-то полюса, нули...?<br>
<br>
Если уж Вы критикуете кого-то за &quot;высокомерное издевательство над неопытным человеком&quot;, то хотелось бы ожидать от Вас снисхождения к объекту Вашей заботы и понятного объяснения.]]></description>
        <author>Анатоль</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2594101</guid>
        <pubDate>Fri, 14 May 2010 06:58:01 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2594101</link>
        <description><![CDATA[antonsrv8: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2593839'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Анатоль &#064; <time class="tag-quote__quoted-time" datetime="2010-05-13T20:28:06+00:00">13.05.10, 20:28</time></span><div class='quote '>И что с этим корнем делать?</div></div><br>
Вы что, модуль комплексного числа никогда не вычисляли - извлекать его, если хотите амплитудную характеристику.<br>
Коэффициент &#39;а&#39; находится из ваших же требований к АЧХ.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2593839'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Анатоль &#064; <time class="tag-quote__quoted-time" datetime="2010-05-13T20:28:06+00:00">13.05.10, 20:28</time></span><div class='quote '>Из сообщения Коровина ясно как вычислять У зная Х и предыдуший У.<br>
(У него есть формулы для А и В)</div></div><br>
Прошу все таки объяснить - А и В зависят от f? вы сами-то понимаете, что там написано?<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2593936'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>KoPoBuH &#064; <time class="tag-quote__quoted-time" datetime="2010-05-14T00:46:25+00:00">14.05.10, 00:46</time></span><div class='quote '>Звучит очень революционно. У меня только один вопрос - сколько раз я должен проделать эти преобразования, чтобы уменьшить шум на 10дБ?</div></div><br>
Какая там революционность - студентам преподают. что же мне - слушать вашу ахинею про разрядности и забыть чему учили? Один раз уже послушал - оказалось полная чушь]]></description>
        <author>antonsrv8</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2593936</guid>
        <pubDate>Fri, 14 May 2010 00:46:25 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2593936</link>
        <description><![CDATA[KoPoBuH: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2593215'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>antonsrv8 &#064; <time class="tag-quote__quoted-time" datetime="2010-05-13T10:00:02+00:00">13.05.10, 10:00</time></span><div class='quote '>Дополнительных шумов никто и не обещал, а вот уменьшение шума наблюдается за счёт участия всех компонент окна анализа в получении спектра. Хотя судя по вашим предыдущим заявлениям, объяснить вам ничего невозможно</div></div><br>
Т.е. тем самым вы утверждаете, что если я хочу уменьшить шум в сигнале, то мне достаточно перевести сигнал из временного представления в спектральное и обратно. Звучит очень революционно. У меня только один вопрос - сколько раз я должен проделать эти преобразования, чтобы уменьшить шум на 10дБ?<br>
<br>
<strong class='tag-b'>antonsrv8</strong>, мне почему-то кажется что прична несколько в другом. При линейной обработке сигнала шумам просто неоткуда взяться. На то она и линейная обработка. Все шумы появляются от нелинейности. В случае цифровой фильтрации источником шума является усечение результата из-за ограничений на разрядность аккумулятора и элементов задержки фильтра. Если говорим об устойчивости фильтра, то нужно сюда добавить разрядность коэффициентов. Фильтры бывают КИХ и БИХ. БИХ фильтры наиболее чувствительны к величине разрядности, но это совершенно пустая фраза, потому как устойчивость фильтра зависит как от его архитектуры так и от его параметров. Т.е. устойчивость понятие частное. При одной и той же архитектуре, при одной и той же разрядности БИХ фильтр может быть устойчивым, малошумящим, а может и нет. Это зависит от характера фильтра. В частности насколько шумит БИХ фильтр зависит от его частоты среза. КИХ фильтры этим не грешат. В данном конкретном случае мы имеем КИХ фильтр, поэтому совет <strong class='tag-b'>iitta</strong>, что коррекция АЧХ в спектральной области якобы меньше шумит, чем во временной, совершенно не поделу и по сути является еще одной религиозной догмой от науки. Даже если предположить, что результат после дифференциатора усекается до 16 бит, мы имеем шум на выходе на уровне половины младшего разряда. Если при этом учесть, что динамический диапазон реального речевого сигнала в самом лучшем случае составляет порядка 50дБ (что нужно еще постараться получить), что есть в свою очередь 8 старших разрядов из 16, то получается шум КИХ фильтра лежит на уровне порядка -50дБ от уровня шумов речевого сигнала. Так с чем же идет пресловутая борьба? Все это было актуально в прошлом веке. Сегодня вычисления с плавающей точкой быстрее по сравнению с целочисленными и поэтому проблем с ограниченной разрядностью порождающей шумы по сути не существует<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2593499'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>antonsrv8 &#064; <time class="tag-quote__quoted-time" datetime="2010-05-13T14:42:36+00:00">13.05.10, 14:42</time></span><div class='quote '>Непонятно только зачем это наворачивать, если и простой фильтр Yt = Xt - A*Xt-1 не особо нужен </div></div><br>
Что значит не особо нужен? Кто-то делает CMN, кто-то нет, в любом случае не будет лишним, а речь шла о постоянной составляющей, которая полностью не убирается этим мягким дифференцированием из-за требований к корректирующей АЧХ]]></description>
        <author>KoPoBuH</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2593839</guid>
        <pubDate>Thu, 13 May 2010 20:28:06 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2593839</link>
        <description><![CDATA[Анатоль: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>antonsrv8,</span><div class='quote '>корень из всего, что внутри </div></div><br>
И что с этим корнем делать?<br>
<br>
Из сообщения Коровина ясно как вычислять У зная Х и предыдуший У.<br>
(У него есть формулы для А и В)<br>
<br>
У Вас же для вчисления <strong class='tag-b'>у</strong> нужен коэфициент <strong class='tag-b'>а</strong>.<br>
А как его найти - не понятно.<br>
Он входит в какой-то корень. Ну и что?<br>
Как его можно вычислить, если корень ни к чему не приравнен, а просто висит себе в воздухе?]]></description>
        <author>Анатоль</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2593499</guid>
        <pubDate>Thu, 13 May 2010 14:42:36 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2593499</link>
        <description><![CDATA[antonsrv8: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2593382'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Анатоль &#064; <time class="tag-quote__quoted-time" datetime="2010-05-13T13:03:07+00:00">13.05.10, 13:03</time></span><div class='quote '>antonsrv8, То что написал Коровин - понятно.<br>
А то, что Вы написали - непонятно. Какой-то корень, висящий в воздухе. </div></div><br>
<br>
корень из всего, что внутри (скобки вроде правильно поставил)<br>
<br>
Ну, если <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2593382'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Анатоль &#064; <time class="tag-quote__quoted-time" datetime="2010-05-13T13:03:07+00:00">13.05.10, 13:03</time></span><div class='quote '>То что написал Коровин - понятно.</div></div> <br>
скажите, зачем А умножать на Xt-Xt-1 - это полное дифференцирование с коэффициентом усиления А.<br>
Исходя из формул, А и В зависят от частоты - это тоже объясните. <br>
<br>
Понятно, что для фильтра<br>
Yt = Xt - A*Xt-1 - B*Yt-1 <br>
наклон АЧХ можно эффективно регулировать дополнительным полюсом.<br>
Непонятно только зачем это наворачивать, если и простой фильтр Yt = Xt - A*Xt-1 не особо нужен]]></description>
        <author>antonsrv8</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2593382</guid>
        <pubDate>Thu, 13 May 2010 13:03:07 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2593382</link>
        <description><![CDATA[Анатоль: <strong class='tag-b'>antonsrv8</strong>, То что написал Коровин - понятно.<br>
А то, что Вы написали - непонятно. Какой-то корень, висящий в воздухе.]]></description>
        <author>Анатоль</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2593215</guid>
        <pubDate>Thu, 13 May 2010 10:00:02 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2593215</link>
        <description><![CDATA[antonsrv8: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2592325'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>KoPoBuH &#064; <time class="tag-quote__quoted-time" datetime="2010-05-12T11:11:08+00:00">12.05.10, 11:11</time></span><div class='quote '>Вот и обьясните откуда в данном случае могут возникать дополнительные шумы, если корректировать АЧХ во временной области</div></div><br>
Дополнительных шумов никто и не обещал, а вот уменьшение шума наблюдается за счёт участия всех компонент окна анализа в получении спектра. Хотя судя по вашим предыдущим заявлениям, объяснить вам ничего невозможно <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2010-05-13T10:26:23+00:00">13.05.10, 10:26</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2592735'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>KoPoBuH &#064; <time class="tag-quote__quoted-time" datetime="2010-05-12T17:55:30+00:00">12.05.10, 17:55</time></span><div class='quote '>Yt = A*(Xt - Xt-1) - B*Yt-1<br>
<br>
A = y/(1+y)<br>
B = (1-y)/(1+y)<br>
y = cos(w)/sin(w)<br>
w = PI*f/fc</div></div><br>
<br>
<br>
<br>
А это уже напоминает высокомерное издевательство над неопытным человеком.<br>
<br>
АЧХ КИХ фильтра с одним нулем (y[i] = x[i] - a*x[i-1]): <br>
<br>
SQRT(1 + a*a - 2*a*cos(2*PI*f/F)), где F-частота квантования.<br>
<br>
Зачем было присобачивать полюс и делать фильтр рекурсивным надо бы объяснить.<br>
<br>
А для фильтра с полюсом АЧХ:<br>
<br>
SQRT((1 + a*a - 2*a*cos(2*PI*f/F))/(1 + b*b + 2*b*cos(2*PI*f/F))),<br>
а к половинному аргументу привести косинус поручить младшему брату.]]></description>
        <author>antonsrv8</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2592735</guid>
        <pubDate>Wed, 12 May 2010 17:55:30 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2592735</link>
        <description><![CDATA[KoPoBuH: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2592513'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>mjpronin &#064; <time class="tag-quote__quoted-time" datetime="2010-05-12T13:14:40+00:00">12.05.10, 13:14</time></span><div class='quote '>Я имел ввиду, какую передаточную функцию (формулу,выражение) в контексте цифровой обработки данных, а не схемотехники.</div></div><br>
Y<sub class='tag-sub'>t</sub> = A*(X<sub class='tag-sub'>t</sub> - X<sub class='tag-sub'>t-1</sub>) - B*Y<sub class='tag-sub'>t-1</sub><br>
<br>
A = y/(1+y)<br>
B = (1-y)/(1+y)<br>
y = cos(w)/sin(w)<br>
w = PI*f/f<sub class='tag-sub'>c</sub>]]></description>
        <author>KoPoBuH</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2592513</guid>
        <pubDate>Wed, 12 May 2010 13:14:40 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2592513</link>
        <description><![CDATA[mjpronin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2591861'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>KoPoBuH &#064; <time class="tag-quote__quoted-time" datetime="2010-05-12T00:05:46+00:00">12.05.10, 00:05</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2589072'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>mjpronin &#064; <time class="tag-quote__quoted-time" datetime="2010-05-08T05:15:38+00:00">08.05.10, 05:15</time></span><div class='quote '>А не могли ли Вы чуть подробней пояснить, какой вид имеет <span class='tag-u'>обычный ФВЧ </span>первого порядка, у которого.....?</div></div><br>
<a class='tag-url' href='http://ru.wikipedia.org/wiki/Фильтр_высоких_частот' target='_blank'>читать здесь</a></div></div><br>
<br>
Я имел ввиду, какую передаточную функцию (формулу,выражение) в контексте цифровой обработки данных, а не схемотехники.]]></description>
        <author>mjpronin</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2592325</guid>
        <pubDate>Wed, 12 May 2010 11:11:08 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2592325</link>
        <description><![CDATA[KoPoBuH: Это замечательно, что вы в курсе данного вопроса. Вот и обьясните откуда в данном случае могут возникать дополнительные шумы, если корректировать АЧХ во временной области]]></description>
        <author>KoPoBuH</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2591949</guid>
        <pubDate>Wed, 12 May 2010 06:37:08 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2591949</link>
        <description><![CDATA[antonsrv8: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2589793'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>KoPoBuH &#064; <time class="tag-quote__quoted-time" datetime="2010-05-09T13:12:27+00:00">09.05.10, 13:12</time></span><div class='quote '>Интересно знать откуда берутся дополнительные шумы при линейной операции.</div></div><br>
Похоже опять вы не в теме.Нам еще на 3 курсе говорили, что умножение спектра на АЧХ часто более помехоустойчиво, чем фильтрация во временной области]]></description>
        <author>antonsrv8</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2591861</guid>
        <pubDate>Wed, 12 May 2010 00:05:46 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2591861</link>
        <description><![CDATA[KoPoBuH: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2589072'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>mjpronin &#064; <time class="tag-quote__quoted-time" datetime="2010-05-08T05:15:38+00:00">08.05.10, 05:15</time></span><div class='quote '>А не могли ли Вы чуть подробней пояснить, какой вид имеет <span class='tag-u'>обычный ФВЧ </span>первого порядка, у которого.....?</div></div><br>
<a class='tag-url' href='http://ru.wikipedia.org/wiki/Фильтр_высоких_частот' target='_blank'>читать здесь</a>]]></description>
        <author>KoPoBuH</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2591622</guid>
        <pubDate>Tue, 11 May 2010 16:18:33 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2591622</link>
        <description><![CDATA[-unGod-: Внес небольшие изменения в алгоритм:<br>
Массив частот FHZ раньше был до 12000, а теперь до 150 (поскольку 150 отсчетов в БПФ/2). Кол-во элеметов  сделал 20. Частоты в Герцах.<br>
<br>
FHZ = [7,15,22,30,37,45,52,60,67,75,82,90,97,105,112,120,127,135,142,150];<br>
<br>
Результат:<br>
Значительное улучшение распознавания приблизительно на 20..30%. У меня теперь слово &quot;семь&quot; распознает на 90% =) Также хорошо распознаются длинные команды: &quot;наушники&quot;, &quot;микрофон&quot;]]></description>
        <author>-unGod-</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2591416</guid>
        <pubDate>Tue, 11 May 2010 11:44:04 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2591416</link>
        <description><![CDATA[-unGod-: Перевод в МЕЛ-шкалу, я задействовал нужным образом.<br><br>А тот пункт 3.4 (из первого поста). Я просто взял из 300 отсчетов ровно половину и повозносил их в квадрат.  Поскольку взять отдельно истенную и мнимую часть неполучилось =(<br><br>Наборы КЕПСТРальных коэффициентов у меня получились похожие на глаз. А вот алгоритм DTW их не сильно &quot;одобряет&quot;. Напимер, слова &quot;один&quot;, &quot;три&quot;, &quot;четыре&quot;, &quot;семь&quot;, &quot;восемь&quot;, &quot;девять&quot; - распознает с вероятностью в диапазоне 35%..60%, а вот слово &quot;пять&quot; путает с &quot;семь&quot;. У &quot;шесть&quot; и &quot;три&quot; процент очень мал.<br><br>Из всего вышепроделанного я понял, что для хорошего распознавания команды нужно правильно ее отделить от шума. Ведь при обрезании возможен такой случай когда шум обрежится некоректно и в результате мы можем получить команду с небольшим хвостиком шума сзади, например. Эта ошибка может сильно повлиять на распознавание. Так как при распознавании эталона - хвостика небыло.<br><br>И еще один момент. Я много где читал, что люди доводили распознавание аж до 97%. А у меня ели ели 60% и незнаю как улучшить =(<br><br>Будьте любезны, напишите свои мнения по этому поводу]]></description>
        <author>-unGod-</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2589793</guid>
        <pubDate>Sun, 09 May 2010 13:12:27 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2589793</link>
        <description><![CDATA[KoPoBuH: <em class='tag-i'>И вообще, пересчитывать - это слишком громко сказано. Можно минуты за 3 подобрать коэффициент, который обеспечит совпадение АЧХ на нижних частотах для любых частот квантования</em><br>
<br>
Чистой воды схоластика - мы не будем расчитывать, мы будет подбирать<br>
<br>
<em class='tag-i'>Так что 0.97 - это традиция из времён ДП, которая ничего не стоит и лишь выравнивает спектр для более удобного обозрения.<br>
Кстати, эта операция, проведённая в частотной области, меньше шумит. Так что можно преобразовывать прямо<br>
спектр и забыть про мягкое дифференцирование.</em><br>
<br>
Традиция переросшая в религию<br>
<br>
<em class='tag-i'>Кстати, эта операция, проведённая в частотной области, меньше шумит</em><br>
<br>
Интересно знать откуда берутся дополнительные шумы при линейной операции.<br>
<br>
<strong class='tag-b'>iitta</strong>, я не понимаю ваш странный способ опровергать, пересказывая своими словами то, что вы опровергаете]]></description>
        <author>KoPoBuH</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2589309</guid>
        <pubDate>Sat, 08 May 2010 15:51:50 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2589309</link>
        <description><![CDATA[iitta: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2588494'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>KoPoBuH &#064; <time class="tag-quote__quoted-time" datetime="2010-05-07T11:14:11+00:00">07.05.10, 11:14</time></span><div class='quote '>Если вы собираетесь использовать этот же фильтр (т.е. ту же самую АЧХ) с другой тактовой частотой, коэффициенты необходимо пересчитывать. &quot;Обычно 0.97&quot; это глупость.</div></div><br>
<br>
1. АЧХ этих фильтров сколько-нибудь заметно отличаются только на самых низких частотах:<br>
      для 8кГц на 100 герцах отличие около 1 дБ<br>
      для 20кГц на 100 герцах-~4 дБ, на 200 герцах - ~2дБ.<br>
<br>
дальше - меньше.<br>
<br>
2. Пересчитывать надо, если собираетесь использовать одни и те же модели на всех частотах квантования, чего никто не делает.<br>
И вообще, пересчитывать - это слишком громко сказано. Можно минуты за 3 подобрать коэффициент, который обеспечит совпадение АЧХ на нижних частотах для любых частот квантования.<br>
<br>
3.Самое главное: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2588109'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>nsh &#064; <time class="tag-quote__quoted-time" datetime="2010-05-07T06:45:56+00:00">07.05.10, 06:45</time></span><div class='quote '>такое предусиление не особо нужно, потому что его эффект затем нормализацией CMN убирается.</div></div><br>
И правильно, тем более, что абсолютная величина признаков при вероятностном подходе роли не играет - PDF будет такой же. <br>
<br>
Так что 0.97 - это традиция из времён ДП, которая ничего не стоит и лишь выравнивает спектр для более удобного обозрения. <br>
Кстати, эта операция, проведённая в частотной области, меньше шумит. Так что можно преобразовывать прямо <br>
спектр и забыть про мягкое дифференцирование.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2588389'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;unGod&#045; &#064; <time class="tag-quote__quoted-time" datetime="2010-05-07T10:04:31+00:00">07.05.10, 10:04</time></span><div class='quote '>зачем нужен перевод в МЕЛ-шкалу (пункт 3.6)?</div></div> - опять для понижения размерности - подробный спектр на высоких частотах не содержит различительных признаков и не воспринимается слухом. См. работы по речевосприятию.]]></description>
        <author>iitta</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2589072</guid>
        <pubDate>Sat, 08 May 2010 05:15:38 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2589072</link>
        <description><![CDATA[mjpronin: <strong class='tag-b'>KoPoBuH</strong><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Гораздо лучше с этим справляется оыбчный ФВЧ первого порядка, у которого характеристика +6дБ/окт и на выходе ни при каких уловиях не может быть DC </div></div><br>
А не могли ли Вы чуть подробней пояснить, какой вид имеет <span class='tag-u'>обычный ФВЧ </span>первого порядка, у которого.....?<br>
<br>
<br>
Просто я если и использовал фильтры в своих работах, то обычно использовал полосовые 4 порядка или ФНЧ(ФВЧ) 2 порядка с передаточной функцией апроксимированной полиномами чебышева второго рода, генерацию коэфициентов производил в Matlab, благо там это просто. Хотя всегда подозревал, что можно попробовать что-то другое :)]]></description>
        <author>mjpronin</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2589005</guid>
        <pubDate>Fri, 07 May 2010 21:27:18 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2589005</link>
        <description><![CDATA[nsh: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Если вы собираетесь использовать этот же фильтр (т.е. ту же самую АЧХ) с другой тактовой частотой, коэффициенты необходимо пересчитывать. &quot;Обычно 0.97&quot; это глупость.<br>
</div></div><br>
<br>
Да, тут я был неправ.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '> Гораздо лучше с этим справляется оыбчный ФВЧ первого порядка, у которого характеристика +6дБ/окт и на выходе ни при каких уловиях не может быть DC</div></div><br>
<br>
Согласен.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '> Вы так и не ответили зачем нужен перевод в МЕЛ-шкалу (пункт 3.6)?</div></div><br>
<br>
Мел шкала использовалась, чтобы получить параметры гребёнки фильтров<br>
<br>
FHZ = [ 20,100,200,300,400,510,630,770,920,1080,1270,1480,1720,2000,2320,2700,3150,3700,4400,5300...<br>
<br>
У Вас они уже заданы в табличном виде, а можно было их вычислить по вышеприведённой формуле.]]></description>
        <author>nsh</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2588834</guid>
        <pubDate>Fri, 07 May 2010 17:52:48 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2588834</link>
        <description><![CDATA[Анатоль: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>&#045;unGod</span><div class='quote '>Если чесно, то я незнаю как правельнее, пусть нам подскажут эксперты =) </div></div><br>
<br>
В разных процедур вычисления БПФ выходные даные могут размещатся в различном порядке.<br>
Обычно в таком: а0,б0,а1,б1,а2,б2...<br>
Но могут и иначе.<br>
Если Ви не знаете что выдает на выходе ваша процедура БПФ, то эксперементируйте. Подайте на вход известный сигнал (синус определённой частоты) и смотрите, что на выходе.]]></description>
        <author>Анатоль</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2588768</guid>
        <pubDate>Fri, 07 May 2010 16:23:41 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2588768</link>
        <description><![CDATA[-unGod-: <strong class='tag-b'>mjpronin</strong>, вы хотите сказать, что a[k] - истенная часть, а b[k] - мнимая? И мне нужно вместо того, как я делал раньше:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">a[1]*a[1] + b[300]*b[300]</div><div class="code_line">a[2]*a[2] + b[299]*b[299]</div><div class="code_line">...</div><div class="code_line">a[148]*a[148] + b[151]*b[151]</div><div class="code_line">a[149]*a[149] + b[150]*b[150]</div></ol></div></div></div></div><br>
где a[k], b[k] - один и тотже массив<br>
<br>
сделать вот так:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">a[1]*a[1] + b[1]*b[1]</div><div class="code_line">a[2]*a[2] + b[2]*b[2]</div><div class="code_line">...</div><div class="code_line">a[149]*a[149] + b[149]*b[149]</div><div class="code_line">a[150]*a[150] + b[150]*b[150]</div></ol></div></div></div></div><br>
где a[k] - истенная часть, а b[k] - мнимая. (k =1..150). Тогда выходит вторую часть спектра мы вобще не трогаем. Я правильно понимаю?<br>
<br>
Если чесно, то я незнаю как правельнее, пусть нам подскажут эксперты =)]]></description>
        <author>-unGod-</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2588494</guid>
        <pubDate>Fri, 07 May 2010 11:14:11 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2588494</link>
        <description><![CDATA[KoPoBuH: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2588109'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>nsh &#064; <time class="tag-quote__quoted-time" datetime="2010-05-07T06:45:56+00:00">07.05.10, 06:45</time></span><div class='quote '>Этот фильтр для предусиления высоких частот используется, собственно и коэффициент фильта подобран, чтобы нужные частоты предусиливались.</div></div><br>
У любого цифрового фильтра коэффициенты могут быть любые. Это зависят в первую очередь от того, какую частотную характеристику вы хотите получить на выходе. Если вы собираетесь использовать этот же фильтр (т.е. ту же самую АЧХ) с другой тактовой частотой, коэффициенты необходимо пересчитывать. &quot;Обычно 0.97&quot; это глупость.<br>
<br>
Этот фильтр полностью убирает DC только при коэффициенте 1.0. При всех прочих DC остается. Цель использования этого фильтра - скорректировать АЧХ речи, которая в среднем имеет характеристику -6дБ/окт. Гораздо лучше с этим справляется оыбчный ФВЧ первого порядка, у которого характеристика +6дБ/окт и на выходе ни при каких уловиях не может быть DC]]></description>
        <author>KoPoBuH</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2588399</guid>
        <pubDate>Fri, 07 May 2010 10:08:53 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2588399</link>
        <description><![CDATA[mjpronin: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>3.4 Далее формирую 300 пар по принципу описаного в этой теме:<br>
s(k) = y(k) ^ 2 + y((N + 1) - k) ^ 2; (k = 1..300; N = 600)<br>
Первый с последним, второй с предпоследним и т д</div></div><br>
<br>
Поясните, зачем первый с последним, второй с предпоследним. <br>
Может быть просто <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>s[k}=a[k]*a[k]+b[k]*b[k]; (для всех k)</div></div>(из поста Анатоля ) исходя их ссылки в вашем пункте 3.4<br>
Как я понимаю просто находим модуль комплексного числа которым является результат FFT z = x+iy        z*z = x*x+y*y]]></description>
        <author>mjpronin</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2588389</guid>
        <pubDate>Fri, 07 May 2010 10:04:31 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2588389</link>
        <description><![CDATA[-unGod-: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Обычно логарифмы берут уже от результатов фильтрации гребенки. В этом случае всего 20 логарифмов нужно посчитать, а не 300.</div></div><br>
Сделал, теперь логарифмирую после усреднения.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Обычно 0.97 фильтрация</div></div><br>
Я нашол на форуме <a class='tag-url' href='http://htk.eng.cam.ac.uk/' target='_blank'>ссылку на сайт</a>, там лежат исходники. Судя по коду их писали здоровые дядьки. Я решил полностью им доверится. Так вот у них этот коэффициент равен 0.9375<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>DTW подразумевает прямой и обратный проходы, вы их точно делаете? У Вас только формула написана одна.</div></div><br>
А насчет DTW - видимо я гдето недочитал, буду разбираться.<br>
<br>
Парочка вопросов:<br>
* Кол-во отсчетов БПФ влияет на точность распознавания?<br>
* Вы так и не ответили зачем нужен перевод в МЕЛ-шкалу (пункт 3.6)?<br>
Можетбыть далее при усреднении (пункт 3.7) вместо массива FHZ = [20,100,200...7700,9500,12000] нужно использовать массив МЕЛ-частот m[]?<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">...</div><div class="code_line">for j = 2:23</div><div class="code_line">&nbsp;&nbsp; &nbsp;kj = round(FHZ(j) / Fs);</div><div class="code_line">&nbsp;&nbsp; &nbsp;kl = round(FHZ(j - 1) / Fs); </div><div class="code_line">&nbsp;&nbsp; &nbsp;kr = round(FHZ(j + 1) / Fs); </div><div class="code_line">&nbsp;&nbsp; &nbsp;l = kj - kl; </div><div class="code_line">&nbsp;&nbsp; &nbsp;r = kr - kj;</div><div class="code_line">...</div></ol></div></div></div></div>]]></description>
        <author>-unGod-</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2588109</guid>
        <pubDate>Fri, 07 May 2010 06:45:56 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2588109</link>
        <description><![CDATA[nsh: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>
Что значит &quot;обычно&quot;? Мне например больше нравится коэффициент 0.5 Это как хорошо или плохо? По идее точность распознования должна меняться с изменением этого коэффициента. nsh, вы много чего читали и читаете, может вы сможете прояснить этот вопрос?<br>
</div></div><br>
<br>
Этот фильтр для предусиления высоких частот используется, собственно и коэффициент фильта подобран, чтобы нужные частоты предусиливались. Я так понимаю, там 6dB на 3kHz как раз получается. Никогда не смотрел точно. Ещё недавно читал, что такое предусиление не особо нужно, потому что его эффект затем нормализацией CMN убирается.<br>
<br>
Для меня полезность такого фильтра только в том, что он DC убирает, поэтому его перед простым VAD считающим энергию ставить можно.]]></description>
        <author>nsh</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2588027</guid>
        <pubDate>Fri, 07 May 2010 06:08:20 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2588027</link>
        <description><![CDATA[mjpronin: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>3.3 Произвожу БПФ(600)<br>
12КГц / 20мс = 600 отсчетов (300 в одну сторону и 300 симметричных)</div></div><br>
<br>
Это как так? Ведь 20мс при частоте 12 000Гц - это 240 отсчётов.<br>
12 000 - 1000мс<br>
   x   - 20мс<br>
<br>
х = 240;]]></description>
        <author>mjpronin</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2587932</guid>
        <pubDate>Fri, 07 May 2010 02:33:03 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2587932</link>
        <description><![CDATA[KoPoBuH: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=302599&view=findpost&p=2587917'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>nsh &#064; <time class="tag-quote__quoted-time" datetime="2010-05-06T22:47:08+00:00">06.05.10, 22:47</time></span><div class='quote '><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>где s(n) - исходный сигнал, а - переметр фильтрации (0.9375), v(n) - отфильтрованный сигнал.</div></div><br>
Обычно 0.97 фильтрация</div></div><br>
Что значит &quot;обычно&quot;? Мне например больше нравится коэффициент 0.5 Это как хорошо или плохо? По идее точность распознования должна меняться с изменением этого коэффициента. <strong class='tag-b'>nsh</strong>, вы много чего читали и читаете, может вы сможете прояснить этот вопрос?]]></description>
        <author>KoPoBuH</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2587917</guid>
        <pubDate>Thu, 06 May 2010 22:47:08 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2587917</link>
        <description><![CDATA[nsh: В целом всё правильно вроде<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>3.5 Логаифмирую: s_log(k) = log(s(k));</div></div><br>
<br>
Обычно логарифмы берут уже от результатов фильтрации гребенки. В этом случае всего 20 логарифмов нужно посчитать, а не 300.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>где s(n) - исходный сигнал, а - переметр фильтрации (0.9375), v(n) - отфильтрованный сигнал.</div></div><br>
<br>
Обычно 0.97 фильтрация<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Может я DTW неправильно делаю, или мне нужно взять другой метод сравнивания?</div></div><br>
<br>
DTW подразумевает прямой и обратный проходы, вы их точно делаете? У Вас только формула написана одна.]]></description>
        <author>nsh</author>
        <category>Речевые Технологии</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2587643</guid>
        <pubDate>Thu, 06 May 2010 16:07:01 +0000</pubDate>
        <title>Вычисление мел-кепстра и распознавние DTW</title>
        <link>https://forum.sources.ru/index.php?showtopic=302599&amp;view=findpost&amp;p=2587643</link>
        <description><![CDATA[-unGod-: Привет братьям по несчастью =) Перед мной тоже стоит задача сравнить два файла (записаных с микрофона), содержащие одну и ту же фразу. Я делаю так:<br>
<br>
1 Считываю файлы (по 2с) Частота дискретизации = 12КГц<br>
2 Обрезаю лишнее (шум) остается приблизительно 1/3 сигнала<br>
3 Делю их на фреймы (кадры) по 20мс с перекрытием в 2/3<br>
<br>
3.1 Беру один фрейм. Применяю к нему &quot;pre-emphasise&quot;. Формула: <br>
v(n) = s(n) - a * s(n - 1), <br>
где s(n) - исходный сигнал, а - переметр фильтрации (0.9375), v(n) - отфильтрованный сигнал.<br>
<br>
3.2 Умножаю фрейм на окно Хемминга. Формула: <br>
f(i) = y(i) * w(i),<br>
y(i) - исходный сигнал, w(i) - оконная функция:<br>
w(n) = 0.54 - 0.46 * cos(2 * pi * (n - 1) / (N - 1)); (n = 0..N)<br>
N - кол-во отсчетов оконной функции. Оно равно длине фрейма.<br>
<br>
3.3 Произвожу БПФ(600)<br>
12КГц / 20мс = 600 отсчетов (300 в одну сторону и 300 симметричных)<br>
<br>
3.4 Далее формирую 300 пар по принципу описаного в <a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=267742&hl=%CA%C5%CF%D1%D2%D0&st=0' target='_blank'>этой теме</a>:<br>
s(k) = y(k) ^ 2 + y((N + 1) - k) ^ 2; (k = 1..300; N = 600)<br>
Первый с последним, второй с предпоследним и т д<br>
<br>
3.5 Логаифмирую: s_log(k) = log(s(k));<br>
<br>
3.6 Взял 24 частоты.<br>
FHZ = [20,100,200,300,400,510,630,770,920,1080,1270,1480,1720,2000,2320,2700,3150,3700,4400,5300,6400,7700,9500,12000];<br>
Перевожу их в МЕЛ-шкалу:<br>
mel(i) = 1127 * log(1 + FHZ(i) / 700); (i = 1..24)<br>
<br>
3.7 Усредняю (взятое из той же темы)<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Fs = 12000 / 300;</div><div class="code_line">for j = 2:23</div><div class="code_line">&nbsp;&nbsp; &nbsp;kj = round(FHZ(j) / Fs);</div><div class="code_line">&nbsp;&nbsp; &nbsp;kl = round(FHZ(j - 1) / Fs); </div><div class="code_line">&nbsp;&nbsp; &nbsp;kr = round(FHZ(j + 1) / Fs); </div><div class="code_line">&nbsp;&nbsp; &nbsp;l = kj - kl; </div><div class="code_line">&nbsp;&nbsp; &nbsp;r = kr - kj; </div><div class="code_line">&nbsp;&nbsp; &nbsp;Aj = 0; </div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;for i = 1:l</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;mi = i / l; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Aj = Aj + s_log(kl + i) * mi; </div><div class="code_line">&nbsp;&nbsp; &nbsp;end</div><div class="code_line">&nbsp;&nbsp; &nbsp;for i = 1:r - 1</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;mi = i / r; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Aj = Aj + s_log(kr - i) * mi; </div><div class="code_line">&nbsp;&nbsp; &nbsp;end</div><div class="code_line">&nbsp;&nbsp; &nbsp;A(j) = Aj / (l + r - 1);</div><div class="code_line">end</div></ol></div></div></div></div><br>
3.8 Вычисление кепстральных коеффициентов (КК) через cos-преобразование:<br>
N - кол-во СПЕКТРальных коеф. = 22 (без двух крайних)<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">for k = 1:12</div><div class="code_line">&nbsp;&nbsp; &nbsp;c(k) = 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp;for i = 2:23</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;c(k) = c(k) + A(i) * cos(pi * k * (2 * (i - 1) + 1) / 2 / N);</div><div class="code_line">&nbsp;&nbsp; &nbsp;end</div><div class="code_line">end</div></ol></div></div></div></div><br>
4 Сравнение с помощью DTW:<br>
D(x,y) = sqrt(sum( (x[i] - y[i])^2 ) );<br>
x - входной вектор<br>
y - эталонный вектор словаря<br>
<br>
----------------------------<br>
Подвожу итог: в результате этих всех преобразований мы получим по 12 КК для каждого фрейма. А фреймов у меня (с перекрытием 2/3) в обрезаном сигнале 88. Тоесть получается матрица 12х88. Тоже самое я делаю для другого звукового сигнала. Проделав это все ничего не получается. Например слово &quot;восемь&quot; одинаково похоже на слово &quot;девять&quot;, &quot;восемь&quot;. Кстати графики получившихся КК визуально пхожи друг на друга формой. Если нужно я могу выложить графический результат любого шага.<br>
----------------------------<br>
* Может я DTW неправильно делаю, или мне нужно взять другой метод сравнивания?<br>
* Может нужно сперва сделать pre-emphasise и Хемминга для всего сигнала, а потом только брать опять по одному фрейму и делать 3.3...3.8 ?<br>
* Я так и не понял что делать частотами, переведенными в мел шкалу. Пункт 3.6<br>
* Кол-во отсчетов БПФ влияет както на распознавание? И правильно ли я подобрал их кол-во?<br>
* Правильно ли я подсчитал Fs?<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Эта тема была разделена из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=302338' target='_blank'>Нормирование речевого сигнала</a>&quot;</span></span>]]></description>
        <author>-unGod-</author>
        <category>Речевые Технологии</category>
      </item>
	
      </channel>
      </rss>
	