Looper based on Euler Magnification Technique
Not a member? You should Sign up.
Already have an account? Log in.
To make the experience fit your profile, pick a username and tell us what interests you.
During this kickoff weekend, I started from great work from chairman at github https://github.com/chairmank/eulerian-audio-magnification and check on the theory of it, plus add spectrograms for after and before the magnification.
Add google colab python 2.7 notebook.
Feel free to checkit out!
https://colab.research.google.com/drive/1pXwTn74pyo7VxgWxbv4-r3TsilSSaMrO
next steps will involve set everything up in the rpi, the main part of code published here follows. Laplacian pyramids rock :-)
this the first test results amplifying simple raw wav file with technique described
The main piece of code for that ;-)
window = 1024 step = window / 4 print "whitening spectrum" whitened = sp / np.sqrt(power) whitened = normalize_total_power(whitened, utils.total_power(sp)) print "unwhitening spectrum" unwhitened = whitened * np.sqrt(power) unwhitened = normalize_total_power(unwhitened, utils.total_power(sp)) print "resynthesizing from whitened-unwhitened spectrogram" resynth = resynthesize(unwhitened) wavfile.write("resynth.wav", int(2 * nyq), resynth) print "constructing Laplacian pyramid" pyr = stft_laplacian_pyramid(sp) print "amplifying components of Laplacian pyramid" passband = [0.5, 1.0] fs = 44100 / step gain = 10.0 amplified_pyr = amplify_pyramid(pyr, passband=passband, fs=fs, gain=gain) print "resynthesizing spectrogram from amplified Laplacian pyramid" pyramid_resynth = resynthesize(amplified_pyr.sum(axis=-1)) wavfile.write("resynth_pyramid.wav", int(2 * nyq), pyramid_resynth) (nyq, signal2) = slurp_wav("resynth_pyramid.wav", start=0, end=44100*10) plt.specgram(signal2, cmap='Spectral', Fs=framerate)
View project log
Create an account to leave a comment. Already have an account? Log In.
rifowler
George
mark
Sean
Become a member to follow this project and never miss any updates
Yes, delete it Cancel
You are about to report the project "EuLooper", please tell us the reason.
Your application has been submitted.
Are you sure you want to remove yourself as a member for this project?
Project owner will be notified upon removal.