Monthly Archives: February 2016
Python pith
I just wrote a little tool to help with your Python development called pith.
1 |
pip install --user pith |
Checkout the release.
Ranking Photos With Python
Photo Ranking With Python What is this? This is a tool that uses the Elo Ranking System written in Python using: Matplotlib Numpy exifread Features: Auto image rotation that the camera recored in the EXIF meta data Persistent state from … Continue reading
Listening to Gravity Waves with Nsound!
Gravity Wave Signal Processing With all the excitement about LIGO and gravity waves, I’ve downloaded the raw GW150914 detection data for from here. The file I downloaded was 32 seconds sampled at 4096 samples per second. Next I reviewed some of … Continue reading
Gravity Freakin’ Waves!
How lucky we are to live in this time, the first moment in human history, when we detected gravity waves! It was only 4 years ago in 2012 when the Higg Boson was discovered at the LHC, 2 years ago we landed on a … Continue reading
Nsound spotted in the wild
Today I found a simple Python app that uses a TK GUI that wraps around Nsound’s AudioStream to resample .wav files: Link: ResampleGui
Nsound::biquad::FilterBank Work In Progress
I’ve made some good progress on a biquad filter bank on this branch. I’ve been able to replicate Figure 10 from this reference: That’s a filter bank with 4 individual biquad filters, here’s the C++ code that produced the plot:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
#include <Nsound/NsoundAll.h> #include <Nsound/biquad/FilterBank.hpp> #include <iostream> using std::cout; using namespace Nsound; using namespace Nsound::biquad; int main(void) { float64 sr = 48000; // sample rate auto khz = 1000.0; Biquad bq0(sr, 0*khz, 1*khz, 9, 6, 0, 4); Biquad bq1(sr, 4*khz, 2*khz, 12, 9, 0, 4); Biquad bq2(sr, 9*khz, 2*khz, -6, -3, 0, 4); Biquad bq3(sr, sr/2, 8*khz, 6, 3, 0, 4); FilterBank fb(sr); fb.add(bq0); fb.add(bq1); fb.add(bq2); fb.add(bq3); cout << "-----------------------------------------------------------\n" << "FilterBank: fb.to_json()\n" << "-----------------------------------------------------------\n" << fb.to_json() << "\n"; fb.plot(); Plotter pylab; pylab.ylim(-7, 13); pylab.title("N=4, Butterworth"); Plotter::show(); return 0; } |
The … Continue reading