I hope everyone's projects are starting to get off the ground - and don't forget that you can reach out to me with any questions that you have. I just wanted to make a post to discuss the project that I'm going to work on during the challenge...
Also - to all of our challengers, feel free to use my project outline as a bit of a template if you've not posted yours yet. Don't forget that each project needs at least 15 blog posts (which averages out at 1 for each week of the challenge), so let's see what you're all up to!
The idea for this project is to create a system that synthesizes sounds which have been specially designed as such that the waveforms of said sounds can contain graphics, which can be viewed on an oscilloscope in XY mode - this is sometimes referred to as "lissajous music" or simply "oscilloscope music". Some of you may have come across the work of Jerobeam Fenderson, who makes some incredible scope music such as this:
But synthesizing the sounds/images is only part one of the project - as I want to use this for live performance and as such, the screen of an oscilloscope is not really large enough to use as a source of live performance visuals. Y'know what is a great way to project vector graphics onto a large area, nice and bright? ... You guessed it. LASER BEAMS:
Naturally, it goes without saying that one must exercise extreme caution when working with lasers - especially dangerous powerful ones such as this. I have quite a lot of experience with Lasers (and a tiny blind spot in my left eye to prove it, as well as to teach me a lesson ) and when it comes to creating awesome visual effects to accompany live electronic music, I think there's nothing better than a nice bit of Light Amplification by Stimulated Emission of Radiation. So, let's take a look at what the project will involve.
For the first iteration, I'm going to run Puredata~ on my BeagleBone Black. I'm used to working on Ubuntu so I'm in the process of reflashing my BBB as I write this (I'll post some info on the process once I've successfully completed it in case any of you guys would prefer to work in Ubuntu or another Debian-based OS) and hopefully from that point it'll be pretty easy to get Pd~ running, if these guidelines are to be believed. I'll use this first iteration to design & test the Pd~ patches, and will most likely utilise a MIDI controller of some sort to input data to the patch for performance while in the testing phase - although I'm also considering using a touchscreen so that the Pd~ patch can be directly and easily manipulated. The next step will be to optimise the patches, and use the HEAVY Pd~ to C compiler (https://enzienaudio.com/) so that the code can then be run on BeagleRT - the platform I previously mentioned, which has been developed at Queen Mary University of London to allow super low-latency audio processing on the BBB. It will also enable me to dispense with the MIDI controller, as the BeagleRT cape has it's own ADC for the connection of sensors/potentiometers etc. so I'll build my own interface with some rotary & linear potentiometers (which will provide me with higher resolution than using MIDI).
In addition to the BBB, for the first iteration I will probably just use one of the many USB audio interfaces I have around here - I had considered building some DAC circuitry but to get the best image quality from the laser projector, I need to use the highest sample-rate I can manage. The USB audio interface will be replaced by the BeagleRT cape for the final version if all goes to plan. Once I've got as far as producing line-level stereo audio out (a stereo signal is required to create lissajous music, as the left & right channels map to the X & Y axes of the scope/scanner), I will need to build an amp, probably just a basic LM387 circuit like I would normally make to drive a small pair of speakers - but this time, rather than connecting the output of the amp to the coils of speakers, it'll be connected to the coils of the read/write heads of two tiny HDDs out of some old iPods. The picture below gives you an idea of the scale - the coins below the drive are a 2€, a US quarter, and a British 10 pence piece.
The drive platter itself will be removed, and the enclosure cut down to as small as possible, and then a tiny piece of mirror will be mounted axially above the pivot point of the HDD arm, as such that the signal coming out of the amplifier will control the movement of the mirror in much the same way as it would control a speaker - although producing a rotary rather than linear motion. By producing two copies of this assembly and mounting them at 90-degree angles from eachother, so that the laser beam bounces off the first mirror and onto the second, it should produce an effect remarkably similar to that of a commercial laser projector - the insides of which would contain a pair of galvanometers (sometimes referred to as a "galvo" by Laser nerds) such as the pair you can see below.
So there we have it! This is becoming my phrase du jour, but if all goes to plan, then the output of the laser will look like that of the HDD-based DIY laser projector seen in the video below - except with a much more green & powerful laser...
So, in summary I'm going to create a system that will allow me to compose and perform lissajous music, projected out into the world with a lovely green laser beam. I think it will be pretty awesome, and something that I would really get into using for future performances, but even if it doesn't work as planned it's going to be a fun project. Anyone have any thoughts on it?
Onwards & upwards! Happy hacking, everyone.