Tuesday, January 23, 2007

Hacker at Heart

I've had my new keyboard for a couple of weeks now. While most people with a new keyboard would spend their time playing it, I have spent more time reverse-engineering their file format. I just enjoy doing that type of thing. The keyboard has a decent UI and enough flexibility to do everything I need it to, but I just have to dig deeper. Some members of my band are really into the "technology" aspect of music (mostly at the expense of the actual music), and the plan is to have my keyboard send out the appropriate patch settings for each song to all of our gear and also a click track at the appropriate tempo for the drummer to start off with. Rather than do all the settings from the keyboard, I'd rather modify the files using a computer program. I've probably spent more time writing the program than it would've taken to do it all manually, but now when I have other bizarre batch operations to do I have this tool. Plus, I've learned how to use regular expressions using vbscript in Excel VBA. Since I have all the song data on an Excel sheet it seemed like something to try. Maybe I would've been better exporting the Excel data and using perl instead. The program is pretty messed up--I have to convert every byte of each song program into a hexidecimal ASCII representation to search on because I couldn't figure out how to get regexp to treat each byte the same regardless of the value, but oh well as long as it works.

9 Comments:

Blogger Jerri said...

Heeheehee. I'm such a dork. Ask me how far I was into that before I figured out you weren't talking about your computer keyboard!

11:34 PM  
Blogger Jes said...

Ask me how far I was into that before I realized you were speaking English??

8:52 AM  
Blogger Denise said...

Ahh, Is it because we are all such dorks or him. :) It took me a while to figure out he was talking about music and then he lost me at ASCII. Maybe PMP can translate for me.

8:24 AM  
Blogger Smut Mutt said...

"I couldn't figure out how to get regexp to treat each byte the same regardless of the value" - huh???

12:58 AM  
Blogger PlaysByEar said...

I was having trouble gettings searches to work for non-ASCII characters, for instance values 0x80-0xFF and some from 0x00-0x20.

Since regex was originally intended for searching text, I figured the vbscript implementation only worked for text. So that's why I had to convert everything to a hex notation where every character is 0-9 or A-F.

9:59 AM  
Blogger Jerri said...

Squeezin' - where are you going to be tonight? Because I DEFINITELY need to feed you a beer, or twelve.

1:44 PM  
Blogger PlaysByEar said...

Since I have to get up WAY early tomorrow, I will be in bed early tonight.

So why do I need a beer? I don't follow...

6:51 PM  
Blogger Jerri said...

For nerding out WAY too much... beer will solve that!

9:54 PM  
Blogger Pittchick said...

I'm with Bone Sucker. It took me a while to figure out you weren't talking about a computer!

10:53 PM  

Post a Comment

<< Home