Spectrotune v0.5.1 Released
I spent a large chunk of the long weekend programming which many of my friends found odd, but I was able to refactor much of the code and add some new features. Spectrotune is now available as a standalone Mac OS X application as well as all processing source code available on github
Spectrotune attempts to detect pitches of an audio source file (wav format) and send output to MIDI.
In this demonstration, Spectrotune is analyzing the song Computerliebe by Kraftwerk and sending MIDI output to Propellerheads reason, separating octaves between a pad, a violin, and piano sampler synths. You can record the incoming MIDI channels, clean up, and then work into your own remixes and covers.
I hope you enjoy this project as much as I have enjoyed working on it.
New features
- Spectrotunes UI has been completely moved over to the wonderful controlP5 library, now there are nice sliders, toggles and radio buttons.
- Now runs as a standalone .app on os x no need to install processing.
- MIDI octave channel segmenting – segment octaves by channel so each octave can be sent to its own midi synth (the video demostates segmenting octaves between a pad, a violin, and a piano)
- Seek Slider – you can now seek and pause the audio track.
- Scale Lock – when spectrotune loads a wav file it will first precomute a scale of most used notes. When scale lock is turned on it will attempt to snap detected pitches to the notes in the scale.
- Harmonics Filter – allow you to filter out harmonic frequencies that trigger peak detection.
- Balance – allows you to adjust balance to stereo channel you wish peak detection to be skewed towards.
- File Browser
Known problems
- Experiencing some hick ups with controlP5: some UI objects don’t respond to mouse input when placed too close to another object. The file menu throws some exceptions when selecting a file (the example code from the reference site throws the same errors so I think I have to wait for a new release)
- MIDI notes from one channel are not ended when switching to another channel. This keeps notes with a long sustain or release playing indefinitely.
- MIDI notes are not ended when pausing or seeking. Same issue as above.
- MP3 files are not loading properly. Runs out of memory when trying to load. Could be a problem with Minim AudioSample.
- Smoothing is currently disabled. Need Minim to include my smoothing routine patches.
- Envelope windowing is currently locked on a HAMMING window as it is the only window Minim supports. Need Minim to include my Envelope windowing patches.
- Equalization is disabled. Minim doesnt support equalization at this time. Need to implement a routine to equalize the FFT.
- Harmonics filter getting lots of false positives.
Many of these issues will be resolved or improved upon in the next release.
About this entry
- Author:
- Corban Brook
- Published:
- 08/09/2009 at 09h15
- Category:
- Posted in Processing
