Листинг 2 — Построение графика амплитудного спектра
# График амплитудного спектра для исходного и нового сигналов
plt.figure(figsize=(8, 3))
plt.semilogx(f, S_dB_input[0, :], color='b', label=r'спектр входного сигнала')
plt.semilogx(f, S_dB_output_real[0, :], color='r', label=r'спектр выходного сигнала')
plt.grid(True)
plt.minorticks_on()
plt.grid(True, which='major', color = '#444', linewidth = 1)
plt.grid(True, which='minor', color='#aaa', ls=':')
Max_A = np.max((np.max(np.abs(Spectr_input)),
np.max(np.abs(Spectr_output_real))))
Max_dB = np.ceil(np.log10(Max_A))*20
plt.axis([10, Fd/2, Max_dB-120, Max_dB])
plt.xlabel('Частота (Гц)')
plt.ylabel('Уровень (дБ)')
plt.title('Амплитудный спектр входного и выходного сигналов')
plt.legend()
plt.show()
Рисунок 3 — Амплитудный спектр при фильтрации сигнала
С помощью библиотеки matplotlib (Листинг 3) построены графики исходного и нового звуковых сигналов (Рисунок 4). Видно, что в случае с обработанным сигналом некоторые участки имеют амплитуду меньше, то есть звучат тише. Особенно это выражено на участках с 0 до 1 секунды, с 2.5 до 3.5 секунд, с 5.5 до 6 секунд. На записи на фоне разговора персонажа звучит музыка — скрипка и пианино. При фильтрации высоких частот звучание скрипки заметно заглушается. Голос Печкина, который теперь звучит выше, кажется более чётким и громким. В тоже время голос становится немного металлическим.
Листинг 3 — Построение графика анализируемых сигналов
start_t, stop_t = 0, T
plt.figure(figsize=(8, 6))
plt.subplot(2, 1, 1)
plt.plot(t, input_signal[0, :])
plt.xlim([start_t, stop_t])
plt.xlabel('Время (с)')
plt.ylabel('Амплитуда')
plt.title('Входной сигнал')
plt.subplot(2, 1, 2)
plt.plot(t, output_signal[0, :])
plt.xlim([start_t, stop_t])
plt.xlabel('Время (с)')
plt.ylabel('Амплитуда')
plt.title('Выходной сигнал')
plt.tight_layout()
plt.show()
Рисунок 4 — Сравнение входного и выходного сигналов
На Рисунке 5 представлена спектрограмма полученного в результате фильтрации сигнала. На ней чётко видно, что в спектре нет точек с частотами ниже чем 800 Гц.
Рисунок 5 — Спектрограмма выходного сигнала
Выводы:
В результате выполнения лабораторной работы изучены основы обработки аудиосигналов на примере метода фильтрации сигналов в спектральном пространстве. В частности применен на практике фильтр высоких частот посредством Фурье преобразований.
Для изучения принципа работы фильтра была обработана запись озвучивания персонажа Печкина. В оригинале на записи слышен не очень высокий голос почтальона и звучание скрипки с пианино. После применения ФВЧ голос Печкина становится выше, чётче, складывается впечатление, что на голос наложен на голос эффект робота — голос звучит немного металлическим. При этом заметно заглушается звучание скрипки.
Список использованных источников
1. Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №2 по дисциплине “Мультимедиа-технологии “. гр.4116,4117, 4118, Z0411. ГУАП, 2025. – 19 с. (Интернет-ресурс): //URL:
https://pro.guap.ru/inside/student/tasks/ebc6a2127311e8d70f17dd5a3b0c85e3/download
(Дата обращения 25.02.2025)
2. Zvukogram. База звуковых эффектов для монтажа. Категория Трое из Простоквашино //URL:
https://zvukogram.com/category/troe-iz-prostokvashino/
(Дата обращения 25.02.2025)
