gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS homebrew announcements > MIDI-Jammer v3.0

#164744 - phnord - Mon Nov 17, 2008 4:25 am

UPDATE: I just upgraded it and added a preset feature, and I'm officially labeling this the 3.0 release. The basic thing is that you can now set presets to directions / buttons and choose them by holding them down (similarly to Jam Sessions). I have created a documentation README.txt that's bundled in with the new release at my site.

Hey everyone! I posted here a while ago with a little program I made called MIDI-Jammer. I used 0xtob's DSMidiWifi library to create an innovative touch-screen MIDI controller, with the goal of allowing non-musicians to easily create harmonically-functional music by drawing ideas - while allowing those with more of a musical background access to a fully functional MIDI controller.

In my first release, it was solely a MIDI controller. I decided this weekend to implement the GBA Synth - so now there's a 5-voice Synth that outputs audio even if your not somewhere with a computer/wifi setup.

The basic idea is similar to a Korg KAOSS pad - and I do have a setting in the program that is a straight-up KAOSS pad. Where my program differs is that instead of mapping two MIDI controllers to the X and Y axes, it allows you to map one of the axes to a scale if you so choose.

There is a background gradient for reference, with a black-bar every octave and shadings for each scale-degree in between. You set the root with the D-Pad and the scale and channel with the A,B,X and Y buttons. The shoulder button acts as a sustain pedal, and the pressure-sensitivity of the screen controls the Velocity and Aftertouch data. Select toggles the various modes - you have Pitch Vertical w/ Panning Horizontal, Pitch Horizontal w/ Mod Wheel Vertical, or Two MIDI Controllers of your choosing on the two axes.

Hitting Start will attempt to connect to whatever networks you have configured on your DS. If successful, the MIDI messages are sent over Wifi and any computer on the same network running 0xtob's DSMidiWifi will be able to receive them.

Don't worry about memorizing all of this - the controls and status are all displayed on the top screen while the application runs.

In any case, let me know what you think! You can grab the program from my site - http://www.andrewbuch.com/prog.php. I appreciate any and all feedback, and welcome e-mail at me(at)andrewbuch.com.

-Andrew Buch-
http://www.andrewbuch.com


Last edited by phnord on Wed Nov 19, 2008 7:28 am; edited 1 time in total

#164757 - tepples - Tue Nov 18, 2008 4:57 am

I take it this is AXE on big steroids, right?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#164762 - phnord - Tue Nov 18, 2008 5:21 pm

Eh, similar in certain ways but different in many others.

They're similar in that both can be used to make the DS make noise, and have an axis of the touch-screen control the pitch of the noise. That's where the similarity stops though.

Mine is more of a fully-functional instrument. The AXE is solely made as a standalone App, and only functions in one key and scale that are hardcoded into the App. Additionally, it doesn't trigger notes when you play them, but instead triggers them in steady rhythmic pulses.

MIDI-Jammer is primarily to be used as a MIDI controller, although it has a functional standalone mode as well. Additionally it lets you control the key and scale, as well as volume and whatnot for the notes. It also triggers notes directly when you choose to, and is pressure-sensitive for volume data.

So basically: the AXE is an implementation of Harmonix's AXE music toy with very limited functionality, while MIDI-Jammer is a fully-functional instrument with similar basic conceptions.

P.S. Version 3.0 is almost ready, and will have a preset mode similar to Jam Sessions, making it more useful for live performance. The preset mode is implemented; I just need to change the mode selector as now it toggles through 6 "modes" and I'll need to make an easier way to select them - possibly by switching to PALib for a base system and retooling a bunch of crap.