Jan 30, 2010 Uncategorized
Today’s progress was less exciting because there’s just not all that much left to do until the shipment of parts that I ordered arrived.
Features finished today:
- Replace button to change between internal/external with switch
- Add Run/Stop switch to internal mode
- Add MIDI Thru
Still to do:
- Make it run from synthesizers.com power rails
- Build solid module rather than flimsy wires in micro breadboard
I ran into some wonky coding issues with my transition from button to switches, even though the new version was far simpler. They mostly turned out to be typos and misplaced brackets, but they took a surprising amount of time and frustration to track down.
The only thing that I’m at all unhappy about is that it takes a while to switch between modes because of the process I have it go through to do so. Also, I still only have it recognizing the MIDI beat code. I could try to see if I could have it recognize a stop and reset the sequencers to their starting position. It would take a while to do it, so if you rapidly hit stop then start again in your sequencer, the timing would be off. I’m not sure if I’ll just leave it as is or not. You can always reset it by flipping between modes and back, but that’s both time consuming and tedious. Maybe making it recognize the stop command will be on the agenda after all. Hrm.
Jan 25, 2010 Arduino
Today was the first day I’ve had to work on the sync project since my last update and it was a bit frustrating. I started late and I kept not finding what I needed, plus other mishaps. A lot of the evening was spent with an analog multimeter, a battery and a diced-up MIDI cable trying and failing to trace the pins, desperately trying to shove the battery back into our cordless phone and sync the phone to the base before calls went to voicemail, cutting up audio cables I had lying around to make connector cabling for the breadboard and discovering that the resulting strands were so thin that they just sort of sat gently in the sockets and would fall out at the barest gesture and other such entertaining activities.
However, I eventually did get it going and turned to the software part, which was about as fraught with banging my head on the table, but ultimately wound up with a fair bit of success. I guess that’s more evidence the perseverance is the key.
Right now, I have a device built which does the following:
- Has a push button to toggle between internal and external mode
- In internal mode, generates Din Sync which is read successfully by the Time Buffer
- In internal mode, has a knob that allows you to select tempo
- In external mode, receives MIDI Clock signals from the computer and converts them to Din Sync
- Powers itself from the computer’s USB bus
Things still to do:
- Replace button with two-position switch
- Use button or switch as run/stop toggle in internal mode
- Add recognition of sequencer run/stop/continue messages for external mode
- Add MIDI Thru if I decide that I want that
- Get power from synthesizers.com power supply or external power supply
- Swap DIN cables used currently for DIN jacks
- Install in box or behind synthesizers.com panel
All in all, most of the tough stuff is done and working now, and I pretty much have all the reference material I need to do the rest.
Oh, except for one thing. The synthesizers.com power supply has three rails I can use — +5V DC, +15V DC and -15V DC. The arduino likes to get something from +7V DC to +12V DC. If anyone has a few words or pointers for inexpensively getting from A to B on that one, please let me know. It would be greatly appreciated.
Jan 25, 2010 Jamendo
I was recently contacted on Jamendo by a DJ at a radio show who wanted to know if he could play Ramp on his show. I, of course, said yes. He said that he thought I’d be a perfect fit for his show. Since you’re all here reading, that strikes me as meaning that you might enjoy his show as well. I figured that I’d drop you some details about the show in case you’er interested in tuning in some time.
Here’s the quick run-down that he gave me:
The name of the program is “The Falling Room”. It’s a one hour show broadcast live on Fridays at 8:00PM (EST) and re-broadcast on Tuesdays at 12:00AM (the rebroadcast time may change but the live airing will remain a constant) on CFBU 103.7 FM in St. Catharines, Ontario, Canada. You can visit the radio station’s website, at cfbu.ca and click under “program schedule” at the very top of the web page, to view when “The Falling Room” is scheduled to be broadcast. You can also the show live through the cfbu.ca website. There is a “listen online” link at the top of the page.
The focus of “The Falling Room” is to feature primarily independent artists who produce experimental, minimalist, ambient, spoken word and avant garde music that falls completely outside the mainstream of commercial music and radio. Since April 2009 I have featured over 70 independent artists that fit the format of the show as well as more well known artists such as Brian Eno, Pat Methany, Steve Reich, Terry Riley, Tangerine Dream, Laurie Anderson, Jean Michel Jarre, The Golden Palominos and Michael Oldfield.
Also, if you have any friends who play experimental music, poetry, avant garde or minimalist music let them know about the show.
The last bit is likely so you can also submit your work. In any case, check it out! I missed this past Friday’s show, but I’m going to see if I can record the rebroadcast somehow.
Jan 19, 2010 Arduino
Well, I’ve got the Arduino sending DIN Sync (Sync24) successfully to the STG Soundlabs Time Buffer. I’ve also got a start/stop button that turns the clock on and off (although not with absolute reliability — I may have to put in some kind of jitter control mechanism, or maybe use a switch instead of a button — I’m actually only using a button because I had one handy, and I’d like to use a switch in the final design, which would also simplify the code). And I’ve got a dial (pot) which allows you to set the tempo.
Still to do:
- MIDI communication
- Conversion of MIDI clock pulse
- Power from dotcom wiring harness
- Grafting onto Time Buffer (internally)
Not bad for my first night at it!
The biggest problem that I had was in dealing with math and the limitations of integers. All I can say is that it’s lucky the usable range for the way I was approaching setting up the pulses wound up falling within the range of an int, because I was having no luck getting the functions to deal with any other data type.
I think at the very least that I’m going to need a pile more wire and a couple of switches before I move forward. I can probably scavenge the wire, though. I wonder if there’s anything I could scavenge switches from… hrm.
I completed my first-ever successful Arduino project today! It’s an exceedingly simple square wave synthesizer. It uses only a few components:
- Arduino Duemilanove microprocessor board
- Eight jumper wires (the diagram shows more for clarity)
- Ridiculously tiny breadboard (again, the diagram shows a larger one for clarity)
- Linear trim potentiometer
- Piezoelectric speaker
- 10k ohm resistor
- USB cable (for power, you could use a battery pack instead)
All of the parts above were part of the Sparkfun Arduino Starter Kit except for the 10k ohm resistor, which I bought at The Source by Circuit City (a.k.a. Radio Shack) in a 150-piece set of assorted resistors. (I used this key to identifying resistors to pick out the right one.) The Sparkfun kit actually comes with 10k ohm resistors now, but the version I bought, via Robotshop.ca, didn’t come with them. Anyway, they weren’t hard to get.
Since the book I bought on learning Arduino hasn’t arrived yet, I figured that I’d start by looking through the sample code and documentation, and in doing so I realized that there was enough there to pull together a simple square-wave synthesizer. And, well, who can resist that? So I did.
The cool thing about this project is that I actually understand most of it, despite not having begun reading up on anything. It’s all extremely comprehensible. The only thing I’m not clear on is the use of the 10k ohm resistor — I have a foggy idea of what that might be for, but I don’t have a clear concept of it and wouldn’t know when to use one and which one to use on my own. But since I was mostly Frankensteining other sample projects together, I didn’t mind. (I should note that in-progress versions of this used the serial communication and console over the USB cable for all kinds of testing, and that was both simple and really awesome. )
Anyway, the rest pretty much speaks for itself:
Goofy demo video:
Jan 18, 2010 Gear
Normally this sort of thing would go over at my other blog, but I’m actually primarily planning on getting into Arduino for the purposes of audio mangling and protocol conversion. (I’d really like to figure out how to output DINSync as a starting point, and later do MIDI Clock to DINSync conversion with a few nifty options.)
So I figured I’d mention that my Arduino starter kit arrived today! I probably won’t be making audio tools by tonight, per se, especially since my work room is temporarily in its alter ego as a guest room, but it’s an exciting first step. I have a book on Arduino coming as well. I foresee lots of fun and mayhem ahead.
Jan 12, 2010 Uncategorized
I really wish that all of the nifty gear that I want, particularly the synthesizers.com modules, were the sort of items that you could just walk into a store and buy.
There’s a debate going on on the dotcom mailing list right now about hacking modules, and I would absolutely be okay with buying a couple of their modules and trying to hack them together if I could just go out and buy them. However, between ordering them, waiting for them to be manufactured, having them shipped to Niagara Falls, going down to pick them up and bringing them back to Toronto, the delay is long enough that the debate will have mostly subsided by then.
While on the one hand that seems good in that it quells impulse buying, on the other hand, it’s that sort of spur-of-the-moment thing that I learn the most from.