Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411421 Posts in 69363 Topics- by 58416 Members - Latest Member: timothy feriandy

April 18, 2024, 03:35:05 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperAudioProcedurally Generated Music
Pages: 1 [2]
Print
Author Topic: Procedurally Generated Music  (Read 5526 times)
sublinimal
Level 8
***



View Profile
« Reply #20 on: August 16, 2011, 04:14:54 AM »

There was recently a competition on procedural music generation at a Finnish programming forum. The entry songs can be downloaded here: http://www.ohjelmointiputka.net/savelo/

To play back the resulting songs, they used custom tracker-esque software, where each note can have the following information: frequency, start, length, tone, volume, muffle and fade. Various languages were used to code the AIs, source codes for all of them can be found here.

The top 3 are actually quite catchy.
Logged
Feral_P
Level 1
*


View Profile
« Reply #21 on: August 16, 2011, 11:32:58 AM »

@sublinimal: Thanks, they're really interesting... And I never would have found it myself Smiley I'd searched before for procedural music, but I'd never heard anything as good as that. I'll give the source code a quick look, it might be useful. Based on listening to those, I'd say my generator is lacking in two things: structure and instrumentation (which wasn't supposed to be included in the generator).

@baconman: Ah, what you were doing seems a lot clearer now. And a completely different approach to mine! Smiley
Logged
baconman
Level 10
*****


Design Guru


View Profile WWW
« Reply #22 on: August 16, 2011, 04:24:28 PM »

Mind putting a few up that do around 140-160 BPM? These arrangements show promise in their current state, so how would they sound in gameplay-speed? Maybe even a super-intense one at 240, just to see how it plays out. Color me curious. Wink
Logged

Feral_P
Level 1
*


View Profile
« Reply #23 on: August 17, 2011, 01:20:26 AM »

Sure, I'll generate a couple Smiley

Right now I'm working on a few bug fixes and trying to get it to generate a decent phrase structure, but after that I think I'll build a GUI, so you guys can play around with the variables I've set, and generate your own MIDI files (and hopefully play them back) Smiley

EDIT: Okay, I uploaded one at 160 and one at 240:
http://voxygen.bandcamp.com/track/output-ten-version-two-fast
http://voxygen.bandcamp.com/track/output-eleven-version-two-faster

BEWARE! The 240bpm one is pretty awful. Although I haven't really been trying to find the best ones, more uploading the ones that generate first (as to give a better sample of its output).
« Last Edit: August 17, 2011, 01:28:43 AM by Feral_P » Logged
baconman
Level 10
*****


Design Guru


View Profile WWW
« Reply #24 on: August 17, 2011, 03:43:12 AM »

Well, the 240 bpm one popped out a catchy little jingle at least. It could work for a logo screen. XD

I really like the instrumentation and arrangement of them. They're good for the shorties they are. So now, a little verse/chorus structuring looks to be where it's at. It's usually as simple as generating a second structure and tailing them back to back.

Most verse/chorus structures are 8 phrases long, often with a minor deviation in one of the phrases (usually 3rd, 4th, 7th, or 8th... most often in the 3rd beat*); and they alternate between one another. So the phrases would most be along the lines of:

Chorus/Intro 1-2 (lead only)
Chorus/Intro 3-4 (lead + secondary)

Verse 1
Verse 2
Verse 3*
Verse 4*
Verse 1
Verse 2
Verse 3*
Verse 4*

Chorus 1
Chorus 2
Chorus 3*
Chorus 4*
Chorus 1
Chorus 2
Chorus 3*
Chorus 4*

(Second Verse Set)

(Second Chorus Set)

(Verse + Solo Set) or (Chorus + Deemphasize one instrument)

(Chorus Set)


(Finale - one emphasized phrase of verse 1 or chorus 1, or a long conclusive note... assuming you're not going for "hard rock endings" here!)
Logged

Feral_P
Level 1
*


View Profile
« Reply #25 on: August 17, 2011, 04:15:05 AM »

Yeah, the structure really is what needs the most work, now. As-is, generating a four bar phrase and repeating it gives the best result, as if I generate anything longer, it becomes unmemorable (despite my best attempts to get it to repeat phrase-groups 'procedurally'. I want to get it to the stage where it can generate a whole verse (rather than me setting it to repeat a short phrase-group) on its own before I add in the 'meta-structure' (verse, chorus, middle-eight, intro, outro, etc.) generation. Hopefully that will be a bit simpler, though.

Right now it generates 'verses' by chaining together groups of one-bar-long phrases. Whether it's a new phrase, a repeated phrase or a phrase with a new melody and old rhythm is determined by a number of things: how many times it's been repeated already, a bias towards repetition abd whether it's playing the same phrase again, but over different backing (meaning it's more likely to be dissonant).

Finally, and most importantly IMO, it checks whether the new phrase is carrying on an 'association' between itself and another phrase. eg. if phrase B has followed phrase A before, it's more likely to do it again.

However it doesn't seem to be working too well, so a change of approach is in order. Unfortunately, there isn't a lot of music theory to do with phrase structure, so I can't use that so much...
Logged
Feral_P
Level 1
*


View Profile
« Reply #26 on: September 07, 2011, 06:55:07 AM »

OK, I just changed the original post to include the link to the latest version. This time, you can download the program yourself and it will generate music just for you! It should run out-of-the-box; just unzip it and run "Procedural Music.exe". "output.mid" is the latest song it's generated. This version produced 5x12 bar phrases, with one instrument 'regenerating' every 12 bars. I hope you like it! Smiley

EDIT: OK, there's an error in this version. I'm working to fix it, and a new version should be up soon.
« Last Edit: September 07, 2011, 11:01:01 PM by Feral_P » Logged
Feral_P
Level 1
*


View Profile
« Reply #27 on: September 22, 2011, 08:31:26 AM »

Same deal as above, but this time it actually works. It may not play the music out loud, but it generates a midi file that you should be able to listen to. Quality of output obviously can vary a lot Smiley

The first post has been updated to include the link, but here it is again:
http://dl.dropbox.com/u/10171005/Procedural_Music.zip
Logged
Pages: 1 [2]
Print
Jump to:  

Theme orange-lt created by panic