So, part of the point of this blog was to document my uni projects, so, in a radical turn of events, I’m actually going to do just that! Shocking, I know; my single-digit quantity of readers must have been so frustrated by the lack of action.
Anyhow; my third year project: a beginner’s guide to the beginning:
When you’re picking your third year project (at Leeds uni, anyhow), a bunch of miscellaneous professors etc. propose projects for you to take on, and then you either e-mail them, make an appointment, and find out that someone else has already taken it, or accost someone on the corridor, and pester them into giving you their project. You’ve got two weeks to do this before you get assigned a project involuntarily. It’s about 75% first-come-first-serve, and 100% chaos.
Anyhow; I picked up the general task of creating some form of robot instrument; I just had to figure out what, and how. Guitars have been done to death. Drums are kind of too simple. I narrowed it down to either a violin, or a wind instrument; A wind instrument would have been interesting, but I ruled it out on the basis that I wasn’t certain I could make it work. There’s a reasonable few variants on the robotic violin knocking around, but not a lot that came across as being much good; They tend to be kind of limited by way of expression, and quite a few just sound plain terrible. Oddly enough, the example closest to what I want to achieve lacks any electronics, and dates from 1908:
The issue with a lot of robotic instruments, as I see it, is that they tend to build around an existing instrument, which just doesn’t really make sense; A musical instrument is built to be played by a human, with human ranges of motion; good for general purpose walking around the place, picking things up, bar fights and assembling weapons of mass destruction, but hardly optimised for any specific task. Since there’s no need for the violin to be played by a human, or the system to do anything other than play the violin, the violin can be re-designed and fully integrated into the system, simplifying the mechanics, and opening up playing options not available in a standard violin.
One of the best examples I’ve come across of this approach is the MechBass project:
It’s definitely a robotic instrument, rather than an instrument-playing robot. It’s a modular design, with each string unit pretty much independent, and with a layout that owes more to a chunk of CNC equipment than a musical instrument.
Anyhow (I think I say anyhow too much, but I’m still going to say it), I should probably go through my personal objectives for this project, and a quick run-through of where I am with it, before this post gets too long.
- Make a robotic violin, with a modular design, capable of pretty expressive playing
- Must have continuously variable pitch, variable bow pressure etc.
- Ideally able to exceed the range of playing techniques of a standard violin
- Get it to respond over MIDI or OSC with minimal latency
- Hopefully get something together by some time in February, as I think BBC radio 1 are doing something with robotic instruments, and it’d be fun if I could get in on that.
The main focus on this really is going to be expression; a lot of robotic instruments kind of focus on playing speed, and I’m not too fussed about that. The basic plan for the design is to go modular, as with the MechBass; I’m planning on building each string as a semi-independent unit, with a continuously-variable fingering position, to allow for glissando, vibrato etc, which is mounted on a pivot and applied using a servo to a bow. Obviously, sliding the “finger” up and down the string isn’t going to be instantaneous, meaning that I’d be a little stuck with glissando on everything while playing on a single string, but I’m hoping to get around that by having more strings than a normal violin (ideally twice as many), and then switching between them on the fly, so, when playing fast, one string is playing while the other’s moving the the position of the next note. Also, I’m planning to help mitigate the latency that’d generate through the simple mantra of “more power!”; I’m planning to drive the linear motion rig for the fingering with a direct-drive brushless motor, with feedback to work out the precise positioning, as a kind of high-speed linear servo. It’ll probably be rather a lot of overkill, but hey, it’s worth a shot. I can always drop back to steppers if I can’t get it to work.
As for current progress, well, it’s largely been background research, and picking out a few parts for the prototyping stage, although I’ve got some rough design work done:
Anyway, I think that’s enough rambling for this post, so I’ll leave it there for the time being. I’ll put up another update when I next do something interesting on it.