• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
pernyblom

A lot of generative music

19 posts in this topic

Hello!

I have improved my generative music system and added some proper voice leading and structure.

EDIT: [url="http://www.youtube.com/watch?v=Rcc3QUzWZds"]...Another Youtube video with some filter effects[/url]

EDIT: [url="http://www.youtube.com/watch?v=pV9RZEbfHGA&list=PLeo7qBhMs8tXzHz-RS3ABH_rdv02EbGAw&feature=plpp_play_all"]...Youtube video playlist with some handpicked songs[/url]

Here are 40 songs that the system generated with a single seed as input:

[url="http://www.springworldgames.com/musicdemo2/test0.mp3"]1[/url], [url="http://www.springworldgames.com/musicdemo2/test1.mp3"]2[/url], [url="http://www.springworldgames.com/musicdemo2/test2.mp3"]3[/url], [url="http://www.springworldgames.com/musicdemo2/test3.mp3"]4[/url], [url="http://www.springworldgames.com/musicdemo2/test4.mp3"]5[/url], [url="http://www.springworldgames.com/musicdemo2/test5.mp3"]6[/url], [url="http://www.springworldgames.com/musicdemo2/test6.mp3"]7[/url], [url="http://www.springworldgames.com/musicdemo2/test7.mp3"]8[/url], [url="http://www.springworldgames.com/musicdemo2/test8.mp3"]9[/url], [url="http://www.springworldgames.com/musicdemo2/test9.mp3"]10[/url], [url="http://www.springworldgames.com/musicdemo2/test10.mp3"]11[/url], [url="http://www.springworldgames.com/musicdemo2/test11.mp3"]12[/url], [url="http://www.springworldgames.com/musicdemo2/test12.mp3"]13[/url], [url="http://www.springworldgames.com/musicdemo2/test13.mp3"]14[/url], [url="http://www.springworldgames.com/musicdemo2/test14.mp3"]15[/url], [url="http://www.springworldgames.com/musicdemo2/test15.mp3"]16[/url], [url="http://www.springworldgames.com/musicdemo2/test16.mp3"]17[/url], [url="http://www.springworldgames.com/musicdemo2/test17.mp3"]18[/url], [url="http://www.springworldgames.com/musicdemo2/test18.mp3"]19[/url], [url="http://www.springworldgames.com/musicdemo2/test19.mp3"]20[/url], [url="http://www.springworldgames.com/musicdemo2/test20.mp3"]21[/url], [url="http://www.springworldgames.com/musicdemo2/test21.mp3"]22[/url], [url="http://www.springworldgames.com/musicdemo2/test22.mp3"]23[/url], [url="http://www.springworldgames.com/musicdemo2/test23.mp3"]24[/url], [url="http://www.springworldgames.com/musicdemo2/test24.mp3"]25[/url], [url="http://www.springworldgames.com/musicdemo2/test25.mp3"]26[/url], [url="http://www.springworldgames.com/musicdemo2/test26.mp3"]27[/url], [url="http://www.springworldgames.com/musicdemo2/test27.mp3"]28[/url], [url="http://www.springworldgames.com/musicdemo2/test28.mp3"]29[/url], [url="http://www.springworldgames.com/musicdemo2/test29.mp3"]30[/url], [url="http://www.springworldgames.com/musicdemo2/test30.mp3"]31[/url], [url="http://www.springworldgames.com/musicdemo2/test31.mp3"]32[/url], [url="http://www.springworldgames.com/musicdemo2/test32.mp3"]33[/url], [url="http://www.springworldgames.com/musicdemo2/test33.mp3"]34[/url], [url="http://www.springworldgames.com/musicdemo2/test34.mp3"]35[/url], [url="http://www.springworldgames.com/musicdemo2/test35.mp3"]36[/url], [url="http://www.springworldgames.com/musicdemo2/test36.mp3"]37[/url], [url="http://www.springworldgames.com/musicdemo2/test37.mp3"]38[/url], [url="http://www.springworldgames.com/musicdemo2/test38.mp3"]39[/url], [url="http://www.springworldgames.com/musicdemo2/test39.mp3"]40[/url]

Yes, they sound a bit similar sometimes and the mixing is sometimes terrible (the melody drowns in other stuff) but it is still kind of cool I think [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img] Edited by pernyblom
1

Share this post


Link to post
Share on other sites
At work so can't listen now ... but was wondering if your system is still Java-based? I think that's what you said a while ago...
1

Share this post


Link to post
Share on other sites
[quote name='bschmidt1962' timestamp='1346861823' post='4976875']<br />In fact, never use GM again :)[/quote]

Yeah, it doesn't sound great :)
I am thinking about hiring someone who can do this well. Also, I need a good composer that can help me improve the system and choose at least one specific musical style to target.
0

Share this post


Link to post
Share on other sites
[quote name='jwezorek' timestamp='1346863080' post='4976883']
At work so can't listen now ... but was wondering if your system is still Java-based? I think that's what you said a while ago...
[/quote]

No, it is currently all Javascript. This is a completely new system that was originally intented for web client use, and therefore JS was selected.
0

Share this post


Link to post
Share on other sites
[quote name='jwezorek' timestamp='1346866980' post='4976910']
What's the difference between this system and your last system?
[/quote]

This system uses constraint solving/optimization and planning for almost everything which means that it supports proper voice leading, adaptive figuration and "smarter" harmony planning.
The previous system used none of that. It used patterns for everything without any lookahead. The previous system was however reactive and could change the music according to real-time inputs. The current is a lot more static but can support that eventually.
1

Share this post


Link to post
Share on other sites
[quote name='bschmidt1962' timestamp='1346861823' post='4976875']<br />Do you have any links to papers that discuss what you're doing?<br />[/quote]

I don't have any links but it is a mix of several techniques:
* Constraint-based voice leading (four-part)
* Maximum likelihood harmony planning and figuration
* A lot of tricks to divide the large problems into smaller ones

I once read a thesis about using constraint solvers for voice leading, but I decided to use soft constraints and optimization instead since it is more flexible, but also more expensive.

Most of the techniques/constraints are just directly translated from standard harmony books (harmony, voice leading, phrase structure etc.). I used to be an AI researcher so I know a lot of tricks for translating problems into a computer-understandable form :)

Thanks for giving me good advice about the sound and for your time!
0

Share this post


Link to post
Share on other sites
Thanks for the info..
Java explains the MIDI implementation..

Can you have it spit out a level 0 midi file? Then you could pass it off to an orchestrator/recorder, though to be fair you would have to tell them not to change the MIDI file in any way.

Have you looked at how musical phrasing would create subtle (or not so subtle) changes in key velocity (affecting both volume and timbre). I think starting to deal intelligently with velocity as you currently do with note value would make even the GM performances sound massively more 'real'.
2

Share this post


Link to post
Share on other sites
[quote name='bschmidt1962' timestamp='1346892027' post='4977029']

Can you have it spit out a level 0 midi file? Then you could pass it off to an orchestrator/recorder, though to be fair you would have to tell them not to change the MIDI file in any way.

Have you looked at how musical phrasing would create subtle (or not so subtle) changes in key velocity (affecting both volume and timbre). I think starting to deal intelligently with velocity as you currently do with note value would make even the GM performances sound massively more 'real'.
[/quote]

I can output MIDI files. Those MP3s are actually rendered MIDI files where I tried to use a reasonably good soundfont, but as you say, it doesn't sound good :)

When you speak about note velocity, do you mean the strong/weak distribution between beats/subbeats and measures/hypermeasures? I have dealt with that in one of my previous system but haven't implemented it yet in this new one.

Another thing I'm working on is local tempo changes (ritardantos etc.) and also adding random position offsets which can also make it sound more real.

I also forgot to mention that I have been inspired by the material at [url=http://www.harmony.org.uk/]harmony.org.uk/[/url], the static/dynamic harmony syntax part.
0

Share this post


Link to post
Share on other sites
Added: [url=http://www.youtube.com/watch?v=pV9RZEbfHGA&list=PLeo7qBhMs8tXzHz-RS3ABH_rdv02EbGAw&feature=plpp_play_all]Youtube video playlist with some handpicked songs[/url]

Not much new stuff (some velocity transformations) but it has a better presentation and set of songs (audio is also normalized and compressed). Edited by pernyblom
1

Share this post


Link to post
Share on other sites
[quote name='pernyblom' timestamp='1347365115' post='4978869']
Added: [url="http://www.youtube.com/watch?v=pV9RZEbfHGA&list=PLeo7qBhMs8tXzHz-RS3ABH_rdv02EbGAw&feature=plpp_play_all"]Youtube video playlist with some handpicked songs[/url]

Not much new stuff (some velocity transformations) but it has a better presentation and set of songs (audio is also normalized and compressed).[/quote]
That's pretty darn good. It's actually pleasant to listen to, which has not been my general experience with generative music :)
1

Share this post


Link to post
Share on other sites
Hello,

I'm not looking forward to the day when we're replaced by algorithms like this - but I'll have to agree, very impressive! :)

Cheers,
Moritz
2

Share this post


Link to post
Share on other sites
Added some more videos:

[url="http://www.youtube.com/watch?v=Rcc3QUzWZds"]... Filter effects[/url]

[url="http://www.youtube.com/watch?v=Uu5jthY8LvE"]...Tonicization[/url] Edited by pernyblom
1

Share this post


Link to post
Share on other sites
Hey, the one with the filter synths is actually pretty sweet.

The arrangement still seems a bit arbitrary at times with the short breakdowns, but it seems like your program actually came up with a neat little melody.
One thing I've noticed is that ending the track doesn't seem to work very well yet - though they do end on the tonic, it sounds like the song's just falling apart somehow or there's some instrument "lagging behind", doing a little ending motive that seems out of place.

Cheers,
Moritz
1

Share this post


Link to post
Share on other sites
[quote name='Moritz P.G. Katz' timestamp='1350608933' post='4991613']<br />One thing I've noticed is that ending the track doesn't seem to work very well yet - though they do end on the tonic, it sounds like the song's just falling apart somehow or there's some instrument "lagging behind", doing a little ending motive that seems out of place.<br />[/quote]

I totally agree. The main problem is that I haven't created any special "end motifs" yet for harmony and bass (and melody actually). The current motifs assume that they should connect with something that follows, which sometimes sounds OK when another phrase follows. Like you say, it sounds bad at endings and and also when there is a lot less content that follows. I cheat with the melody motif by always using a single long note at the end of phrases.

I am also working on to improve the combination of instruments and the breakdowns. The module is now much better parameterized so you can for example change only a small part of a song and keep everything else.

Thanks for listening and the feedback. I appreciate it a lot! Edited by pernyblom
2

Share this post


Link to post
Share on other sites
Very Impressive!
Regarding the endings, you could try something like slowing down the last few notes in some sort of ritardando.
1

Share this post


Link to post
Share on other sites
[quote name='MA-Simon' timestamp='1350775405' post='4992294']
Very Impressive!
Regarding the endings, you could try something like slowing down the last few notes in some sort of ritardando.
[/quote]
Thanks!
I insert a song end slowdown with a 30% chance at the moment.
I also try to implement a more dynamic tempo model, using [url=http://www.soundonsound.com/sos/nov02/articles/tempoworkshop1102.asp]this article[/url] as inspiration.

There will be a setting for this in the final tool though :)
0

Share this post


Link to post
Share on other sites
Very very cool stuff! I look forward to hearing this project as it progresses further.

-Ken Zyma
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0