Music, for the thousandth time

What do you want to see in Armagetron soon? Any new feature ideas? Let's ponder these ground breaking ideas...
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Music, for the thousandth time

Post by Lucifer »

Hi. We're not kicking the dead horse, really!

So, Electric Turtle sent me via PM a link to a track that he wrote. Based on listening to the track, I assume he's actually read this post, and that he put it all together in one mp3 to expedite the listening. I am directing him to this thread so we can get started on real work, btw.

So, here's what he linked me to, and I hope this won't cause a bandwidth problem for him:

http://slowwavesleep.com/alert/ALERT!.mp3

As usual, everyone is welcome to give a listen, but since it may cause a bandwidth problem for Electric Turtle, I ask that you only click the link and listen if you're willing to make comments on what you hear.

Ok, so, I really enjoyed this. I heard 4 distinct themes, and I heard places where it should be split up. So I assume he's made it so that it *can* be split up into pieces and reassembled by the sound engine. Don't let the 32MB scare you, since it'll be smaller when encoded in ogg vorbis (as long as I have any say in it, we will ship ogg vorbis and *no* mp3).

There's some details to work out. The rest of this post is intended to continue the conversation that Electric Turtle started with me, and y'all are welcome to jump in. It's against my religion to have this kind of discussion in private, that's why I made this post.

The rest of this post is for discussion of Electric Turtle's submission.

I should start this with pointing out that at this exact moment, I've probalby drank a little too much of the homebrew. I'm really enjoying this honeydew melon wine I've made. :)

In any case, I really enjoyed your submission, and I'd like to see it added to the mainline development branch. However, there are some things we need to talk about.

First off, I linked the looooooong post where I talk about what a soundtrack submission should have. I did *not* test this submission ingame. So it's possible that while I really enjoyed it, it doesn't really work ingame. That's a consideration we'll have to keep in mind.

Second, I heard several distinct themes. I didn't count them, but I thought I heard the 4 that I asked for. If that's the case, then the very next thing we need is for the four themes to be broken up into loopable tracks that we can test ingame. We can use 0.3.0 to test them ingame, and I'm willing to do it myself (even though configure.ac needs to be patched to work with my computer). But we should know asap whether or not your soundtrack actually works in general as game music. I say "in general" because we're not targetting a specific mode of play, we're instead targetting all modes of play.

So, I need you to break it up into parts and link me to the parts. I need to download them and test them ingame. But we need more, still.

The sound engine needs to know how to construct a music track. You, meaning "Electric Turtle", need to chime in and talk about how you want the sound engine to construct your music track. I'll be trying to generalize it so that others can use the engine to construct different music tracks, but we need you to provide serious input on how to construct your specific music track.

I want to say more, but I don't think there's more to say until y'all have chimed in. Have a listen, say your piece on what you hear. Electric Turtle's got me in his corner already, I really enjoyed this long track, and I hope that when it's broken down and reassembled programmatically it will still sound as good, or hopefully better.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
Concord
Reverse Outside Corner Grinder
Posts: 1661
Joined: Sun Oct 21, 2007 5:24 pm

Post by Concord »

you sound a little tipsy

I thought the music
fit Armagetron very well
the beat was just about as fast
as the rate one musts make decisions
allowing one to literally
get into rhythm
good work!
Flex
Round Winner
Posts: 233
Joined: Fri Mar 16, 2007 7:44 pm

Post by Flex »

If bandwidth is an issue, you could try a free file sharing site. I took the initiative and went ahead with that for you. (You can stream there too.)

http://www.zshare.net/audio/12982349565488c5/

Personally I like it! There's some real good beats in there. The start was fresh, but you can definitely feel it. I didn't count either, but there's definitely more then four themes, and you're right Lucifer, you've also got to consider how it sounds in-game.

Like most I play with music in the background when I play Arma. I've turned off in-game sound as it disturbs me, but I'd love to provide my input on how it feels on Sumo and Fortress.

Nice one Electric Turtle. I'd have to say I feel 13:00-14:00 the most.
User avatar
sinewav
Graphic Artist
Posts: 6413
Joined: Wed Jan 23, 2008 3:37 am
Contact:

Post by sinewav »

Thanks for the feedback guys. I'll like to explain a few things now.

The reason the file is file is a 32MB 192kbps mp3 is because "ALERT!" in its current state is aimed at my fans (I actually have fans of my work). While this music started out as something for the Arma community, it evolved into the 23 minute metal/techno-mix above. This is in line with some of my previous work, notably "slowwavesleep" (the domain). This is another project of mine that gets stupid amounts of downloads every month, so stream away, I can definitely afford the bandwidth. But, thanks for the help FLEX, you rock! I would totally donate the music in slowwavesleep to Arma, but it's probably not appropriate; it's mostly trip-hop and kind of sounds like Boards of Canada and maybe some stuff off the Ninja Tuna label.

So, I didn't really intend for ALERT!.mp3 to be just dropped into Arma, but I did want something available for the community to evaluate (although, I do play the track while I'm core-dumping fools and it sounds great IMHO). I wanted to pass "the Lucifer test" before I started deconstructing and cutting/arranging material. I actually did a large portion of the song writing with Arma streaming through one channel of my mixer, just so I'd know if something didn't work.

I understand perfectly about file sizes and compression. I also understand that this music would have to be sliced-and-diced. This is where you can help if you have a copy of Reason 2.5 (Propellerhead Software). It's what I've been using lately, and what I used for this project. If you are interested in having the files, let me know. In the meantime, I'll make shorter, .ogg files and post them when ready.

Lucifer, I'm a little unclear on how the sound engine works. Can you direct me to some informative reading? BTW, the extent of my programming knowledge is "some PHP". And, I haven't installed Bazzar yet because I wasn't sure if I really needed to.
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

Electric Turtle wrote: Lucifer, I'm a little unclear on how the sound engine works.
That's because right now it doesn't. :)

More seriously, I'll talk in terms of what I'd do if it were my track, and you should get out of this post what needs to be done and then adapt your own workflow to accomplish it, which may ultimately mean doing what I'd do, but I don't want to dictate to anybody. ;)

0.3.0 has the purpose of testing ingame music, it's just one of the things people haven't really done with it. It has a playlist-based media player oriented around playing complete songs. So the first thing I'd do with your track is break it up into songs, aiming for about 3-6 minutes per song, and put it in a zip file. Unfortunately, 0.3.0's playlist support isn't terribly good and for some of the things it does, it doesn't really work. It's theoretically possible for you to construct a playlist following the model of the bundled playlist, store the music in a directory structure that also follows that model, and make a zip file that folks running 0.3.0 can just unzip to the right place and have it do the right thing. That's what you should do after cutting up the track.

Then play it, and get other people to play it, and we'll probably get it tested ingame pretty quickly and thoroughly if there's a drop-in zip file that anybody can use. Mind you, the purpose of the zip file is easy distribution, not compression. My experience is that zip files of mp3 or ogg files are usually larger than the contents would have been by itself.

That should hopefully get us past the point where there's any question in anybody's minds about how well this music works ingame. It should also generate a lot of feedback, and in a perfect world, most of the feedback would be positive, and some of it will be negative, and it'll be up to you how or if you want to address negative feedback. Then we can talk about what's next.

The plan is to create an xml file that describes how to put a song together, and says where its parts are. Each part should be in a separate ogg file. So, using my rock/metal-oriented brain, I would create a song that looks like this:

* intro
* verse
* prechorus
* chorus
* transition
* verse
* prechorus
* chorus
* B-section
* solo
* transition
* verse
* prechorus
* chorus
* outro

Each of those parts would be a separate file, and then I'd create an xml file that describes the song. However, the description on how to assemble the song will contain additional information to direct the media player as to what each part means. It may be good for the media player to loop the chorus a few times if the action indicates that's what it should do, or to loop the transition because we're between rounds, stuff like that. So action in the game, as well as progress through a round and a match will provide a feedback mechanism to the media player which it will use to construct the song from its parts, using the recommendations you've given. Obviously, at a low level in the music, you really need each part to smoothly seque into each other part, because you're not going to be guaranteed the order in which they'll be played.

So, what we need to do then is work out how we'll describe a song, and you'll hopefully take one or two of the individual songs that fell out of this long track when you prepped it for 0.3.0 playing and use those as test beds for the song xml file format.

At some point in the future, we'll settle on it, have code written and so forth, and it'll make sense to go ahead and do the deed with all of the music you intend us to use. At that time, we'll also settle on what measures we'll take to keep the file sizes low. In my own experience, sampling down to 22.05khz is better than dropping from 16-bit to 8-bit samples, but we'll have to see what everything looks like when we're there. It may also turn out that it's better to cut the bundled songs to just 2 songs and make the rest available via the resource repository. Also, do remember that the music will sound very different when mixed with sound effects and stuff, and we can do some sonic programming tricks to improve the music during playing. That just means we'll be able to compensate somewhat for any degradation in sound quality we suffer due to file size limitations. It won't be perfect, and there will be the option of making a separate download that doesn't compromise sound quality at all for folks who have the bandwidth for it.

So, after we've got the individual song xml files, we'll need a resource that describes a music track. Users should be able to choose music tracks to play, and also combine them (so maybe someone likes yours, and they also like someone else's, and they don't want to choose one or the other, they should be able to choose both). Music track resources will be hosted on the resource repository just like maps and cockpits are currently hosted, and we'll hopefully dream up some way for musicians to unhook their music from the resource repository. A music track resource is basically a playlist that refers to the song xml files rather than actual media files, and contains credits and other useful metadata for the resource. Think of it as a playlist that comes with everything you need to listen to it. :)

The reason we need to unhook music packs from the resource repository easily is probably obvious, but worth discussing. Obviously, to distribute with the game, the music has to be GPL. That requirement lifts somewhat to put on the resource repository, but imo it should still be a Free license, either an OSI-certified license or a Creative Commons license. So what does a musician do when he doesn't want to meet those licensing requirements, so he can't use the resource repository? I'm willing to accommodate by dreaming up a way for him to direct users to his music pack, but that's pretty much all I'm willing to do. Really, it's a Free game, all the content for it should also be Free. (note the capital F)

On the programming side of this, I'll be doing it, unless someone else volunteers to do it. So your role in this work is as a content creator, and I'm your programmer. :)
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
sinewav
Graphic Artist
Posts: 6413
Joined: Wed Jan 23, 2008 3:37 am
Contact:

Post by sinewav »

Excellent. BTW, I'm really big on Free stuff - especially software and music. I have hours of my music on the Internet for download, all of it free. This will be no exception.

I think I've got a hang on what you're saying. I also found this Wiki post useful: http://wiki.armagetronad.net/index.php? ... und_Engine. I should have something for you in a few days. Also, I'm interested in "pushbutton" effects, so maybe I'll make a batch of those while I'm at it.

[Edit] Oh, and I plan on writing more music with Arma in mind over the next several months. Although, I'm inclined to make music that's more ambient or techno or experimental. However, I am pretty good with remixing other's work, so I'm open to collaboration. [/Edit]

End Of Line
User avatar
Zero V2
On Lightcycle Grid
Posts: 44
Joined: Sun Dec 23, 2007 3:34 pm
Location: N/A

Post by Zero V2 »

I think that the most suiting type of music for this game would be something along the lines of a chiptune.

You know, the music played on 8-bit and 16-bit hardware? Playing raw sound, or playing samples in 8-bit quality result in an old-school, bitty sounding music which is really distinct.

It doesn't sound realistic most of the time, and there are limits to what you could do, but chiptunes would add a nice feel to the game, especially for old-school gamers, I think.
Image
User avatar
sinewav
Graphic Artist
Posts: 6413
Joined: Wed Jan 23, 2008 3:37 am
Contact:

Post by sinewav »

Zero V2 wrote:I think that the most suiting type of music for this game would be something along the lines of a chiptune.
Well, you should get to work on writing one! That way you can submit it in a "musicpack" when the time comes.
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

I do think I should point something out, a few things, really. And I don't want this to discourage anybody.

I am not the sole decision-maker for what gets bundled with the game. :) I'm wanting to get a consensus amongst developers about what music will ship with the game, and I'm wanting developers to develop their opinions as part personal taste and part community feedback. If we can't reach a consensus, and a release is looming, then we'll probably need a triumvirate vote to make the decision, which I can just about guarantee will be based in part on personal taste, and part community feedback. :) So no matter what, it's in everybody's best interests to offer comments and participate in the process.

So, if someone wants to make a counter offer to Electric Turtle's track, they need to join the discussion on how the music player is going to work and provide their all-important input to the process, and also make music and test the code that results from the work.

Ultimately, the music that will ship with the game will ship in a music pack format, so no matter what, the development process includes turning the music provided into a music pack. If it gets picked for the game (and it's likely that if Electric Turtle's is the only available music, it'll win by default), then it'll still be shipped as a music pack, it'll just be part of the installation. Now, I don't want anybody getting crazy about the details on what that means, just remember that maps and cockpits already ship with the game in exactly the same form that they appear as downloadable resources, so it's not a good use of time to argue exactly what I meant by this paragraph. It's a better use of time to make music for the game. :)
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
Z-Man
God & Project Admin
Posts: 11587
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

I like it very much (I haven't tried it as arma ingame music, but for a random flash action game I was playing at that time, it worked). There's only two bits I didn't like:
- the slow start. I was almost thinking "oh, so this is just another one of those tiny sound loops, it's a nice start, but where's the rest?". Could be that this works better when its ingame music, though.
- the bits that sound as if the music was ending. There's two kinds of background music, music that drives you on and music that tries to just be background. This is the driving kind, and every time it is pretending to stop in a critical game situation, I'll die :) Or expressed differently: those bits create a change of mood, and we have no way yo sync that to the way the game develops.
User avatar
sinewav
Graphic Artist
Posts: 6413
Joined: Wed Jan 23, 2008 3:37 am
Contact:

Post by sinewav »

Thanks for the feedback Z-Man! What you heard was written and arranged for general listening, not necessarily for play in Arma. It is a showcase of some recent material I wrote with the game in mind.

You bring up a interesting point about background music; there is the kind that drives you on and the kind that just tries to be background. So, which is best for Arma? My personal philosophy is that game music should help create atmosphere, but as soon as it becomes "noticeable", it runs the risk of becoming an annoying distraction. I imagine most of the crescendos in "ALERT!" will have to be removed.
User avatar
sinewav
Graphic Artist
Posts: 6413
Joined: Wed Jan 23, 2008 3:37 am
Contact:

Post by sinewav »

Below is a link to seven .ogg files to test in-game. Each one is a few minutes long and loops (for the most part). Choose one you would like to work on and I'll start slicing it up into parts that we can sequence with a .xml doc. If that goes well, I can start slicing the others.

<linked item here killed by owner, sorry.>

Linked item above (ALERT!) moved to: http://brianhilmers.com/alert/
Last edited by sinewav on Wed Aug 17, 2011 2:43 am, edited 2 times in total.
User avatar
Zero V2
On Lightcycle Grid
Posts: 44
Joined: Sun Dec 23, 2007 3:34 pm
Location: N/A

Post by Zero V2 »

Electric Turtle wrote:
Zero V2 wrote:I think that the most suiting type of music for this game would be something along the lines of a chiptune.
Well, you should get to work on writing one! That way you can submit it in a "musicpack" when the time comes.
Only one problem--I don't have any samples to work with!

I can't provide any decent precussion! It's just raw sound without any samples!
Image
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

Ok, here's a zip file. Unzip it to your 0.3.0 arma installation directory, it will overwrite music/default.m3u and music/titletrack.ogg .

http://www.davefancella.com/armamusictest.zip

In armagetronad:
Go to Sound Settings, make sure playlist type is "internal".

Go to System Settings->Global Key Configuration

Bind keys for Play, Pause, Previous, and Next. I recommend p, o, [, and ], respectively, and they'll probably become the default keybinds at some point unless someone comes up with something better.

When you join a game, you will have to do some extra work to get it to play. Press play, then previous, and that should get it to start playing. There is a known bug in this part, where music doesn't seem to start automatically, and I don't know why, and what it takes to manually start it seems to vary for no good reason.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
sinewav
Graphic Artist
Posts: 6413
Joined: Wed Jan 23, 2008 3:37 am
Contact:

Post by sinewav »

Zero V2 wrote:Only one problem--I don't have any samples to work with!

I can't provide any decent precussion! It's just raw sound without any samples!
Aw c'mon man, that's a cop-out. You obviously have access to the Internet, which means you have access to unfathomable amounts of music-making tools. I know you were just trying to be clever with the "chiptune" remark, but I would like genuinely like to see more people interested in music for Arma. Simply for my own sake, I always like to hear the work of my peers because it inspires me. So, please consider it. You clearly have the idea; just work on the execution. :)
Post Reply