thought:
Улучшение качества вашего голоса путем увеличения амплитуд гармоник вашего голоса с помощью быстрого преобразования Фурье: преобразование сигнала временной области в частотную область, затем манипулирование спектром, а затем преобразование его обратно во временную область.
question:
Улучшение качества звука с помощью fft. Убедитесь, что звук не искажен и не искажен. Сохраните полученный сигнал временной области как WAV (16 бит) и включите его в свое представление. Укажите, на какую величину вы увеличили амплитуды гармоник и как изменился ваш голос. (мне нужен код)
Ниже приведен код для получения диаграмм во временной и частотной областях.
# -*- coding: utf-8 -*-
import scipy.io.wavfile as wf
import numpy as np
import matplotlib.pyplot as plt
fs, audio = wf.read("/Users/matzoh/Downloads/homework/44khz16bit.wav")
# creating time axis
plt.subplot(2, 1, 1)
time = np.linspace(0, len(audio)/fs, len(audio))
plt.plot(time, audio)
# Adding labels
plt.title('Sound recording')
plt.xlabel('Frequency (Hz)')
plt.ylabel('amplitude')
# plt.plot(time, audio)
# ##freqaxis = np.linspace(0, fs, len(audio))
# creating frequency domain
plt.subplot(2, 1, 2)
fft = np.abs(np.fft.fft(audio))
# plt.plot(freqaxis, fft)
fft2 = fft[0:int(len(fft)/2)]
freqaxis2 = np.linspace(0, fs, len(audio)/2)
fft3 = np.fft.fft(audio)
fft3 = np.abs(fft2)/len(fft2)
fft3 = 20*np.log10(fft2)
plt.plot(fft2)
plt.loglog(fft2)
plt.show()