DSP - mwicat/personal GitHub Wiki
Plot audio in realtime
https://python-sounddevice.readthedocs.io/en/0.3.15/examples.html#plot-microphone-signal-s-in-real-time
Jupyter notebook
sudo pip install notebook
jupyter notebook
Wav amplitude
import soundfile as sf
import matplotlib.pyplot as plt
data, samplerate = sf.read("test.wav")
left = data[:,0]
right = data[:,1]
plt.plot(left)
Generate sine to WAV
import numpy as np
import soundfile as sf
samplerate = 44100
fs = 100
t = np.linspace(0., 1., samplerate)
amplitude = np.iinfo(np.int16).max
data = amplitude * np.sin(2. * np.pi * fs * t)
sf.write('example.wav', data, 44100, 'PCM_24')
Plot RMS volume
import soundfile as sf
import matplotlib.pyplot as plt
%matplotlib inline
def to_db(y):
y = np.abs(y)
return 20 * np.log10(y)
def load(input_data):
data, samplerate = input_data
left = data[:,0]
right = data[:,1]
length_sec = data.shape[0] / samplerate
time = np.linspace(0., length_sec, data.shape[0])
rms = window_rms(left, 1024)
rms = to_db(rms)
return rms
inp = load(sf.read('doctor.wav'))
outp = load(sf.read('clip_12.wav'))