Jump to content

Would this be possible? (improvisation box)


Fall_X
 Share

Recommended Posts

For a while I've been playing around with the idea of programming an application that allows non-musicians to make music, and even improvise. Basically it would work by having "blocks", which have a scale and a chord property (and some others), and the application will play through them. So the application always knows the current scale and chord.

One idea would be to just press keys on a midi keyboard, and the application would filter out the notes which aren't in the current chord (with some more flexibility, to play non-chord notes when needed), and quantize everything. Or there could be a module that plays some notes of the current chord, and an arpeggiator creating melodies from this.

This would allow me to jam with some of my friends who don't know anything about music, and at least it wouldn't sound out of tune. I'd change the chords now and then, and all instruments would follow. Seems like a lot of fun to me :)

I was planning to make this into a computer program, which I would control with a Midibox64 - but now I'm wondering if it could be done entirely with MIOS. I don't know assembler (well, I do have some asm experience but it's a long time ago), and my C is very very rusty. I do know a lot of other programming languages (C#, some java, php, actionscript, javascript, ruby, etc) so I think I'll be able to learn.

So I would have one main box which would need the following features :

- send midi time code

- a list of many musical scales and the possible chords within these scales

- an interface to create and select patterns, which consist of blocks with a length, scale, and chord (displayed on a 16x2 character LCD, I'm currently working out the screens for how this would look...)

- when a block is played, it should send the notes of the scale and then the notes of the chord through midi on a certain channel

Then I'd make slave boxes (starting with one, off course), which would do the following :

- receive the midi time code

- receive the notes of the scales and chords sent by the main box

- each box could have a different way of handling what notes to play, ie arpegiators, little integrated keyboard, etc

- quantize notes, with a changeable resolution (or even quantize to certain rhythm-patterns)

- send midi data to synths, etc

This is the basic idea, I hope I explained it well (language barrier). I have lots of other ideas (for creating beats, etc) but I want to start "simple". I know this will probably be a lot of work, but can it be done with MIOS? Or would I be better off just writing the software for the computer, and then create some midiboxes or buy some suitable controllers to control the software?

Link to comment
Share on other sites

Years ago, on a computer called "Amiga", there was an application called "SuperJam" that allowed non-musical types to compose freeform, and musical types could even excel at it easily.

The Author was "Todor Fay", who was later bought out and hired by a company called "Microsoft". He then led the team that created "Direct Music", a subset of "Direct X".

I recall that there was even an application that ran on windows that would allow improvisational composition. The software was buried somewhere on a DirectX 9 install CD, I believe. Could be worth looking for. The primary target was to allow game makers to create copyright-free musical scores for their games.

Now back to the fun stuff. If you want to let "Joe average" do interactive composition... Could you do it from a "Wiimote controller"?? Could be a real hit, both figuratively and literally.

Just dreaming,

LyleHaze :-)

Link to comment
Share on other sites

This is kind of what I want to do with my SID pedal.  No fingers left when playing guitar to play the keyboard.  Also, I think the SID would work really well as semi-random, but in tune, ethereal background noise.

But the same theory could be applied to general MIDI.  Doesn't need to be the SID.  And it could be done as a desktop application or as a MIDI module.  either would work.

Link to comment
Share on other sites

Hi.

This is basically what I'm doing since quite some time now, though I don't use normal inputs like Keyboards but sensors.

-> The ACSensorizer 0.4.x I wrote (tba) has most of the realtime features you are describing (Quantisation, Harmonisation).

-> AFAIK the MBSeq has a Chord Function.

-> There should be an MB app around here that's called Magic Chords or something, a stand-alone arpeggiator box.

Besides that, in the meanwhile most of these tasks are easily possible within Ableton Live.

Regards,

Michael

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...