Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.042 c
10-1113983044
Fishb1
2005-04-20 11:44
2006.02.19
Работа с файлами EXCEL


3-1135167042
kreyl
2005-12-21 15:10
2006.02.19
Как подсчитать количество неодинаковых записей в датасете?


2-1138793071
sergeii
2006-02-01 14:24
2006.02.19
Label ?


15-1138286565
Yegorchic
2006-01-26 17:42
2006.02.19
Конспект по теме "Решения треугольников"


15-1138359877
unknowing
2006-01-27 14:04
2006.02.19
Работа с таблицами в текстовом формате





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский