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

Вниз

wave разобрать по частом...   Найти похожие ветки 

 
atmospheric   (2003-01-04 18:20) [0]

wav-файл в которм записана последовательность звуковых частот (каждая длится одно и тоже время) как определить эти частоты ?
те выводить частоту звучания ?


 
Mihey   (2003-01-04 21:23) [1]

Эти отрезки называются фрэймами. TBassPlayer отображает состояние частот на каждый фрейм (т.н. эквалайзер).


 
Kair   (2003-01-04 21:43) [2]

Можно подробнее?


 
atmospheric   (2003-01-05 01:39) [3]

в смысли фрэймы, а если это не фрэйм длится 10мсек или 20мсек или еще скока то ?


 
Evgeny V   (2003-01-05 06:15) [4]

Используй преобразование фурье, быстрое или дискретное, смотри сам по задаче, компоненты FFT и DFT видел здесь на сайте или на Torry, есть и интеловская библиотека spl lib


 
Mihey   (2003-01-05 20:26) [5]

У компонента TBassPlayer есть как раз свойство FFTBands. Оно и содержит данные о фрейме. Я действительно советую этот компонент тем, кто хочет написать медиа-плеер.


 
atmospheric   (2003-01-06 18:40) [6]

когда ету компоненту(TBassPlayer) кидаешь на форму он говорит - Can"t itialize device (Error: 14)


 
atmospheric   (2003-01-06 19:38) [7]

хм... ну так я понял там Bands это(массив из 25 эл) графичиский эквалайзер...
и всетаки как узнать частоту ?
если им проигрывать файл с генерацией 1000Гц то только некоторые Bands показывают, как из этого вычислить частоту ?


 
Mihey   (2003-01-06 22:31) [8]

Но ведь один фрейм звук определяется не только чатсотой. Очевидно, как-то можно получить именно частоту из массива Bands (может усреднить значение?).


 
Mihey   (2003-01-06 22:54) [9]

В общем, эквалайзер вроде как показывает тембр звука на разных частотах.


 
atmospheric   (2003-01-07 02:30) [10]

нет усредненое значение показывает почти одно и тоже на всех частотах...


 
Mihey   (2003-01-07 22:55) [11]

Ну я тогда без идей. Хотя ест одна. Частота звука нужна при работе с модемами. Есть куча программ, определяющий частоту сигнала модема. Но не знаю их устройства, т.к. может сам модем определяет чатсоту, а далее передаёт её через драйвер.


 
atmospheric   (2003-01-07 23:27) [12]

да нет вроде же есть там всякие разложения Фурье, тока как они работают...

вот интересно тема какой день висит, и все ни как :( не ужели ни кто с этим не сталкивался ?


 
Evgeny V   (2003-01-08 05:21) [13]

Прямое преобразование Фурье дает разложение сигнала по частотному спектру, т.е. там есть грубо говоря массив на входе - сам сигнал, и на выходе два массива - коэффициенты при синусных скажем B коэффициенты и косинусных А -коэффициенты состовляющих частот. Если потом рассмотреть энергии сигнала E[i]=A[i]^2 (это квадрат)+B[i]^2 по частотам (по элемета), то та энергия которая больше, то та частота и присутствует. Сильно упрощенно конечно, но в принципе так. Смотри разложение в ряд Фурье, или используй готовые библиотеки и компоненты. Подробно о фурье здесь не расскажешь, я по крайней мере не смогу


 
Mihey   (2003-01-08 21:27) [14]

Есть такой FAQ - называется Kuliba. Там есть две статьи про принципе Фурье и т.д..


 
SuperUmnik   (2003-01-17 15:57) [15]

интересно программистам счас в Вузах что ли математику не преподают?


 
Mihey   (2003-01-17 22:36) [16]

Математику преподают в школе. А программируют челы.


 
Vitaly_s   (2003-01-18 23:49) [17]

Да ребята у меня та же проблема но тока надо рапозновать частоту не из файла а из буфера. В реальном времени.
Тоже парюсь


 
Mihey   (2003-01-19 17:02) [18]

Ну так может плеер пореальней, чем Bass поискать?


 
Jeer   (2003-01-19 23:08) [19]

atmospheric © (04.01.03 18:20)
Если задача именно так и обстоит (последовательность частот) и сигнал достаточно чистый (без шумов), то вся премудрость с фурье-анализом ни к чему.
Достаточно вычислять смену знака производной и фиксировать длительность интервала таких изменений.
Зная частоту дистретизации - можно прближенно вычислить частоту.
Подробности - при подробностях.

Evgeny V © (05.01.03 06:15)
>Используй преобразование фурье, быстрое или дискретное

Мы тут все имеем в виду численные методы, поэтому преобразование не или, а дискретное. А вот дополнительно, возможно, быстрое.


 
Nick_N_A   (2003-01-22 07:27) [20]

Я увлекался этой темой, здесь - чистый мат-анализ.
Я решил базироватся на резонансном фильтре радио-любителя.
Вышло - интеграл-безконечная катушка,
дифферинциал - конденсатор.
Вышла формула F(x)=|y(x)-у(x+1)| / (y(x)+y(x+1))*k или
F(x)=(y(x)+у(x+1)) / |y(x)-y(x+1)|*k
один из этих вариантов отфильтровует только
очень низкие частоты, может кто-нибуть из математиков подскажет
как перестроить резонанс этого мат-фильтра


 
Jeer   (2003-01-22 23:22) [21]

Nick_N_A © (22.01.03 07:27)
Это несколько другой вопрос - заведи свою ветку и получишь ответ.



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

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

Наверх




Память: 0.48 MB
Время: 0.007 c
14-77146
Uncle Archi
2003-04-07 20:34
2003.04.24
Арифметика.


9-76740
Ev_genus
2002-11-21 23:56
2003.04.24
---|Ветка была без названия|---


1-77028
Tayfun
2003-04-14 15:08
2003.04.24
Как сделать заставку чтобы в окне демонстрации Экран->Свойства


1-76968
tytus
2003-04-12 23:53
2003.04.24
new style


14-77117
Начинающий програмер
2003-04-07 18:49
2003.04.24
Массивы





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