I'm looking to use procedurally-generated sound and music in a Flash program I'm writing. I haven't found anything in the ActionScript 3.0 reference manual that shows how to do this. Is this possible? Have any third-party tools been developed that can do this? Or can Flash/ActionScript communicate with external programming languages that are more suited for this sort of thing?
Algorithm music covers a style of composition that allows someone to compose tunes to a particular program or sequence using a range of different methods and software to do so. It has been a feature of music that has been toyed with for millennia. Many famous musicians in history have experimented with it in some form.
Music Generation is a national partnership programme whose mission is to create inspiring experiences for children and young people through music.
So, the Automatic Music Generation is a process of composing a short piece of music with minimum human intervention. What could be the simplest form of generating music? It all started by randomly selecting sounds and combining them to form a piece of music.
Music generation is one of the interesting applications of machine learning. As music itself is sequential data, it can be modelled using a sequential machine learning model such as the recurrent neural network. This modelling can help in learning the music sequence and generating the sequence of music data.
The ability to play dynamically generated/modified sound is new to Flash 10, so make sure you're using the newest version of the AS3 reference, or you won't see the necessary APIs.
As for examples, check the docs on SampleDataEvent to see an example of playing a sound generated from scratch, and the docs on Sound.extract() have a useful example of playing a loaded MP3 where the data is being modified in real time.
To answer your last question I don't think there are any good ways to load this off to another technology. AS3 should give you all the basic functionality you need (i.e. access to the decoded sound as a byte stream), but I don't think it has much in the way of high-level functions (say, to change octaves or do fourier transforms) - not yet anyway.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With