Блок задач

8. Проекты-1

Сложность 7

Задача «Сонограмма (WAV2BMP)»

Задание

Реализовать построение сонограмм для аудио файла в формате WAV (описание 1, описание 2).

Описание

В данном задании потребуется реализовать:

  1. Модуль для чтения WAV-файла и извлечения из него массива отсчетов (либо одного из каналов L или R, либо с построением суммарного канала L+R).

  2. Модуль для проведения быстрого преобразования Фурье над массивом отсчетов. Возможно использование как собственноручно реализованного FFT (нежелательно, но допускается при наличии грамотного теста), так и использование сторонней библиотеки FFTW (рекомендуется, но при этом, естественно, потребуется чтение мануала по FFTW, скачивание и подключение к проекту dll-библиотеки)

  3. Модуль на основе libbmp для визуализации полученного спектра.

Как усложнение, можно подумать об обратном преобразовании BMP2WAV.