errantember: (Little Cowboy Scott)
When we last left Our Hero, he was here. I had finished tracing out the functionality of the first MIDI subroutine in MIDIStroke, only to find that all it did was convert incoming MIDI signals into a list of pre-defined numbers, presumably for use Elsewhere in the Program.

After a successful Christmas and first-turkey roasting (thanks to the New Best Recipe, which I should be a salesman for, and my Mom, who'd I'd rather not sell) it's time to find out, exactly, where Elsewhere in the Program is, and precisely what it is they *do* there.
Read more... )
errantember: (Default)
Or, if you don't have the source, go to the assembler. :)

I made a bit more progress in using the GNU Debugger to run around inside MIDIStroke, and also made some progress in disassembling the entire program using otool. It does look like it might be possible to actually figure out the encoding scheme for program changes and control changes using this method, thought it won't be easy. For those generally unfamiliar with this sort of thing, what I'm doing is taking a complete program and looking at it's guts to try to figure out something about how it works. When you create a program, you have something called "source code", which is a sort-of englishy-language description of how you want the program to run. The computer can't read this, though, so it has to be translated into machine language, which is called assembler. Generally, when you're using an existing program you didn't write, you only get the assembler to look at, which is very much akin to trying to figure out how a car works without having the design diagrams or any manuals.
Read more... )
errantember: (Little Cowboy Scott)
So I have Ableton Live, a fairly insane musical package designed for live performance. My eventual goal is to be able to control an entire show, made up of anything from live, real-time performance to pre-recorded anything, and all combinations in between, while singing and doing firedancing, all by myself.

Preferably wirelessly.

Using MIDI, a networking standard for electronic instruments, it's possible to control each end every thing that Live can do. For instance, you can have it trigger a pre-recorded sound effect, start or stop any part of a song, jump to another place inside the same song, change the volume of track 3, or whatever. You can even record parts of your current performance live for looping, distorting, harmonizing, etc, like Kid Beyond does.

It's nuts.

Read more... )
errantember: (street)
I picked up an Oberheim Strummer at Goodwill for $10 some years ago, and had never actually hooked it up before now.

http://www.keyboardmuseum.org/ar/o/ober/str.html

I just dug out a power supply for it and it's pretty fucking cool! It's main purpose is to allow a performer to combine the lame appearance and lack of sex appeal of a stage keyboardist with the convincing strumming sound of someone who can actually sort-of play guitar. When you play a chord into the strummer on a MIDI keyboard, instead of playing all the notes simultaneously, it feeds them out in a strumming pattern, complete with velocity (volume) changes, etc., to make it sound like an actual strum. The trippy part is that it actually sounds pretty damn good! I haven't changed anything off the default settings, but when I hook up the MIDI output to Garage Band and choose the Steel String Guitar, it sounds quite realistic. I'm not sure if I'll ever actually use this for stage performance, but it certainly allows me to do some thing with a basic MIDI setup that I couldn't do before. I recall looking for a manual online before and having little success getting one for free, but maybe I can fiddle with the settings myself and figure some of them out. As you can see from the link above, it seems to have a lot of features I'm not seeing right now.

Profile

errantember: (Default)
errantember

December 2015

S M T W T F S
  12 345
6 789101112
13141516171819
20212223242526
2728293031  

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 1st, 2026 05:06 am
Powered by Dreamwidth Studios