| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Посоветуйте чтиво для обработки звука? |
| Автор: Proger10 24.7.2009, 01:07 |
| Подскажите пожалуйста, есть ли какие-либо книги по программной обработке звука? Эхо, ревер, понижение/повышение тональности. Весьма интересует тема порождения и распознавания речи. Гуглить пытался - бестолку. Нахожу упоминания книг, но не найду где скачать их Может у кого есть литература по данному направлению? |
| Автор: Alexeis 24.7.2009, 09:28 |
Делаешь фурье, получаешь комплексный спектр, если в серединку комплексного спектра добавить ноликов, а потом сделать обратное фурье, то тон понизиться. Если ноликов добивать слева и справа (симметрично) начиная с первого отсчета. 1й и n-1й, 2й и n-2й и т.д. то тон станет более высоким (0й отсчет не трогать). Эхо скорее всего это дубль фрагмента размноженный и смикшированный на сигнал. Насколько я знаю реверберация это модуляция сигнала низкой частотой, операция умножения сигналов. По поводу поиску литературы, вам сюда http://forum.vingrad.ru/forum/wanted.html в специальный раздел. |
| Автор: Proger10 24.7.2009, 12:37 |
| Спасибо! Попробуем чего-нибудь сделать в подобном плане. С микрофона удаётся получать звук через PortAudio, через него же успешно выводить записанный только что сигнал. Вот этот исходник: https://www.mat.ucsb.edu/projects/scatter/browser/mptk-0.5.0/src/gui/portaudio_v18_1/pa_tests/patest_record.c?rev=22 Но если честно, мне не очень понятен сам процесс работы.. Изначально перед микрофоном у нас аналоговый, непрерывный сигнал.. далее проходя через микрофон он дискретизируется (разрывается). Мы получаем уже почти тот же сигнал, что был и на входе только дискретизированный в виде огромного набора частот. Количество этих частот на еденицу времени (секунду) постоянно и называется частотой дескритизации. Пока что верно? Далее мы применяем преобразование Фурье. Нам нужно дискретное преобразование Фурье? Смотрю сейчас на http://ru.wikipedia.org/wiki/Дискретное_преобразование_Фурье - чёт они какие-то другие Так Фурье применять нам к каким числам нужно, ко всему полученному звуку или к одной секунде звучания, или к чему-то ещё..? |
| Автор: Proger10 26.7.2009, 02:14 |
| Вопрос немного не по теме.. В различных программах типа Audacity, Adobe Audition - можно сильно увеличить звуковое представление, которое будет напомниать что-то типа синусоиды (если скажем сплошной звук 440гц). Это уже преобразованный сигнал по Фурье или нет ещё? Просто не очень понимаю пока что, что из себя представляет звуковой спектр, получаемый после преобразования Фурье.. И чего с ним дальше делать. |
| Автор: Proger10 26.7.2009, 02:52 |
| Ещё не очень понятно как именно определяется частота сигнала. Взять тот же 440гц. Т.е. у него 440 раз в секунду колеблется синусоида. Но ведь там может быть и не ровная синусоида. Как в этом случае определить частоту такого сигнала? Кол-во пересечений нуля? Интересно, а есть ли какой-то специализированный форум по подобным вещам? |
| Автор: Alexeis 26.7.2009, 11:02 |
| Лучше почитать мануалы, например http://prodav.narod.ru/signals/doc/ts08.doc да и вообще на сайте давыдова http://prodav.narod.ru/dsp/index.html много полезной инфы по цифровой обработке. |
| Автор: Proger10 27.7.2009, 01:03 |
| Ого сколько чтива. Спасибо за информацию! Вроде уже проясняется потихоньку. Параллельно экспериментирую с увеличением масштаба звуковых волн в Audacity. Генерирую различные звуки и смотрю в каком виде представляется сигнал. Насколько я понял вот это и есть спектр, полученный по Фурье? http://www.youtube.com/watch?v=OvkFxyKKGNY Только не пойму как оно может применяться в распознавании. (хотя бы в попытке различия двух разных гласных звуков). Мне кажется, что их распознавать надо по их волновому представлению. Но причём тут спектр? Какое он место занимает здесь? Кроме как шумы отсекать не могу представить для чего ещё его используют.. |
| Автор: Alexeis 27.7.2009, 20:57 | ||
Спектр это и есть волновое представление, а на видео модуль комплексного спектра. |