Interesting question, although ive made use of midi everyday for, well,
too long now :), im really not sure if making it part of the player as a
single functional unit would be the best move.
Personally i would rather see a more open, low level approach to sound
in the player upon which MIDI and other implementations could be developed.
Now that the player (8.5 and onwards) will have much better binary data
handling, theres nothing to stop me or you from creating a MIDI file parser.
Thats one side of the equation, obviously the more intricate side is
audio playback.
I've been moaning about the audio capabilities of the flash player for
longer than i can remember, and would dearly love for it to become much
more capable.
The options i can think of so far are (and they arent exclusive)
1. An api for accessing midi devices on the user system, much like
accessing a webcam, where you can query for which devices are present,
then get a handle to a device and start manipulating it, something like:
var midiDevice:MidiDevice = Audio.getMidiDevice(1);
var instrument:Instrument = midiDevice.createInstrument();
instrument.setChannel(1);
instrument.setProgramNumber(34);
instrument.setController(23,44);
instrument.noteOn(velocity);
etc...
2. ACCESS TO THE SOUND BUFFER. Please. :)
This would open up a lot more possibilities for audio generation,
manipulation etc..
The 8.5 player already has a Loader.loadBytes feature where you can send
binary data locally, i.e. you can create a jpg in the player and then
load it into a movieclip without sending it to a server. This is great,
but I think a similar scheme for audio would be fantastic.
With a simple sound.setBuffer(binaryData) you could do a huge amount of
interesting things.
Sound synthesis, generation.
From musical applications, to game sound effects, or just sound
notifications within applications. All of this could be done with a
minimal impact on filesize. No need for .wav's , mp3's etc..
Sound capture
You could capture audio from mic and allow the user to edit it and
process it. You could build annotation tools, voice messaging, musical
applications etc..
Also if you can get a handle on the audio stream before it hits the
audio device you could have live control over streamed audio, tone
controls, reverb, delays, echo cancellation, noise reduction. etc..
So, personally I would rather see the components available to us as
developers, upon which we can build a variety of applications. MIDI
playback being just one particular application of the feature set.
Also other similar systems like OSC could be used.
anyway, im glad you are asking and i'll happily contribute anything to a
document you will put forward requesting audio related capabilities.
thanks,
Martin
Tyler Wright wrote:
The Flash Player has evolved through the ages to provide the most needed
functionality. Through each version there have always remained a few common
goals. What I have found is that:
Flash is small -- from the player itself to the swf file format to the
assets it is optimized to load, focus has been placed on small file sizes
(this of course is not as apparent in many websites that are heavy in
multimedia)
Flash supports standards -- the player supports many web and multimedia
formats standard in the industry, such as jpg, mp3 and xml
Flash is interactive -- the players greatest strength is the dynamic
behavoir through ActionScript to allow user interactivity
MIDI, a music standard format that most computers support today, fits all of
these categories (like a glove). In fact there's an opensource project
being developed to allow MIDI through Flash, though it requires an
additional download and install to the user apart from the Flash Player
itself (seen at osflash.org)
--
Martin Wood
http://relivethefuture.com/choronzon
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders