Форум: "Media";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];
ВнизВопрос про звуки в Дельфи Найти похожие ветки
← →
Dilmo (2005-09-08 09:57) [0]Доброго времени суток!
Никогда не приходилось заниматься мультимедией.. а тут вот пришлось, суть в проигрывании звукового файла (wav, mp3) и необходима возможность корректировки звучания, такой как, например отключение каких либо частот, чтобы звуки заданной частоты не воспроизводились. Может кто поделиться опытом каким образом такое можно реализовать, можно ли вообще.. ну и где покопаться по этому поводу.
Заранее спасибо
← →
Ботвин Дмитрий (2005-09-08 10:21) [1]Посмотри у себя в почтовом ящике, я тебе там пример намылил.
То что надо?
← →
Dilmo (2005-09-08 10:41) [2]получил, спасибо !
возможно то что нужно, я пока не понял.. у меня компонента не устанавливается там файлы ты прислал под дельфи 8, у меня 5я
может у тебя под 5 есть ? или они не отличаются ?
← →
Dilmo (2005-09-08 11:02) [3]там вот такая вот функция вызывается
AllocateHWnd (FWindowHandle := AllocateHWnd(WndProc))
у меня ее нет...или я не знаю где ее искать :)
← →
Ботвин Дмитрий (2005-09-08 14:19) [4]Это в какой строке и какого модуля? Я там такого не видел?
← →
Digitman © (2005-09-08 14:27) [5]
> Dilmo (08.09.05 09:57)
> отключение каких либо частот, чтобы звуки заданной частоты
> не воспроизводились
ты несешь такую чушь, что НИКАКОЙ пример тебе не припарка.
изучай теорию.
← →
Antonn © (2005-09-08 17:15) [6]Digitman © (08.09.05 14:27) [5]
ну как смог человек, так и объяснил, зачем сразу так грубо. что то типа эквалайзера ему нужно.
← →
thaddy (2005-09-08 18:21) [7]I agree with Digitman in this case: Study theory first. there is a LOT to learn.
Hint: to remove a certain frequency, reverse the phase and add it to the original at the same strength. (Anti-sound theorum)
← →
vrem (2005-09-08 21:09) [8]Соседи шумят, а ты их шум reverse the phase and add it to им же :)
← →
Zer0 © (2005-09-09 01:34) [9][7] thaddy
в реальных сигналах ФЧС - это сложная функция, вычислять ее не так то просто =)
проще замутить эквалайзер или band-reject фильтр
← →
Dilmo (2005-09-09 06:22) [10]Возможно вы и правы что я несу чушь, потому что в теории этой я не силен.. просто поставили задачу сделать прогу, чтобы можно было отключить некую частоту, поясняю более детально.. предположим человек не слышит какие то частоты звуков.. по болезни там или еще как.. нужно отключить эту частоту при проигрывании и послушать как этот человек эту мелодию воспринимает.. вот такая вот задача..
← →
Dilmo (2005-09-09 06:23) [11]а вообще, если это все чушь и соверешенно нереально сделать, то возможно мне так и нужно начальству сообщить...
← →
Dilmo (2005-09-09 06:25) [12]Еще один вопросик Ботвину Дмитрию
ты там мне высылал миксер с header файлами для директ X
а нет ли у тебя случаем доки по этим функциям ?
← →
Ботвин Дмитрий (2005-09-09 09:14) [13]Большинство этих функций описаны в мсдн на сайте микрософта в разделе, посвященному директ икс.
← →
Dilmo (2005-09-10 11:07) [14]Ну я вот почитал MSDN, посмотрел пример с миксером который ты мне прислал, не нашел ничего чтобы мне подошло кроме функций Lock и Unlock у IDirectSoundBuffer, возможно я в правильном направлении двигаюсь, но вот вопрос, как мне допустим взять и нужную мне частоту, например, 3кГц заблокировать, чтото там надо найти в буфере, поменять и подставить обратно, но вот что...
← →
programania © (2005-09-10 22:47) [15]Dilmo (08.09.05 09:57)
>отключение каких либо частот, чтобы звуки заданной частоты не воспроизводились.
Массив амплитуд преобразовать в массив частот
Описание
http://alglib.sources.ru/fft/
Реализация
http://alglib.sources.ru/translator/view.php?location=/fft/realfft& delphi
Занулить диапазон частот считая что макс индекс массива частот
равен частоте дискретизации/2 или лучше определить опытным путем
Преобразовать назад в амплитуды той же процедурой
← →
programania © (2005-09-10 22:52) [16]Правильная ссылка на реализация FFT
http://alglib.sources.ru/translator/view.php?location=/fft/realfft&target=delphi
← →
Дмитрий Белькевич (2005-09-11 20:05) [17]"отключить некую частоту" - полность не удастся. Но сильно приглушить некий диапазон частот - запросто. Про FFT уже рассказали. Не совсем понятно, зачем это всё нужно.
← →
Dilmo (2005-09-12 06:39) [18]Ну отключить частоту можно наверное преобразовав ее в какуюто, какую человек не слышит, 10 Гц например.. не знаю правда на сколько это безопасно, а то мало ли у людей начнет рак мозга развиваться, а я виноват буду :))
← →
Dilmo (2005-09-12 07:06) [19]To programania:
А можно поподробнее, а то я пока еще дуб в этом деле,
и чего то не совсем понимаю.. про амплитуды и частоту дискретизации я вроде уже начитался и в голове так отложилось.. но чтото с преобразованием фурье пока не совсем все понял
← →
Jeer © (2005-09-12 14:14) [20]Dilmo (12.09.05 07:06) [19]
См.
Digitman © (08.09.05 14:27) [5]
thaddy (08.09.05 18:21) [7]
а форум - не учебник по DSP.
← →
Digitman © (2005-09-12 15:40) [21]
> про амплитуды и частоту дискретизации я вроде уже начитался
> и в голове так отложилось
спрашивается, отложилось ЧТО ?
начнем с якобы понятых тобой определений терминов "амплитуда" и "частота дискретизации" .. понятых тобой их физ.смысла ...
подробней .. и своими словами ...
?
← →
programania © (2005-09-12 22:57) [22]>Dilmo (12.09.05 07:06) [19]
>преобразованием фурье пока не совсем все понял
Это не обязательно
главное наконец понять что нужно получить в результате
>как мне допустим взять и нужную мне частоту, например, 3кГц заблокировать
Если 1 значение частоты занулить то на слух ничего не заметно будет, надо занулять диапазон
>нужно отключить эту частоту при проигрывании и послушать как этот человек эту мелодию воспринимает..
>вот такая вот задача..
да не заметит никто ничего потому что в любой мелодии много частот
лучше подавать синусоиду разных частот и понижающейся амплитуды
пока будет замечать появление и так построить
кривую чуствительности конкретного человека по всем частотам.
это будет интересно.
← →
Ivane (2005-09-13 00:05) [23]Народ.. вы тут общаетесь-общаетесь... а разве нет никаких уже готовых компонентов?
Я думаю, что есть... хотя конкретных примеров дать не могу...
← →
Jeer © (2005-09-13 09:29) [24]Ivane (13.09.05 00:05) [23]
Лучше всего, когда есть готовая голова, но пока еще не могут.
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.049 c