Как усилить определенные аудиосэмплы, особенно усилить определенную частоту? - PullRequest
0 голосов
/ 08 декабря 2011

Может ли кто-нибудь предоставить пример псевдокода или поделиться какой-нибудь существующей ссылкой, содержащей образец кода.

Как, например, у меня есть микшированный звук 1 кГц или 2 кГц или 8 кГц или около того, и я хочу повысить некоторые частоты, например 1 кГцтолько в режиме реального времени.

Чтение некоторых книг и ресурсов DSP смущает меня.

Ответы [ 2 ]

1 голос
/ 08 декабря 2011

Вам просто нужно спроектировать и внедрить подходящий цифровой фильтр .Это большая и сложная предметная область, поэтому вы не получите простого ответа здесь.Наверное, лучше всего в качестве первого шага было бы прочитать хорошую вводную книгу по DSP, например, Понимание DSP Рика Лайонса , которая очень хороша для начинающих, так как она не слишком сложна для математики и имеетболее практично, чем большинство таких вводных книг по DSP.

Для этого конкретного приложения вы пытаетесь сделать то же самое, что и реализовать графический эквалайзер , и есть много указаний на то, как его реализовать.такого рода вещи, если вы используете, например, «графический эквалайзер» в качестве поискового запроса.

0 голосов
/ 08 декабря 2011

За цифровой фильтрацией стоит много математики. Извините, я думаю, что важно хотя бы понять базовые фильтры (например, используемые в электронике). Если вы не хотите разбираться в основах: лучше всего приобрести эквалайзер звуковой графики, в котором вы можете играть с (виртуальными) ползунками. Если вы хотите реализовать очень специфический фильтр, читайте дальше.

Реальное время: зависит от вашей вычислительной платформы. Если это маленький микро (например, AVR, Microchip PIC, ...), вам понадобится эффективный алгоритм. Вероятно, это полосовой фильтр IIR. Эквивалент графического эквалайзера состоит из нескольких полосовых фильтров, которые суммируются вместе. Смотри http://en.wikipedia.org/wiki/Infinite_impulse_response

Более вычислительный алгоритм использует FIR-фильтры. В этом случае вы также можете контролировать фазу фильтруемого сигнала. http://en.wikipedia.org/wiki/Finite_impulse_response

Если вы найдете алгоритм (т.е. БИХ), вам нужно будет рассчитать коэффициенты. Алгоритм прост, расчета коэффициентов нет.

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

...