- •Санкт-Петербург 2024
- •Краткие теоретические сведения о задачах обработки мультимедиа аудиоконтента
- •Текст программы формирования модельного аудиофайла с описанием примененных программных решений.
- •Текст программы считывание данных сформированного модельного аудиофайла и визуализацию его свойств с описанием примененных программных решений.
- •Дополнительные настройки визуализации
- •Список используемых источников
Текст программы считывание данных сформированного модельного аудиофайла и визуализацию его свойств с описанием примененных программных решений.
Для считывания и визуализации данных модельного аудиофайла, включая волновую форму и амплитудный спектр был написан код, представленный в листинге 2.
Листинг 2 – Считывание и визуализация данных модельного аудиофайла
% Считывание данных аудиофайла [signal, fs] = audioread('model_audio_signal.wav');
% Временная ось для визуализации волновой формы t = (0:length(signal)-1)/fs;
% Визуализация волновой формы figure; subplot(2,1,1); plot(t, signal); xlabel('Время (с)'); ylabel('Амплитуда'); title('Волновая форма');
% Вычисление и визуализация амплитудного спектра % Переход к одному каналу, если сигнал стерео if size(signal,2) == 2 signal = signal(:,1); end
% Вычисление FFT Y = fft(signal); L = length(signal); P2 = abs(Y/L); P1 = P2(1:L/2+1); P1(2:end-1) = 2*P1(2:end-1); f = fs*(0:(L/2))/L;
% Визуализация амплитудного спектра subplot(2,1,2); plot(f, P1); xlabel('Частота (Гц)'); ylabel('|P1(f)|'); title('Амплитудный спектр');
% Дополнительная настройка для улучшения визуализации xlim([0 2000]); % Ограничение оси частот для лучшей визуализации |
Были применены следующие программные решения:
Считывание данных аудиофайла
audioread: функция используется для считывания аудиоданных из файла. Возвращает аудиосигнал в переменную signal и частоту дискретизации в переменную fs. Это первый шаг, необходимый для работы с аудио в MATLAB.
Визуализация волновой формы
Временная ось (t): для визуализации волновой формы создается временная ось, исходя из длины сигнала и частоты дискретизации. Это позволяет корректно отображать амплитуды сигнала в зависимости от времени.
plot: функция используется для построения графика волновой формы аудиосигнала. Визуализация волновой формы дает представление о амплитудных характеристиках звука во времени.
Вычисление и визуализация амплитудного спектра
Переход к одному каналу: если сигнал стерео, выбирается один канал для упрощения анализа спектра.
Быстрое преобразование Фурье (fft): функция fft применяется к аудиосигналу для получения его амплитудного спектра. FFT преобразует сигнал из временного представления в частотное, что позволяет анализировать составляющие частоты звука.
Обработка результатов FFT: полученный спектр обрабатывается для корректной визуализации: вычисляется односторонний спектр (P1) и формируется соответствующий массив частот (f).
plot для спектра: с помощью функции plot визуализируется амплитудный спектр, показывая зависимость амплитуды звуковых компонент от частоты.
