Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос про звуки в Дельфи


Страницы:   1 2

Dilmo ©   (2005-09-08 09:57:00) 

Доброго времени суток!

Никогда не приходилось заниматься мультимедией.. а тут вот пришлось, суть в проигрывании звукового файла (wav, mp3) и необходима возможность корректировки звучания, такой как, например отключение каких либо частот, чтобы звуки заданной частоты не воспроизводились. Может кто поделиться опытом каким образом такое можно реализовать, можно ли вообще.. ну и где покопаться по этому поводу.

Заранее спасибо


Jeer   (2005-09-13 09:29:00) [1]

Ivane   (13.09.05 00:05) [23]

Лучше всего, когда есть готовая голова, но пока еще не могут.


Ivane   (2005-09-13 00:05:00) [2]

Народ.. вы тут общаетесь-общаетесь... а разве нет никаких уже готовых компонентов?
Я думаю, что есть... хотя конкретных примеров дать не могу...


programania   (2005-09-12 22:57:00) [3]

>Dilmo   (12.09.05 07:06) [19]
>преобразованием фурье пока не совсем все понял

Это не обязательно
главное наконец понять что нужно получить в результате

>как мне допустим взять и нужную мне частоту, например, 3кГц заблокировать

Если 1 значение частоты занулить то на слух ничего не заметно будет, надо занулять диапазон

>нужно отключить эту частоту при проигрывании и послушать как этот человек эту мелодию воспринимает..
>вот такая вот задача..

да не заметит никто ничего потому что в любой мелодии много частот
лучше подавать синусоиду разных частот и понижающейся амплитуды
пока будет замечать появление и так построить
кривую чуствительности конкретного человека по всем частотам.
это будет интересно.


Digitman   (2005-09-12 15:40:00) [4]


> про амплитуды и частоту   дискретизации я вроде уже начитался
> и в голове так отложилось


спрашивается, отложилось ЧТО?

начнем с якобы понятых тобой определений терминов "амплитуда" и "частота дискретизации" .. понятых тобой их физ.смысла ...

подробней .. и своими словами ...

?


Jeer   (2005-09-12 14:14:00) [5]

Dilmo   (12.09.05 07:06) [19]

См.
Digitman ©   (08.09.05 14:27) [5]
thaddy   (08.09.05 18:21) [7]

а форум - не учебник по DSP.


Dilmo   (2005-09-12 07:06:00) [6]

To programania:
 А можно поподробнее, а то я пока еще дуб в этом деле,
 и чего то не совсем понимаю.. про амплитуды и частоту   дискретизации я вроде уже начитался и в голове так отложилось.. но чтото с преобразованием фурье пока не совсем все понял


Dilmo   (2005-09-12 06:39:00) [7]

Ну отключить частоту можно наверное преобразовав ее в какуюто, какую человек не слышит, 10 Гц например.. не знаю правда на сколько это безопасно, а то мало ли у людей начнет рак мозга развиваться, а я виноват буду :))


Дмитрий Белькевич   (2005-09-11 20:05:00) [8]

'отключить некую частоту' - полность не удастся. Но сильно приглушить некий диапазон частот - запросто. Про FFT уже рассказали. Не совсем понятно, зачем это всё нужно.


programania   (2005-09-10 22:52:00) [9]

Правильная ссылка на реализация FFT
http://alglib.sources.ru/translator/view.php?location=/fft/realfft&target=delphi


programania   (2005-09-10 22:47:00) [10]

Dilmo   (08.09.05 09:57)  
>отключение каких либо частот, чтобы звуки заданной частоты не воспроизводились.

Массив амплитуд преобразовать в массив частот
Описание
http://alglib.sources.ru/fft/
Реализация
http://alglib.sources.ru/translator/view.php?location=/fft/realfft&      delphi
Занулить диапазон частот считая что макс индекс массива частот
равен частоте дискретизации/2 или лучше определить опытным путем
Преобразовать назад в амплитуды той же процедурой


Dilmo   (2005-09-10 11:07:00) [11]

Ну я вот почитал MSDN, посмотрел пример с миксером который ты мне прислал, не нашел ничего чтобы мне подошло кроме функций Lock и Unlock у IDirectSoundBuffer, возможно я в правильном направлении двигаюсь, но вот вопрос, как мне допустим взять и нужную мне частоту, например, 3кГц заблокировать, чтото там надо найти в буфере, поменять и подставить обратно, но вот что...


Ботвин Дмитрий   (2005-09-09 09:14:00) [12]

Большинство этих функций описаны в мсдн на сайте микрософта в разделе, посвященному директ икс.


Dilmo   (2005-09-09 06:25:00) [13]

Еще один вопросик Ботвину Дмитрию
ты там мне высылал миксер с header файлами для директ X
а нет ли у тебя случаем доки по этим функциям ?


Dilmo   (2005-09-09 06:23:00) [14]

а вообще, если это все чушь и соверешенно нереально сделать, то возможно мне так и нужно начальству сообщить...


Dilmo   (2005-09-09 06:22:00) [15]

Возможно вы и правы что я несу чушь, потому что в теории этой я не силен.. просто поставили задачу сделать прогу, чтобы можно было отключить некую частоту, поясняю более детально.. предположим человек не слышит какие то частоты звуков.. по болезни там или еще как.. нужно отключить эту частоту при проигрывании и послушать как этот человек эту мелодию воспринимает.. вот такая вот задача..


Zer0   (2005-09-09 01:34:00) [16]

[7] thaddy  
в реальных сигналах ФЧС - это сложная функция, вычислять ее не так то просто =)
проще замутить эквалайзер или band-reject фильтр


vrem   (2005-09-08 21:09:00) [17]

Соседи шумят, а ты их шум reverse the phase and add it to им же :)


thaddy   (2005-09-08 18:21:00) [18]

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)


Antonn   (2005-09-08 17:15:00) [19]

Digitman ©   (08.09.05 14:27) [5]
ну как смог человек, так и объяснил, зачем сразу так грубо. что то типа эквалайзера ему нужно.


Digitman   (2005-09-08 14:27:00) [20]


> Dilmo   (08.09.05 09:57)  


> отключение каких либо частот, чтобы звуки заданной частоты
> не воспроизводились


ты несешь такую чушь, что НИКАКОЙ пример тебе не припарка.

изучай теорию.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо