ffmpeg audio visualisation using phase

An enhanced version of the phase visualisation

ffmpeg contains another great visualisation.

You might (or might not) have seen one of my videos or explanation of the spectrogram visualisation using ffmpeg.  I use it very frequently indeed for my youtube videos; so frequently that I felt I really needed something different!

What this does is draw out the phase difference between the left and right channels. If the left the right are the same then it draws a 45 degree slanted line. For each frame of the video it will draw a dot showing the instantaneous magnitude of the signal. However, when left and right channels are different in magnitude this deflects the dot to the left or right.

The dots, once drawn, slowly fade in intensity and colour from blue through to red. Here is the command line to make a mov file from an mp3 without recoding the mp3:

./ffmpeg -i x.mp3 -filter_complex "[0:a]avectorscope=s=1920x1080:bc=200:gc=100:rc=75:bf=5:gf=3:rf=1:zoom=2,format=yuv420p[vid]" -map "[vid]" -map 0:a -codec:v libx264 -crf 1 -preset fast -acodec copy -strict -2  BWV-1031-I.mov

The effect is quite nice for busy music, but becomes much more striking for very simple music. IE, the more notes playing at once the more the effect becomes a shifting colour cloud; the simpler the music, the more we see the trace its self. See there for an example tracing:



Waldorf Pulse 2: Beauty In The Beast

Every one of the factor presents on the Waldorf let it down. Every review (apart form maybe the Sonic State one) let it down. This is  a beautiful machine capable of playing heart breaking music or blowing your brain out the back of your head. But, everyone makes it go crunch!

The complex pulse wave modulation facilities on the synth (hence the name really) make it very easy to make a big, crunchy sound. Then people play with the filter and find it is smooth and clean and does not make harsh sounds. Then they make a few nasty, discordant sounds or play 100 factory presents which basesically all sound like a mix of acid and hiphop and then loose interest.

Well f**k you monominds! There is more to music than that! The power of this synth comes from the fines with which its rich analogue circuits can be controlled and modulated. The filter is not lacking in character, it just does not get in the way. The three oscillators are so powerful and rich you really do not need colour from the filter. But, that band pass 12 db filter can be heart breakingly beautiful:


That piece by Back was played just on the filter. You see, the pulse width oscillators are so 'fat' that you want a pure filter to give another, fourth, voice to this machine.

Fancy a Hammond anyone?


Yep - the Alter Ego X4 chorus/delay and the Waldorf make that sound. I love listening to it; indeed I cannot get enough of it. It is not beautiful, just somehow captivating that a few transistors and capacitors made it!

Fancy some driving synth-strings?


How about a harpsichord?


Or some massive drum sounds from the pits of hell?


You might now like my music. Hell, you might think I am a talentless idiot! But really hope I have at least annoyed you out of making just another, generic, boring, easy, acid, grit, sit sound.


Electro Harmonic Polychorus Review

This is not a pedal, it is a music instrument.

If you have tried a polychorus and you are not all that amazed, it is probably because you were expecting a chorus pedal. This is not that, it is a musical instrument in its own right and it has that frustrating learning period when all it does it make horrid sounds and fail. The frustration is all in the musicians mind, we have to learn to love and understand this thing, then it will sing for us.

To illustrate my point, how about listening to the introduction to 'Requiem For Broken Lives' where the huge drum sound is filled out by the polychorus. The sound started out as a monophonic analogue synth piano sound. The polychorus turns it into something sinister and huge. This was not actually done using a traditional chorus effect but rather by using the pedal as a resonant filter.


In some ways I think this is the best possible sort of example for the polychorus, it shows something of what is going off. The pedal works using an analogue delay line. If we take a signal, delay it and mix the delay with the original we get what is called a comb filter. However, with the analogue bucket brigade delay line and other components in the polychorus, the signal mixed back in is not an exact copy of the original and so the result is comb like but much more complex. Feedback simply takes the result of the mix and does the same thing again. This turns the polychorus into a infinite impulse response distorted comb filter.

The thing about infinte impulse response systems is that they can very, very unstable. However, the design of the polychorus just about keeps it all under control. If you are insane then you can make it self oscillate but through most of the settings the polychorus is doing something musical. What it is not doing is classical chorus effect.

To get classical chorus:
You can sort of get there by setting the delay really short and the feedback moderate and put on the sweep filter. Now set the rate some somewhere before 12 o'clock. It will take some time to get what you personally are looking for, but it does live out there. If you are really luck, you will find that magical Nirvana spot.

More interesting stuff:
Put it in chorus mode and set the rate very slow. The rate is controlling the speed at which the delay is modulated by a low frequency oscillator.  Set this high and you here a vibrato effect. Set it very slow and you get constantly shifting intermodulation between the different versions of the signal. Set the width low (the amount the low frequency oscillator shifts the delay which alters the depth of the vibrato). Turn the sweep filter on (the sweep filter sort of moderates the low frequency oscillator). Now turn the feedback up to taste.

If you fiddle around this area of setting enough you might suddenly find a place where you sound transforms into a huge resonating three dimensional thing; you will have to search for and find that place though. Just as a saxophone player has to find just that perfect point of lip pressure, wind pressure and wind modulation to make the instrument sing, so to you will need to find your perfect polychorus settings. It is this area where the drone sounds from requiem (above) live.

Being more adventurous:
How about the flanger setting. This is not really all that different from the chorus (and more true to the polychorus circuit, which makes its name a little misleading). Set that a little wider this time, and the rate up a bit. Now feed the output into a stereo reverberator. Yes, the polychorus is true stereo, one dry input results in two wet outputs which are time, pitch, phase and volume differentiated (I love IIR).

If you slowly turn the rate and width dials and fiddle with the reverberator times, you can find a point at which the sweeping of the polychorus is hidden by the reverberator. You start to get a lush wide sound rather than a the clear sweeping of the polychorus.  There are a huge number of string and string like sounds here. Basically, the polychorus and a reverb' (I use the EHX chorus) turns a guitar or simple analogue synth sound into a string machine. You are not going to get a true orchestral string section this way, but you are going to get a lot of very interesting sounds.

Now, fiddling with the feedback and delay time will give you new string sound different levels and pitches of body resonance.  Body resonance is the thing stops a violin sounding like a scrapped string and makes a cello move one to tears rather than the door. Again, the polychorus can give you something like this. It is its own instrument and do not expect to create a stradivarius from a sawtooth wave with this pedal. However, do go and explore!

Here is a synth-string sound created by a 3 detune oscillator sawtooth feed through the polychorus and  the cathedral as I explained above. Not a true string sound, but a synth-string with its own unique character.