|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.06.2014, 19:01 | #1 |
Пользователь
Регистрация: 25.05.2013
Сообщений: 33
|
Обработка WAV файла
Задача состоит в следующем: есть WAV файл (преподаватель сказал записать свой голос)
1) нужно удостовериться что это WAV файл - тут как я понял это можно посмотреть в заголовках самого файла http://audiocoding.ru/%D1%81%D1%82%D...%BB%D0%B0.html 2) Нужно провести фильтрацию сигнала сохранив звук только в диапазоне от 300Гц до 4кГц. Как это сделать?! Почитав некоторые статьи, я понял что нужно разложить в ряд фурье (http://ru.wikipedia.org/wiki/%D0%91%...80%D1%8C%D0%B5) потом обрезать частоты и все это собрать. Есть у кого какие мысли по этому поводу? На вики есть алгоритм быстрого преобразования в Ряд Фурье, а дальше как отсечь не нужные высоты частот и потом все это собрать в wav файл? |
30.06.2014, 19:01 | #2 |
Пользователь
Регистрация: 25.05.2013
Сообщений: 33
|
Еще хотелось бы узнать есть какие-нибудь библиотеки которые все это делают?
|
30.06.2014, 20:12 | #3 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
1- да, именно в сигнатуре файла
2- провести разложение последовательно каждого сэмпла прямым преобразованием Фурье в спектр, откидыванием частот ниже 300 и выше 4000 Гц и последующим обратным преобразованием Фурье спектра в отсчеты. 3- библиотеки FFT/iFFT - FFTW или моя FFTR.DLL 4- также есть пакеты обработки ACS. Замечу, что программное создание ФНЧ для обрезания полосы, скажем сверху, совсем необязательно осуществлять через Фурье, если вспомнить про частотную характеристику фильтра "скользящего среднего". Если опустить некоторые выкладки из теории ЦОС (см. мою публикацию "ПЛИС. Часть 3 или... Цифровая фильтрация. Сглаживание и борьба с импульсными помехами. - Радиолюбитель, 2014, №3, с.32"), допустим, имеем сигнал-синус (набор данных, сэмплов WAV PCM) с частотой дискретизации 44100 Гц и разрешением 32 бита на сэмпл. Среднее из скольки сэмплов нужно взять, чтобы остались частоты ниже 4000 Гц? То есть стоит задача отфильтровать высокие частоты. Обратимся к готовой формуле (ее вывод см. у меня) и подставим исходные данные: Код:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation Последний раз редактировалось raxp; 30.06.2014 в 20:15. |
02.07.2014, 21:10 | #4 | |
Пользователь
Регистрация: 25.05.2013
Сообщений: 33
|
Цитата:
Код:
Код:
Подскажите как правильно считать данные WAV файла в массив? И когда мы получаем данные WAV, эти данные мы уже прогоняем через Фурье, правильно? |
|
02.07.2014, 22:02 | #5 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Подкину вам хорошую библиотеку обработки WAV.
ещё есть NewAC. //Сам не в теме.. но мб Вы оттуда что-то да подберете. |
02.07.2014, 22:08 | #6 |
Заблокирован
Регистрация: 31.03.2011
Сообщений: 976
|
Глубоко сомневаюсь, что учитель примет работу со сторонней библиотекой. Ибо задачу решит не ученик, а чужой код.
|
02.07.2014, 22:11 | #7 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
doktor255, я не говорил про компонентокидательство, я про то что готовый код облегчает понимание его задачи. Можно написать свой код быстрее.
|
02.07.2014, 22:15 | #8 |
Заблокирован
Регистрация: 31.03.2011
Сообщений: 976
|
|
03.07.2014, 00:04 | #9 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Ну вы хоть глянули что я ему кидаю, прежде чем предполагать что-то с чем-то.
|
03.07.2014, 00:23 | #10 |
Заблокирован
Регистрация: 31.03.2011
Сообщений: 976
|
Ну а оно, по сути мне надо? Я просто по опыту знаю, что большинство библиотек для работы со звуком идут в DLL, вот и высказался. Не DLL и слава богу. Значит задача сведётся к весёлому выдиранию функций из чужой библиотеки.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание Wav-файла | DelhiProgramer | Мультимедиа в Delphi | 1 | 13.08.2012 14:14 |
Обработка и запись WAV | Voxa7 | Помощь студентам | 2 | 13.03.2011 11:28 |
декомпиляция Wav файла | DzetaHunter | Общие вопросы Delphi | 3 | 14.01.2011 13:17 |
Анализ Wav файла | lacost | Общие вопросы по Java, Java SE, Kotlin | 4 | 17.12.2010 12:09 |
Спектр wav файла | varvara16 | Мультимедиа в Delphi | 3 | 01.02.2010 08:10 |