<?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=234132&amp;view=findpost&amp;p=2481475</guid>
        <pubDate>Thu, 21 Jan 2010 13:40:53 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=2481475</link>
        <description><![CDATA[selevo: блин  ссылка  на исходник не  работает,перезалейте пожалуйста.]]></description>
        <author>selevo</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=2241397</guid>
        <pubDate>Mon, 13 Apr 2009 05:25:44 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=2241397</link>
        <description><![CDATA[Kekek: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=234132&view=findpost&p=1943896'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kekek &#064; <time class="tag-quote__quoted-time" datetime="2008-05-01T17:30:44+00:00">01.05.08, 17:30</time></span><div class='quote '>Микрофоном ниразу не мерял вибрацию, а датчиками вибрации работал.<br>
<br>
Удары лучше фиксировать по виброускорению, всплеск идёт на высоких частотах. Мы используем акселерометры, т.е. они сразу меряют ускорение. Насколько я понимаю, микрофон измеряет виброперемещение. После одинарного интегрирования на виброскорости удары хуже видны. После второго интегрирования и получения виброперемещения удар вообще еле заметен.<br>
<br>
Можно попробовать дважды продифференцировать сигнал с микрофона, чтобы получить ускорение.<br>
<br>
Если интересно, могу показать разницу в спектрах.</div></div><br>
Ерунду я написал. Микрофон пишет тоже виброускорение. Вывел записанный с датчика вибрации сигнал виброускорения на звуковую плату. Звук очень похожим получается.]]></description>
        <author>Kekek</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=2085535</guid>
        <pubDate>Wed, 08 Oct 2008 11:10:08 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=2085535</link>
        <description><![CDATA[KingOf Delphi: Люди плиз дайте ссілку на компонент Rz то что в проге юзается<br>Плиз оч надо<br>Ищу не могу найти :wall:]]></description>
        <author>KingOf Delphi</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1960306</guid>
        <pubDate>Mon, 19 May 2008 10:20:51 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1960306</link>
        <description><![CDATA[BFenix: Пришлось на некоторое время забыть про этот проект, но ща буду браться заново:<br>
вот то что есть на данный момент:<br>
<a class='tag-url' href='http://gidravlika.kiev.ua/sound/soundFFT_19_05_08.rar' target='_blank'>ехе + исходник</a>]]></description>
        <author>BFenix</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1955782</guid>
        <pubDate>Wed, 14 May 2008 13:36:04 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1955782</link>
        <description><![CDATA[Zlukazavra: <strong class='tag-b'>BFenix</strong> можете прислать исходник кода на почту, пожалуйста. просто копируя код с первой страницы, выдает ошибку, жалуется почему-то на массив a :)]]></description>
        <author>Zlukazavra</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1948294</guid>
        <pubDate>Tue, 06 May 2008 18:25:03 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1948294</link>
        <description><![CDATA[Kekek: Это лёгкий удар шариковой ручкой по датчику вибрации.<br>
<br>
<a class='tag-url' href='http://vibro.lg.ua/Udar.gif' target='_blank'>Ускорение</a><br>
<a class='tag-url' href='http://vibro.lg.ua/Skorost.png' target='_blank'>Скорость</a><br>
<a class='tag-url' href='http://vibro.lg.ua/Perem.png' target='_blank'>Перемещение</a><br>
<br>
Датчик держал в руках, на тринадцати герцах дрожание рук от удара шариковой ручкой по датчику.]]></description>
        <author>Kekek</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1947869</guid>
        <pubDate>Tue, 06 May 2008 12:41:35 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1947869</link>
        <description><![CDATA[BFenix: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=234132&view=findpost&p=1947634'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>vmihaylov &#064; <time class="tag-quote__quoted-time" datetime="2008-05-06T08:45:52+00:00">06.05.08, 08:45</time></span><div class='quote '>Скинь пожалуйста в форум то что получилось в итоге :) интересно ведь чем дело кончилось. Спасибо&#33;</div></div><br>
Все еще в процесе&#33; Када приведу все к норм состоянию, то выложу&#33;]]></description>
        <author>BFenix</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1947634</guid>
        <pubDate>Tue, 06 May 2008 08:45:52 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1947634</link>
        <description><![CDATA[vmihaylov: Скинь пожалуйста в форум то что получилось в итоге :) интересно ведь чем дело кончилось. Спасибо&#33;]]></description>
        <author>vmihaylov</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1945888</guid>
        <pubDate>Sun, 04 May 2008 17:03:43 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1945888</link>
        <description><![CDATA[BFenix: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=234132&view=findpost&p=1943896'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kekek &#064; <time class="tag-quote__quoted-time" datetime="2008-05-01T17:30:44+00:00">01.05.08, 17:30</time></span><div class='quote '>Если интересно, могу показать разницу в спектрах.</div></div><br>
Не просто интересно, а необходимо&#33;<br>
ЗЫ Заранее сенк&#33;]]></description>
        <author>BFenix</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1943896</guid>
        <pubDate>Thu, 01 May 2008 17:30:44 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1943896</link>
        <description><![CDATA[Kekek: Микрофоном ниразу не мерял вибрацию, а датчиками вибрации работал.<br><br>Удары лучше фиксировать по виброускорению, всплеск идёт на высоких частотах. Мы используем акселерометры, т.е. они сразу меряют ускорение. Насколько я понимаю, микрофон измеряет виброперемещение. После одинарного интегрирования на виброскорости удары хуже видны. После второго интегрирования и получения виброперемещения удар вообще еле заметен.<br><br>Можно попробовать дважды продифференцировать сигнал с микрофона, чтобы получить ускорение.<br><br>Если интересно, могу показать разницу в спектрах.]]></description>
        <author>Kekek</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1943383</guid>
        <pubDate>Wed, 30 Apr 2008 18:40:56 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1943383</link>
        <description><![CDATA[andriano: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=234132&view=findpost&p=1943291'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BFenix &#064; <time class="tag-quote__quoted-time" datetime="2008-04-30T15:41:46+00:00">30.04.08, 15:41</time></span><div class='quote '>С пьезоелементом разобрался. На прямую подключил его на вход звуковой карты и все чудно работает. Минус - он не слышит низкие частоты(до 2кГц), но это его свойство. Плюс - хорошо слышит высокие частоты. <br>
Кто-нить знает почему встроеные звуковухи не слышут частоты выше 6,5 кГц?(на 3 компах тестил) Поставил звуковуху Креатив и проблема отпала(22кГц слышит отлично, выше не тестил)</div></div><br>
1. Скорее, свойство пьезоэлемента - это высокое выходное сопротивление, зависящее от частоты. Впервом приближении пьезоэлемент - это конденсатор. Так что отсутствие нижних частот - это не свойство пьезоэлемента, а, скорее, свойство низкоомного входного каскада, который совместно с пьезоэлементом работает как ФВЧ.<br>
2. Мне лично кажется странным, как они вообще могут писать звук. Встроенная звуковуха поддерживает режим записи чисто номинально, - как правило, для чего-нибудь типа IP-телефонии, т.е. там, где диапазон частот ограничен 3.5 кГц, а величина нелинейных искажений несущественна. Так что для записи можно использовать ТОЛЬКО отдельную звуковую карту. Кстати, вполне вероятно, что из-за экономии (АЦП - существенно более ресурсоемкий процесс чем ЦАП) звук пишется только на 11 кГц, а все остальное программно интерполируется.]]></description>
        <author>andriano</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1943291</guid>
        <pubDate>Wed, 30 Apr 2008 15:41:46 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1943291</link>
        <description><![CDATA[BFenix: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=234132&view=findpost&p=1942458'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>andriano &#064; <time class="tag-quote__quoted-time" datetime="2008-04-29T20:00:47+00:00">29.04.08, 20:00</time></span><div class='quote '>Встречный вопрос: какого именно микрофона?<br>
ДЛя конденсаторного - изменять приложенное напряжение. Для динамического - никак.</div></div><br>
С пьезоелементом разобрался. На прямую подключил его на вход звуковой карты и все чудно работает. Минус - он не слышит низкие частоты(до 2кГц), но это его свойство. Плюс - хорошо слышит высокие частоты. <br>
Кто-нить знает почему встроеные звуковухи не слышут частоты выше 6,5 кГц?(на 3 компах тестил) Поставил звуковуху Креатив и проблема отпала(22кГц слышит отлично, выше не тестил)]]></description>
        <author>BFenix</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1942458</guid>
        <pubDate>Tue, 29 Apr 2008 20:00:47 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1942458</link>
        <description><![CDATA[andriano: Встречный вопрос: какого именно микрофона?<br>ДЛя конденсаторного - изменять приложенное напряжение. Для динамического - никак.]]></description>
        <author>andriano</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1942218</guid>
        <pubDate>Tue, 29 Apr 2008 14:36:42 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1942218</link>
        <description><![CDATA[BFenix: У меня появился еще вопросик ответ на который я пока не нашел:<br>Как управлять чувствительностью микрофона?]]></description>
        <author>BFenix</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1939827</guid>
        <pubDate>Fri, 25 Apr 2008 20:59:14 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1939827</link>
        <description><![CDATA[andriano: Не боишься, что у тебя будут пики на собственных частотах пьезодатчика, а не на максимумах спектра звука, создаваемого прессом?<br><br>И, кстати, основываясь на каких критериях, ты будешь оценивать равильность настройки?]]></description>
        <author>andriano</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1939826</guid>
        <pubDate>Fri, 25 Apr 2008 20:42:47 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1939826</link>
        <description><![CDATA[BFenix: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=234132&view=findpost&p=1939712'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>andriano &#064; <time class="tag-quote__quoted-time" datetime="2008-04-25T16:56:56+00:00">25.04.08, 16:56</time></span><div class='quote '>Кстати, из описания вообще непонятно, зачем нужен Фурье, когда, судя по всему, достаточно амплитудного детектора.</div></div><br>
Поковырявшись с теорией я решил сделать следующее:<br>
<br>
Я беру сигнал и раскладываю по Фурье и прогоняю первый цикл преса. Смотрю в каких диапазонах частот идут всплески. Выделяю эти диапазоны +- 500герц и для этих диапазонов (1 кГц) высчитываю  СКЗ (среднеквадратичное значение). Кидаю эти значения на график. В итоге получаю график на котором будет видно относительные величины всплесков. Этот график должен мне показывать правильно ли я меняю настройки преса(всплески будут либо увеличиваться либо уменьшаться).]]></description>
        <author>BFenix</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1939712</guid>
        <pubDate>Fri, 25 Apr 2008 16:56:56 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1939712</link>
        <description><![CDATA[andriano: Пьезодатчик с микрофонным входом - это, конечно, круто.<br>По идее, можно было бы одключить к линейному - амплитуда сигнала как раз подходящая. Но если не хватит входного сопротивления, нужно будет добавить повторитель на полевике.<br>В ринципе, можно попытаться подключить и к микрофонному, зашунтировав резистором на несколько ком, но это будет ФВЧ.<br><br>Кстати, из описания вообще непонятно, зачем нужен Фурье, когда, судя по всему, достаточно амплитудного детектора.]]></description>
        <author>andriano</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1939693</guid>
        <pubDate>Fri, 25 Apr 2008 16:26:00 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1939693</link>
        <description><![CDATA[Prince: Потому что его нужно согласовывать с микрофонным входом. Если напрямую подключить, гудеть будет очень сильно(если вообще будет работать): все наводки 50 Гц будут ваши. Кроме того, не уверен, что усиления хватит. Так мне кажется. На глазок.]]></description>
        <author>Prince</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1939679</guid>
        <pubDate>Fri, 25 Apr 2008 15:57:26 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1939679</link>
        <description><![CDATA[BFenix: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=234132&view=findpost&p=1939138'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Prince &#064; <time class="tag-quote__quoted-time" datetime="2008-04-25T06:05:36+00:00">25.04.08, 06:05</time></span><div class='quote '>Схему-то всё равно придётся клепать для пьезодатчика. Не к микрофонному же усилителю звуковушки его подключать.</div></div><br>
а почему не к микрофонному? <br>
<br>
Мона канеша на сом порт подцепить, но не факт, что это будет лучше.]]></description>
        <author>BFenix</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1939138</guid>
        <pubDate>Fri, 25 Apr 2008 06:05:36 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1939138</link>
        <description><![CDATA[Prince: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Ты 0 забыл посчитать. </div></div><br>
Ну давай вместе посчитаем(для твоего варианта):-N/2-1,...,-3,-2,-1,0,1,2,3,..., N/2-1.<br>
Есть две последовательности: -1...-N/2-1 и 1...N/2-1 , которые дают нам N-2 элементов. И плюс ещё 0. Итого: N-1 элементов.<br>
<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>с калибровкой не нужно(мне точные численые значения не нужны, мне нужно видеть сам факт - будет всплеск или нет). </div></div><br>
Схему-то всё равно придётся клепать для пьезодатчика. Не к микрофонному же усилителю звуковушки его подключать.]]></description>
        <author>Prince</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1938993</guid>
        <pubDate>Thu, 24 Apr 2008 19:55:23 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1938993</link>
        <description><![CDATA[Pavia: <strong class='tag-b'>Prince</strong><br>
Ты 0 забыл посчитать. И читай внимательнее это уже после перестановки. Хотя это моя вина, в том что не уточнил что это ответ на вопрос о перестановки.<br>
<br>
<strong class='tag-b'>BFenix</strong><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=234132&view=findpost&p=1938955'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BFenix &#064; <time class="tag-quote__quoted-time" datetime="2008-04-24T19:04:42+00:00">24.04.08, 19:04</time></span><div class='quote '>Подскажите моя задумка правильная или я чтото упустил? </div></div><br>
Нужен вибро датчик. <br>
 <br>
Теории для БПФ есть, найти легко. А вот для вайвлетов надо искать и не факт что есть в данной облости.<br>
Но помойму удары лучши какраз на вайвлетах изучать. Почему? Интуция.]]></description>
        <author>Pavia</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1938987</guid>
        <pubDate>Thu, 24 Apr 2008 19:46:32 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1938987</link>
        <description><![CDATA[BFenix: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=234132&view=findpost&p=1938959'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Prince &#064; <time class="tag-quote__quoted-time" datetime="2008-04-24T19:09:32+00:00">24.04.08, 19:09</time></span><div class='quote '><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>
Вроде частоты после БПФ(комплексного)получаются в виде:<br>
0,1,2,3,...N/2-1, -N/2,-N/2-1,...-3,-2,-1.<br>
Или я совсем неправ? <br>
</div></div></div></div><br>
Именно так частоты и идут.<br>
<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;'>-Added <time class="tag-mergetime" datetime="2008-04-24T19:53:55+00:00">24.04.08, 19:53</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=234132&view=findpost&p=1938959'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Prince &#064; <time class="tag-quote__quoted-time" datetime="2008-04-24T19:09:32+00:00">24.04.08, 19:09</time></span><div class='quote '>Имхо, конечно. Насчёт пьезо. Для него схему придётся собирать. И калибровать как-то нужно. А крепить как.... Может, поискать готовый датчик?</div></div><br>
Ну прикрепить - это не большая трабла, особо заморачиваться с калибровкой не нужно(мне точные численые значения не нужны, мне нужно видеть сам факт - будет всплеск или нет).]]></description>
        <author>BFenix</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1938959</guid>
        <pubDate>Thu, 24 Apr 2008 19:09:32 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1938959</link>
        <description><![CDATA[Prince: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Мы получим частоты в виде<br>
-N/2-1,...,-3,-2,-1,0,1,2,3,..., N/2-1</div></div><br>
Получается всего N-1 значений вместо N.<br>
Вроде частоты после БПФ(комплексного)получаются в виде:<br>
0,1,2,3,...N/2-1, -N/2,-N/2-1,...-3,-2,-1.<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;'>-Added <time class="tag-mergetime" datetime="2008-04-24T19:23:09+00:00">24.04.08, 19:23</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=234132&view=findpost&p=1938955'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BFenix &#064; <time class="tag-quote__quoted-time" datetime="2008-04-24T19:04:42+00:00">24.04.08, 19:04</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=234132&view=findpost&p=1938935'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>andriano &#064; <time class="tag-quote__quoted-time" datetime="2008-04-24T18:16:11+00:00">24.04.08, 18:16</time></span><div class='quote '><strong class='tag-b'>BFenix</strong>,<br>
точнее: -15000,-14995,-14990,...-10б-5,0,5,10,15,...14990,14995,15000, т.к. ширины всех полос одинаковы.<br>
И желательно не отбрасывать &quot;лшние&quot; отсчеты, а посчитать модуль.</div></div><br>
У меня задача состоит вот в чем: мне надо слушать работу преса(большой прес который давит ДСП). Прес не правильно настроен и потому останавливается с ударом. Я должен услышать этот удар и сказать, что удар точно был(возможно сравнение с предыдущими ударами по силе).<br>
<br>
Как я понимаю, то мне надо смотреть спектр и фиксировать всплески.<br>
После первого цикла я зафиксирую частоту на которой всплеск при ударе и дальше буду смотреть только некий диапазон спектра.<br>
Сигнал буду брать не с микрофона, а с пьезоэлемента.<br>
<br>
<br>
З.Ы. Подскажите моя задумка правильная или я чтото упустил?</div></div><br>
Имхо, конечно. Насчёт пьезо. Для него схему придётся собирать. И калибровать как-то нужно. А крепить как.... Может, поискать готовый датчик? <br>
И вот ещё, может быть <a class='tag-url' href='http://vibration.narod.ru/articles/skz.htm' target='_blank'>эта</a> страничка будет вам интересна.]]></description>
        <author>Prince</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1938955</guid>
        <pubDate>Thu, 24 Apr 2008 19:04:42 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1938955</link>
        <description><![CDATA[BFenix: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=234132&view=findpost&p=1938935'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>andriano &#064; <time class="tag-quote__quoted-time" datetime="2008-04-24T18:16:11+00:00">24.04.08, 18:16</time></span><div class='quote '><strong class='tag-b'>BFenix</strong>,<br>
точнее: -15000,-14995,-14990,...-10б-5,0,5,10,15,...14990,14995,15000, т.к. ширины всех полос одинаковы.<br>
И желательно не отбрасывать &quot;лшние&quot; отсчеты, а посчитать модуль.</div></div><br>
У меня задача состоит вот в чем: мне надо слушать работу преса(большой прес который давит ДСП). Прес не правильно настроен и потому останавливается с ударом. Я должен услышать этот удар и сказать, что удар точно был(возможно сравнение с предыдущими ударами по силе).<br>
<br>
Как я понимаю, то мне надо смотреть спектр и фиксировать всплески.<br>
После первого цикла я зафиксирую частоту на которой всплеск при ударе и дальше буду смотреть только некий диапазон спектра.<br>
Сигнал буду брать не с микрофона, а с пьезоэлемента.<br>
<br>
<br>
З.Ы. Подскажите моя задумка правильная или я чтото упустил?]]></description>
        <author>BFenix</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1938935</guid>
        <pubDate>Thu, 24 Apr 2008 18:16:11 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1938935</link>
        <description><![CDATA[andriano: <strong class='tag-b'>BFenix</strong>,<br>
точнее: -15000,-14995,-14990,...-10б-5,0,5,10,15,...14990,14995,15000, т.к. ширины всех полос одинаковы.<br>
И желательно не отбрасывать &quot;лшние&quot; отсчеты, а посчитать модуль.]]></description>
        <author>andriano</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1938924</guid>
        <pubDate>Thu, 24 Apr 2008 17:59:49 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1938924</link>
        <description><![CDATA[Pavia: <strong class='tag-b'>BFenix</strong><br>
Мы получим частоты в виде<br>
-N/2-1,...,-3,-2,-1,0,1,2,3,..., N/2-1<br>
Отрицательная чатота тоже чатсота. Если взять цекличискую частоту то знак просто определяет направленияе вращения по частовой стрелки или против.<br>
<br>
Просто если переставить то так лучши смотриться. 0 Начало отсчета находиться по середине.  Аналогично если перед прообразованием домножить на (-1)^i i- номер отсчета, то получим аналогичную перестановку.  <br>
<br>
Свойства дублирования чатот можно использовать для двух вещей. Первое это убрать мнимые части внутрь массива, сэкономить место.  И тем самым еще и ускорить.<br>
<br>
Тогда имея массив отсчетов их действительные части мы можем сразу получить упаковонное представление преобразования в этом же массиве. В виде<br>
Re0, Re(N/2-), Re1,Im1, Re2,Im2  Подробнее читай про реальное преобразование фурье. На этом сайте в алгоритмах.<br>
<br>
Или же загнать сразу два сигнала в один массив и использовать одино преобразования для двух сигналов.]]></description>
        <author>Pavia</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1938449</guid>
        <pubDate>Thu, 24 Apr 2008 11:12:53 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1938449</link>
        <description><![CDATA[BFenix: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=234132&view=findpost&p=1938405'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ХЭМ &#064; <time class="tag-quote__quoted-time" datetime="2008-04-24T10:20:48+00:00">24.04.08, 10:20</time></span><div class='quote '>Комплексный БПФ он и есть симметричный. Отруби ненужную часть арифметически и получишь то что нужно. И еще, чей то на спектре нулевая частота разлезлась по краям спектра (т.е. симметрия наоборот, собственно математически они так и выглядят), но думаю и это организовать можно, перенеся выборку N/2...2*N-1 после БПФ в начало графика, а 0...N/2-1 за ней.</div></div><br>
Как я понял то выборка 0..N/2 - это и есть мой искомый спектр. Я просто игнорирую вторую часть масива который вернул FFT.<br>
<br>
З.Ы. Если все верно, то что нам даст если мы перенесем выборку N/2...2*N-1 после БПФ в начало графика, а 0...N/2-1 будет за ней?]]></description>
        <author>BFenix</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1938405</guid>
        <pubDate>Thu, 24 Apr 2008 10:20:48 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1938405</link>
        <description><![CDATA[ХЭМ: Комплексный БПФ он и есть симметричный. Отруби ненужную часть арифметически и получишь то что нужно. И еще, чей то на спектре нулевая частота разлезлась по краям спектра (т.е. симметрия наоборот, собственно математически они так и выглядят), но думаю и это организовать можно, перенеся выборку N/2...2*N-1 после БПФ в начало графика, а 0...N/2-1 за ней.]]></description>
        <author>ХЭМ</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1938146</guid>
        <pubDate>Thu, 24 Apr 2008 06:15:35 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1938146</link>
        <description><![CDATA[Prince: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Тада у меня вопрос. Неужто БПФ возвращает спектр в таком виде: 5г, 10г, 15г, ... 10кг, 15кг, 15кг, 10кг, ...15г, 10г, 5г??? (числа проставил условно)</div></div><br>
Такое у него, у БПФ, свойство.]]></description>
        <author>Prince</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1938093</guid>
        <pubDate>Thu, 24 Apr 2008 04:47:31 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1938093</link>
        <description><![CDATA[BFenix: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=234132&view=findpost&p=1937927'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>andriano &#064; <time class="tag-quote__quoted-time" datetime="2008-04-23T19:09:53+00:00">23.04.08, 19:09</time></span><div class='quote '>Вообще-то так и должно быть.</div></div><br>
Тада у меня вопрос. Неужто БПФ возвращает спектр в таком виде: 5г, 10г, 15г, ... 10кг, 15кг,   15кг, 10кг, ...15г, 10г, 5г??? (числа проставил условно)<br>
З.Ы. Изначально у меня все выходило норм(в моем понимании нормально), но потом я начал экспериментировать с размером буфера, количеством каналов, частотой... и стало так как есть сейчас. Вернуть как было у меня не получается :(]]></description>
        <author>BFenix</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1937927</guid>
        <pubDate>Wed, 23 Apr 2008 19:09:53 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1937927</link>
        <description><![CDATA[andriano: Вообще-то так и должно быть.]]></description>
        <author>andriano</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1937713</guid>
        <pubDate>Wed, 23 Apr 2008 15:35:16 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1937713</link>
        <description><![CDATA[BFenix: Вот екзешник:]]></description>
        <author>BFenix</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1937694</guid>
        <pubDate>Wed, 23 Apr 2008 15:16:32 +0000</pubDate>
        <title>Проблема со спектром</title>
        <link>https://forum.sources.ru/index.php?showtopic=234132&amp;view=findpost&amp;p=1937694</link>
        <description><![CDATA[BFenix: У меня возникла следующая трабла:<br>
Решил поработать со звуком, но когда юзаю БПФ, то спектр у меня получается симетричный :(. Не могу понять с чем это связано.<br>
Что я делаю не так?<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">unit Unit1;</div><div class="code_line">&nbsp;</div><div class="code_line">interface</div><div class="code_line">&nbsp;</div><div class="code_line">uses</div><div class="code_line">&nbsp;&nbsp;Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,</div><div class="code_line">&nbsp;&nbsp;Dialogs, StdCtrls, ExtCtrls, ComCtrls, MMSystem, TeeProcs, TeEngine, Chart, Series, ap, fft;</div><div class="code_line">&nbsp;</div><div class="code_line">const</div><div class="code_line">&nbsp;&nbsp;freq=44100;</div><div class="code_line">&nbsp;&nbsp;BufSize=2048;</div><div class="code_line">&nbsp;&nbsp;Xgraph=512;</div><div class="code_line">&nbsp;&nbsp;Ygraph=100;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">type</div><div class="code_line">&nbsp;&nbsp;TData16 = array [0..BufSize-1] of smallint;</div><div class="code_line">&nbsp;&nbsp;PData16 = ^TData16;</div><div class="code_line">&nbsp;&nbsp;TPointArr = array [0..BufSize-1] of TPoint;</div><div class="code_line">&nbsp;&nbsp;PPointArr = ^TPointArr;</div><div class="code_line">&nbsp;&nbsp;TForm1 = class(TForm)</div><div class="code_line">&nbsp;&nbsp; &nbsp;Button1: TButton;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Button2: TButton;</div><div class="code_line">&nbsp;&nbsp; &nbsp;PaintBox1: TPaintBox;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Chart1: TChart;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Chart2: TChart;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Series2: TBarSeries;</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure Button1Click(Sender: TObject);</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure Button2Click(Sender: TObject);</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure FormDestroy(Sender: TObject);</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure FormCreate(Sender: TObject);</div><div class="code_line">&nbsp;&nbsp;private</div><div class="code_line">&nbsp;&nbsp; &nbsp;{ Private declarations }</div><div class="code_line">&nbsp;&nbsp;public</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure OnWaveIn(var Msg: TMessage); message MM_WIM_DATA;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;Form1: TForm1;</div><div class="code_line">&nbsp;&nbsp;series1, series2 : tlineSeries;</div><div class="code_line">&nbsp;&nbsp;coef: array of integer;</div><div class="code_line">&nbsp;&nbsp;a,b: TReal1DArray;</div><div class="code_line">implementation</div><div class="code_line">&nbsp;</div><div class="code_line">{$R *.DFM}</div><div class="code_line">&nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;WaveIn: hWaveIn;</div><div class="code_line">&nbsp;&nbsp;hBuf: THandle;</div><div class="code_line">&nbsp;&nbsp;BufHead: TWaveHdr;</div><div class="code_line">&nbsp;&nbsp;p: PPointArr;</div><div class="code_line">&nbsp;&nbsp;stop: boolean = false;</div><div class="code_line">&nbsp;&nbsp;comp:complex;</div><div class="code_line">&nbsp;</div><div class="code_line">function modul(const comp:complex):double;</div><div class="code_line">begin</div><div class="code_line">result:=sqrt(sqr(comp.x)+sqr(comp.y));</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.Button1Click(Sender: TObject);</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;header: TWaveFormatEx;</div><div class="code_line">&nbsp;&nbsp;BufLen: word;</div><div class="code_line">&nbsp;&nbsp;buf: pointer;</div><div class="code_line">begin</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;with header do</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;wFormatTag := WAVE_FORMAT_PCM;</div><div class="code_line">&nbsp;&nbsp; &nbsp;nChannels := 2; { количество каналов }</div><div class="code_line">&nbsp;&nbsp; &nbsp;nSamplesPerSec := freq; { частота }</div><div class="code_line">&nbsp;&nbsp; &nbsp;wBitsPerSample := 16; { 8 / 16 бит }</div><div class="code_line">&nbsp;&nbsp; &nbsp;nBlockAlign := nChannels * (wBitsPerSample div 8);</div><div class="code_line">&nbsp;&nbsp; &nbsp;nAvgBytesPerSec := nSamplesPerSec * nBlockAlign;</div><div class="code_line">&nbsp;&nbsp; &nbsp;cbSize := 0;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;WaveInOpen(Addr(WaveIn), WAVE_MAPPER, addr(header),</div><div class="code_line">&nbsp;&nbsp;Form1.Handle, 0, CALLBACK_WINDOW);</div><div class="code_line">&nbsp;&nbsp;BufLen := header.nBlockAlign * BufSize;</div><div class="code_line">&nbsp;&nbsp;hBuf := GlobalAlloc(GMEM_MOVEABLE and GMEM_SHARE, BufLen);</div><div class="code_line">&nbsp;&nbsp;Buf := GlobalLock(hBuf);</div><div class="code_line">&nbsp;&nbsp;with BufHead do</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;lpData := Buf;</div><div class="code_line">&nbsp;&nbsp; &nbsp;dwBufferLength := BufLen;</div><div class="code_line">&nbsp;&nbsp; &nbsp;dwFlags := WHDR_BEGINLOOP;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;&nbsp;WaveInPrepareHeader(WaveIn, Addr(BufHead), sizeof(BufHead));</div><div class="code_line">&nbsp;&nbsp;WaveInAddBuffer(WaveIn, addr(BufHead), sizeof(BufHead));</div><div class="code_line">&nbsp;&nbsp;GetMem(p, BufSize * sizeof(TPoint));</div><div class="code_line">&nbsp;&nbsp;stop := true;</div><div class="code_line">&nbsp;&nbsp;WaveInStart(WaveIn);</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.Button2Click(Sender: TObject);</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;if stop = false then</div><div class="code_line">&nbsp;&nbsp; &nbsp;Exit;</div><div class="code_line">&nbsp;&nbsp;stop := false;</div><div class="code_line">&nbsp;&nbsp;while not stop do</div><div class="code_line">&nbsp;&nbsp;Application.ProcessMessages;</div><div class="code_line">&nbsp;&nbsp;stop := false;</div><div class="code_line">&nbsp;&nbsp;WaveInReset(WaveIn);</div><div class="code_line">&nbsp;&nbsp;WaveInUnPrepareHeader(WaveIn, addr(BufHead), sizeof(BufHead));</div><div class="code_line">&nbsp;&nbsp;WaveInClose(WaveIn);</div><div class="code_line">&nbsp;&nbsp;GlobalUnlock(hBuf);</div><div class="code_line">&nbsp;&nbsp;GlobalFree(hBuf);</div><div class="code_line">&nbsp;&nbsp;FreeMem(p, BufSize * sizeof(TPoint));</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.OnWaveIn;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;i,j: integer;</div><div class="code_line">&nbsp;&nbsp;data16: PData16;</div><div class="code_line">&nbsp;&nbsp;XScale, YScale: single;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;XScale := Xgraph / BufSize;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;data16 := PData16(PWaveHdr(Msg.lParam)^.lpData);</div><div class="code_line">&nbsp;&nbsp; &nbsp;YScale := Ygraph / (1 shl 16);</div><div class="code_line">&nbsp;&nbsp; &nbsp;series1.Clear;</div><div class="code_line">&nbsp;&nbsp; &nbsp;for i := 0 to BufSize-1 do begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;p^[i] := Point(round(i * XScale), round(Ygraph / 2 - data16^[i] * YScale));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;series1.AddXY(round(i * XScale), round(Ygraph / 2 - data16^[i] * YScale));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;a[2*i]:=round(Ygraph / 2 - data16^[i] * YScale);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;a[2*i+1]:=0;</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;FastFourierTransform(a, BufSize, false);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;series2.clear;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; for j :=1 to BufSize-1 do</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;// &nbsp;comp.X:= a[2*j];</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;// comp.Y:=a[2*j+1];</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; b[j]:=sqrt(a[2*j]*a[2*j]+a[2*j+1]*a[2*j+1]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;series2.AddXY(coef[j],b[j]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;with PaintBox1.Canvas do</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;Brush.Color := clWhite;</div><div class="code_line">&nbsp;&nbsp; &nbsp;FillRect(ClipRect);</div><div class="code_line">&nbsp;&nbsp; &nbsp;Polyline(Slice(p^, BufSize));</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;if stop then</div><div class="code_line">&nbsp;&nbsp; &nbsp;WaveInAddBuffer(WaveIn, PWaveHdr(Msg.lParam), SizeOf(TWaveHdr))</div><div class="code_line">&nbsp;&nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp;stop := true;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.FormDestroy(Sender: TObject);</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Button2.Click;</div><div class="code_line">&nbsp;&nbsp;Finalize(a);</div><div class="code_line">&nbsp;&nbsp;Finalize(b);</div><div class="code_line">&nbsp;&nbsp;Finalize(coef);</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.FormCreate(Sender: TObject);</div><div class="code_line">var i: integer;</div><div class="code_line">&nbsp;&nbsp;XScale: single;</div><div class="code_line">begin</div><div class="code_line">series1 := tlineSeries.Create(nil);</div><div class="code_line">series1.ParentChart := Chart1;</div><div class="code_line">series1.Clear;</div><div class="code_line">&nbsp;</div><div class="code_line">setlength(a,2*BufSize);</div><div class="code_line">setlength(b,BufSize);</div><div class="code_line">setlength(coef,BufSize);</div><div class="code_line">&nbsp;&nbsp;XScale := Xgraph / BufSize;</div><div class="code_line">for I := 0 to BufSize-1 do</div><div class="code_line">&nbsp;&nbsp;coef[i]:=round(i * XScale);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;Button1.Caption := &#39;Start&#39;;</div><div class="code_line">&nbsp;&nbsp;Button2.Caption := &#39;Stop&#39;;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">end.</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><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="2008-04-23T15:17:49+00:00">23.04.08, 15:17</time></span></span><br>
Сигнал беру с микрофона&#33;]]></description>
        <author>BFenix</author>
        <category>Программирование звука</category>
      </item>
	
      </channel>
      </rss>
	