Russian Qt Forum

Qt => Мультимедиа => Тема начата: Firefox от Январь 18, 2010, 12:26



Название: искажениезвука
Отправлено: Firefox от Январь 18, 2010, 12:26
Здравствуйте. у меня такая проблемка. есть звуковой файл в формате wav например.и параметр  int х, который отображает степень искажения. надо средствами qt сделать искаженный файл, тоесть сдвинуть звук по фазе на х и наложить на исходный и потом всё это проиграть. может кто подсказать как это реализовать? ??? ???


Название: Re: искажениезвука
Отправлено: BlackTass от Январь 18, 2010, 12:49
ну самым очевидным способом будет почитать формат wav-файла, вручную исказить, потом передать искаженный фонону для проигрывания


Название: Re: искажениезвука
Отправлено: Firefox от Январь 18, 2010, 13:36
а как программно реализовать то что вы написали. в классе QSound функций для этого нет.


Название: Re: искажениезвука
Отправлено: Admin от Январь 18, 2010, 13:50
wav файл это  обыкновенный массив N каналов звука + заголовок

считывайте его и делайте все необходимые операции с массивом

PS: формат можно посмотреть в интернете - он очень простой


Название: Re: искажениезвука
Отправлено: xokc от Январь 18, 2010, 20:26
Прикольный вопрос. Qt-то тут причем? Считывайте wav делайте над ним, например, преобразование Гильберта сдвигайте фазу, делайте обратное преобразование Гильберта, суммируйте с исходным сигналом и сохраняйте в файл. Где тут хоть слово про Qt???


Название: Re: искажениезвука
Отправлено: Firefox от Январь 19, 2010, 00:13
ну дак я и спрашивала потому что не знала какими средствами это реализовывать. посмотрела формат в интернете. нашла структуры буду пробовать)