Music generation for reactive or dynamic music

Music generation for reactive or dynamic music

Postby charlie » 11 Sep 2011, 23:50

Music that doesn't get repetitive or adapts to the situation in a game is a trick few have mastered, either in the commercial domain or in Free software games.

Whereas music is traditionally composed/produced then simply looped during games, there is another possibility - generating the music on-demand to match the current scenario. These are two Java libraries for doing this.

Sound Helix algorithmic random music composer

(Source: java-gaming.org thread)

SoundHelix is a Java framework for composing algorithmic music.

The examples on the webpage are really good:
http://www.soundhelix.com/audio-examples

Simple example applet:
http://www.soundhelix.com/applet/SoundHelix-applet.jnlp

The music created is totally random within the limits provided.

Music generation can be quite fast (millisecond range) or really slow (seconds range), depending on how complex the constraints are for the generated songs. Virtually all time for song generation is spent in finding a random song activity matrix that fulfills the given constraints. Once a valid matrix has been found, rendering the song is very fast.

Reactive Music Language

(Source: java-gaming.org thread)

The reactive music language editor and

The Music Generator is the layer below the Reactive Music Language (sort of). If you want to study the Music Generator in isolation, this is the place for you.

A video that demonstrates a module:
http://www.youtube.com/watch?v=wUxdZjHdcIw

Another video that demonstrates two modules and the editor
http://www.youtube.com/watch?v=XQ9h_uxegjQ
The second demo is at 6:08 and the editor demo is at 8:00 if you want to skip forward Smiley

The Music Generator produces one musical measure or bar at a time given a large set of possible property values. It also keeps track of a harmonic rythm.

The Reactive Music Language (RML) supports scripting, action execution (parallel, conditional etc.), external parameter mapping, states with reactions.

The examples with multiple channels are the most interesting ones to listen to, the others are more tutorial-like and demonstrate one particular functionality.

I think that the most interesting application for this API is to put RML modules inside games that produce music depending on what happens.
Free Gamer - it's the dogz
Vexi - web UI platform
User avatar
charlie
Global Moderator
 
Posts: 2131
Joined: 02 Dec 2009, 11:56
Location: Manchester, UK

Re: Music generation for reactive or dynamic music

Postby qubodup » 12 Sep 2011, 08:50

I have a link to share on this topic for musicians: Techniques for Looping Game Music (since the underlying [overlying?] music still needs to loop)
User avatar
qubodup
Global Moderator
 
Posts: 1671
Joined: 08 Nov 2009, 22:52
Location: Berlin, Germany

Re: Music generation for reactive or dynamic music

Postby pernyblom » 12 Dec 2011, 16:49

Hello!
I can answer any questions you have about the reactive music language since I am the developer :)
pernyblom
 
Posts: 1
Joined: 12 Dec 2011, 16:46

Re: Music generation for reactive or dynamic music

Postby Cacatoes » 13 Dec 2011, 14:23

If this is of interest for some of you: http://www.youtube.com/watch?v=g5KIyYZkzmI
Using puredata behind.

Could have been less boring but filmed it in a way which tried to show the mechanism.
Could have as well tried to fit a song-oriented purpose, but this was only the start of some experiment so it's rather basic.
Cacatoes
 
Posts: 21
Joined: 27 Mar 2010, 13:22

Re: Music generation for reactive or dynamic music

Postby TranceTip » 18 Apr 2013, 10:35

SoundHelix 0.6 has been released. Visit http://www.soundhelix.com
TranceTip
 
Posts: 5
Joined: 18 Apr 2013, 10:33

Re: Music generation for reactive or dynamic music

Postby qubodup » 18 Apr 2013, 20:31

TranceTip {l Wrote}:SoundHelix 0.6 has been released. Visit http://www.soundhelix.com

I like this one: http://www.youtube.com/watch?v=M9Xoi9PGKGA

More examples: https://www.youtube.com/user/SoundHelix/videos?view=0
User avatar
qubodup
Global Moderator
 
Posts: 1671
Joined: 08 Nov 2009, 22:52
Location: Berlin, Germany

Re: Music generation for reactive or dynamic music

Postby qubodup » 19 Apr 2013, 02:23

SoundHelix "just works" on my Arch box!

I just noticed
Results generated with SoundHelix (in audio or any other format, like MIDI files) must clearly be marked as generated by SoundHelix (including the SoundHelix version number used) in the product description, both for commercial and non-commercial usage. The same applies to SoundHelix results being used or sold on audio or data media or offered for download. SoundHelix may not be used commercially for realtime playback.
as part of http://www.soundhelix.com/license . I get the feeling that might be restriction that can't be imposed by free software but I'd have to understand how it actually works, to be sure. (All I know there are song xml files, but it's no clear if the author means that from-scratch xml files also have to follow this restriction.)
User avatar
qubodup
Global Moderator
 
Posts: 1671
Joined: 08 Nov 2009, 22:52
Location: Berlin, Germany

Re: Music generation for reactive or dynamic music

Postby TranceTip » 09 Apr 2014, 22:07

The SoundHelix license has been relaxed considerably now. Please see http://www.soundhelix.com/license
TranceTip
 
Posts: 5
Joined: 18 Apr 2013, 10:33

Re: Music generation for reactive or dynamic music

Postby farcodev » 10 Apr 2014, 02:28

Cool, thanks!
farcodev
 
Posts: 163
Joined: 09 Feb 2011, 02:52

Re: Music generation for reactive or dynamic music

Postby gouessej » 10 Apr 2014, 09:55

TranceTip {l Wrote}:The SoundHelix license has been relaxed considerably now. Please see http://www.soundhelix.com/license

Ok but the sentence above has just been rephrased in the meantime:
You are asked to give credit to SoundHelix (including the version number) for results that you have generated with SoundHelix (in audio or any other format, like MIDI files), for example in the product description or e.g. in the metadata of the result file itself.


:gpl: v3 is nice anyway :D
Julien Gouesse | Personal blog | Website
gouessej
 
Posts: 71
Joined: 13 Aug 2012, 18:28
Location: France

Re: Music generation for reactive or dynamic music

Postby c_xong » 10 Apr 2014, 11:41

gouessej {l Wrote}:Ok but the sentence above has just been rephrased in the meantime:
You are asked to give credit to SoundHelix (including the version number) for results that you have generated with SoundHelix (in audio or any other format, like MIDI files), for example in the product description or e.g. in the metadata of the result file itself.


Ouch, good catch.

I don't see how they can enforce that though :p

https://www.gnu.org/licenses/gpl-faq.html#GPLOutput

Is there some way that I can GPL the output people get from use of my program? For example, if my program is used to develop hardware designs, can I require that these designs must be free? (#GPLOutput)
In general this is legally impossible; copyright law does not give you any say in the use of the output people make from their data using your program. If the user uses your program to enter or convert his own data, the copyright on the output belongs to him, not you.


However, if they care so much, why not just make their program embed the metadata itself?
Still, even if it doesn't look enforceable, I'd tell people to give credit unless they enjoy being sued.
User avatar
c_xong
 
Posts: 234
Joined: 06 Sep 2013, 04:33

Re: Music generation for reactive or dynamic music

Postby TranceTip » 24 May 2014, 00:14

SoundHelix 0.7 has been released. http://www.soundhelix.com
TranceTip
 
Posts: 5
Joined: 18 Apr 2013, 10:33

Re: Music generation for reactive or dynamic music

Postby TranceTip » 26 May 2014, 20:13

gouessej {l Wrote}:
TranceTip {l Wrote}:The SoundHelix license has been relaxed considerably now. Please see http://www.soundhelix.com/license

Ok but the sentence above has just been rephrased in the meantime:
You are asked to give credit to SoundHelix (including the version number) for results that you have generated with SoundHelix (in audio or any other format, like MIDI files), for example in the product description or e.g. in the metadata of the result file itself.


:gpl: v3 is nice anyway :D


It is just a polite request to mention that SoundHelix was used for generating the music, not a strict requirement. Feel free to use SoundHelix' output in any way you like.
TranceTip
 
Posts: 5
Joined: 18 Apr 2013, 10:33

Re: Music generation for reactive or dynamic music

Postby TranceTip » 05 Jun 2014, 22:09

SoundHelix 0.7.1 has been released. http://www.soundhelix.com
TranceTip
 
Posts: 5
Joined: 18 Apr 2013, 10:33

Who is online

Users browsing this forum: No registered users and 1 guest