Jump to content
Samulis

Sound Lead Application - Sam Gossner

Recommended Posts

Position: Sound Lead

Do you understand that Wildfire Games is a non-commercial project, work for 0 A.D. is volunteer, and work is done for free? Yes

Do you agree to distribute all your work for Wildfire Games under Creative Commons Attribution Share-Alike license? Yes

Are you sure you do not want to work on something programming related? (Then you don't need to send in an application form.) Yes

Name: Sam Gossner

Email: sgossner (at) versilstudios (dot) net

Location: New England, USA

Availability: 5-15 Hours per week

Age: mid-20's

Occupation: Sample Library Developer

Skills and Experience: I've been composing and doing sound design professionally for games for the past eight years; started out in the Flash industry while in high school and moved on from there. Most recent major project was the score and sound design for Airscape: The Fall of Gravity (2012-2015), which I completed while also a full-time college student (Berklee College of Music) and in the midst of making a 16 GB orchestral sample library (Chamber Orchestra 2).

My "day job" is recording and editing samples of musical instruments from all around the world (sometimes dealing with tens of thousands of individual audio clips at a time) and often building virtual instruments from those recordings in a XML-like format called SFZ or overseeing their implementation in more advanced formats (I often handle the recording and business/logistics end of things). I'm the creator of the CC0 sample sets 'VSCO 2 CE' and 'VCSL', both on GitHub, and the former also on Freesound (along with a bunch of foley sounds and such). To summarize, I'm basically the audio equivalent of a hedge fund manager for about a quarter of a million little tiny clips of audio. :dry:

Motivation: Sampling is one of the most enjoyable things I've ever done. To me, nothing beats hearing a track someone made with my work, and that's what keeps me going. It's also a treat to get to meet so many musicians and learn about their craft as part of the process.

Personality: Renaissance man.

Short Essay: 0 AD crossed my path about a year ago on Mod DB while looking around to see what could fill in the gap left in the wake of Ensemble Studios. Ancient history is perhaps one of my favorite subjects (more specifically, Bronze Age history, but Iron Age is cool too!), but most games I see trying to bring it to life are cartoony and often wildly inaccurate. I'm just happy to see something that is refreshing and highly promising and I want to help it continue to grow into an immersive, informed experience of the ancient world.

I spend a lot of time making commercial products and I just enjoy opportunities to spend time making something nice without worrying about the bottom line. I see a lot of potential in 0 AD and I have the equipment and experience to bring high quality sound design to the game by improving what's there and adding what isn't. I have a fair amount of downtime regularly as development of virtual instruments is a rather piecemeal operation, so I like to find creative and constructive ways to use that time.

Interests and Hobbies: Historical instruments/music (primarily 1400-1930 AD), baking bread, figuring out who the Sea Peoples REALLY were, videography and video editing, and collecting classic 80's/90's hardware  samplers.

Staff: I've written back and forth with Omri Lahav about contributing a few tracks to the game.

Community: VI-Control, Scoring Central, Newgrounds

Favorite Game: I've been giving AoM a bit more love lately, but also recently had a short tryst with Homeworld. In terms of hours sunk, I think the winner is either Civ III or IV. Occasionally boot up an old game called 'The Punic Wars'; I reckon there's bound to be at least one other person whose heard of that around here.

Work Examples:

http://airscapegame.com/

https://freesound.org/people/Samulis/

https://github.com/sgossner/VCSL

https://instaud.io/PUD (some of my CC0 sampling work in action, as an aside)

  • Like 2

Share this post


Link to post
Share on other sites
1 minute ago, Lion.Kanzen said:

Welcome, we need a bouch of Foley, metal sounds to editing, alarm sound is fundamental, better cavalry sounds...etc.

Can do! I saw the list in the thread of needed sounds and I've bookmarked it.

I completed a survey of the existing sounds in the game the other day just to see what was there, just digging around in the files.

I've been working on some ideas out of the 'Mod' version of the game just swapping files for files- put together some fresh sling and arrow sounds as a test, although obviously the XML files will be rewritten. I also balanced and denoised all the voices so they sound a bit more consistent.

I have an old set of a few hundred weapon and armor foley and impact sounds (built my own suit of Lorica Segmentata for it) I recorded a few years back, but they're not quite up to snuff. I've already put some plans in motion to record some nice weapon impacts in about two weeks time.

  • Like 1

Share this post


Link to post
Share on other sites

Hey @Samulis, and welcome to the forums.

If you haven't already I'd suggest you get in contact with @OmriLahav as well as he will be the one to review your contributions too. We can provide general advice and commit your sounds too, but I like to have his precious feedback beforehand.

Also you will have to sign the legal waiver if you haven't already.

Keep the good contributions coming, and make the game better, and you'll probably have the position in some time :)
 

EDIT : Ah well forget the part with Omri then, as you already are in touch with him :)

  • Thanks 1

Share this post


Link to post
Share on other sites
1 minute ago, stanislas69 said:

If you haven't already I'd suggest you get in contact with @OmriLahav as well as he will be the one to review your contributions too. We can provide general advice and commit your sounds too, but I like to have his precious feedback beforehand.

@Samulis has been in touch with me, I pointed him here earlier today!
I'm currently working with him to process some music contributions to the game, and I'm sure he'll do great work as our new Sound Lead!

I'll be around to offer feedback on all audio assets as needed, and please feel free to reach out to me with any concerns or questions :)

  • Thanks 1

Share this post


Link to post
Share on other sites
4 minutes ago, OmriLahav said:

@Samulis has been in touch with me, I pointed him here earlier today!
I'm currently working with him to process some music contributions to the game, and I'm sure he'll do great work as our new Sound Lead!

I'll be around to offer feedback on all audio assets as needed, and please feel free to reach out to me with any concerns or questions :)

I hope so too ! Any news on the Kushite Soundtrack ? We definitely need someone more active in that area :)

Share this post


Link to post
Share on other sites
9 minutes ago, OmriLahav said:

@Samulis has been in touch with me, I pointed him here earlier today!
I'm currently working with him to process some music contributions to the game, and I'm sure he'll do great work as our new Sound Lead!

I'll be around to offer feedback on all audio assets as needed, and please feel free to reach out to me with any concerns or questions :)

At last we can have sounds very close to our visual quality. for me alarms are more harder to do and Foley the more simple but massive.

Share this post


Link to post
Share on other sites
3 minutes ago, stanislas69 said:

Hey @Samulis, and welcome to the forums.

If you haven't already I'd suggest you get in contact with @OmriLahav as well as he will be the one to review your contributions too. We can provide general advice and commit your sounds too, but I like to have his precious feedback beforehand.

Also you will have to sign the legal waiver if you haven't already.

Keep the good contributions coming, and make the game better, and you'll probably have the position in some time :)
 

EDIT : Ah well forget the part with Omri then, as you already are in touch with him :)

Thanks for the intro! I've completed the waiver.

2 minutes ago, OmriLahav said:

@Samulis has been in touch with me, I pointed him here earlier today!
I'm currently working with him to process some music contributions to the game, and I'm sure he'll do great work as our new Sound Lead!

I'll be around to offer feedback on all audio assets as needed, and please feel free to reach out to me with any concerns or questions :)

Thanks, Omri! Happy to get started.

The first step with this sort of thing is to get organized. To sort these things out, I always set up a spreadsheet outlining all necessary information for each sound, color coded for status. This system really helps when you get into hundreds of sounds in a game. I have started the process here-

https://docs.google.com/spreadsheets/d/1NmcwPjz5FWncXdeb0F3YQQVqxnILa0Q3n_D2a9yfu3Q/edit?usp=sharing

I currently have 100 sounds added the sheet (everything for 'Interface' which was on the list or is already in the game), and I will continue to fill in the doc until we have a complete picture of what is going on (probably a day or two more). There is a key on the 2nd tab which explains the columns and color coding.

In addition to listing all the sound assets, I have also assembled information on how the sound system works... at least how the last folks who wrote in the documentation think it did (see the 3rd tab). This can be updated and restructured as needed.

There are also some inconsistencies in naming conventions and file structure which may impede progress (for example, we have files on human footsteps in no less than three different locations). During my survey before, I also noticed some possibly duplicate or deprecated content, which we may be able to remove or update links to in the entity templates. I will look into it and see if I can suggest some changes. I don't mind doing the grunt work of sorting files and editing xml's to make sure things don't break in the process; like I said, it's basically my day job. :D

Share this post


Link to post
Share on other sites
2 minutes ago, Samulis said:

There are also some inconsistencies in naming conventions and file structure which may impede progress (for example, we have files on human footsteps in no less than three different locations). During my survey before, I also noticed some possibly duplicate or deprecated content, which we may be able to remove or update links to in the entity templates. I will look into it and see if I can suggest some changes. I don't mind doing the grunt work of sorting files and editing xml's to make sure things don't break in the process; like I said, it's basically my day job. :D

Yes, by all means if you can put order into the mess that this folder is, please go ahead. Remember though to use SVN move, because we want to keep the file history.
It'd be nice to have actors (XML files) separated from sounds (OGG Files)

I haven't got around it yet, but for the next release I'd like us to have location specific ambient sounds (Currently it's one looping bird sound all over the place) and walking sounds functionnal (It works, but it will fill all the buffers quickly making the buffers distorted) If you have any question about how things work that you haven't answered, I'll do my best to help you .

Share this post


Link to post
Share on other sites
Just now, stanislas69 said:

Yes, by all means if you can put order into the mess that this folder is, please go ahead. Remember though to use SVN move, because we want to keep the file history.
It'd be nice to have actors (XML files) separated from sounds (OGG Files)

I haven't got around it yet, but for the next release I'd like us to have location specific ambient sounds (Currently it's one looping bird sound all over the place) and walking sounds functionnal (It works, but it will fill all the buffers quickly making the buffers distorted) If you have any question about how things work that you haven't answered, I'll do my best to help you .

Thanks! I'm not familiar with your file management system (I've only ever used GitHub), but I'll look into how to change things without screwing it up. :rolleyes:

I can see about supplying you with a few ambient sounds. Were you more looking for a constant background sound (e.g. AoE III) or occasional noises (e.g. AoE I or Civ III)?

I did notice the timer or whatever is controlling the sound playback seems slow or something, as I noticed when playing that the attack sounds grouped up into metronome-like clicks (unless the Threshold system is implemented and there is just a file with some very consistently spaced hit sounds? Or perhaps if only one sound may be played from each SoundGroup at a time and it must wait before playing the next sound until the first has stopped?).

I take it we don't exactly have all that much polyphony/layers/possible sounds at once before the buffer freaks out, maybe a few dozen?

Share this post


Link to post
Share on other sites
22 minutes ago, stanislas69 said:

I haven't got around it yet, but for the next release I'd like us to have location specific ambient sounds (Currently it's one looping bird sound all over the place)

 

10 minutes ago, Samulis said:

I can see about supplying you with a few ambient sounds. Were you more looking for a constant background sound (e.g. AoE III) or occasional noises (e.g. AoE I or Civ III)?

 

A couple looping ambient files for rain and thunderstorm would be nice. Also, sounds for ambient emitters are greatly desired. 

I had a very interesting idea regarding ambient wind and music, both being somewhat positional, but I'm not sure that this is the thread for that unless you'd like to hear about it. 

 

  • Like 1

Share this post


Link to post
Share on other sites
12 minutes ago, Samulis said:

Thanks! I'm not familiar with your file management system (I've only ever used GitHub), but I'll look into how to change things without screwing it up. :rolleyes:

I did notice the timer or whatever is controlling the sound playback seems slow or something, as I noticed when playing that the attack sounds grouped up into metronome-like clicks (unless the Threshold system is implemented and there is just a file with some very consistently spaced hit sounds? Or perhaps if only one sound may be played from each SoundGroup at a time and it must wait before playing the next sound until the first has stopped?).

I take it we don't exactly have all that much polyphony/layers/possible sounds at once before the buffer freaks out, maybe a few dozen?

Are you familiar with C++ code ? :)

https://github.com/0ad/0ad/blob/b0bdd664a5597430b5b6e4c99e93ff445d31912d/source/soundmanager/SoundManager.cpp

#define SOURCE_NUM 64

That means we can at maximum play 64 sounds at the same time. Thirty units moving takes half that, plus the voices, plus maybe the attacking sounds. There isn't a check that prevents too much identical sounds from playing at the same time so that would have to be added.

Sounds execution are defined in the actor or variant files respectively at:

binaries/data/mods/public/art/actors

and

binaries/data/mods/public/art/variants
Quote

I can see about supplying you with a few ambient sounds. Were you more looking for a constant background sound (e.g. AoE III) or occasional noises (e.g. AoE I or Civ III)?

Doesn't matter much as long as it's either better than what we have, or if we do not have it.

 

Share this post


Link to post
Share on other sites
Just now, stanislas69 said:

Are you familiar with C++ code ? :)

https://github.com/0ad/0ad/blob/b0bdd664a5597430b5b6e4c99e93ff445d31912d/source/soundmanager/SoundManager.cpp


#define SOURCE_NUM 64

That means we can at maximum play 64 sounds at the same time. Thirty units moving takes half that, plus the voices, plus maybe the attacking sounds. There isn't a check that prevents too much identical sounds from playing at the same time so that would have to be added.

Sounds execution are defined in the actor or variant files respectively at:


binaries/data/mods/public/art/actors

and


binaries/data/mods/public/art/variants

Doesn't matter much as long as it's either better than what we have, or if we do not have it.

 

Thanks! Unfortunately I only know a tiny bit of C# and I've sadly forgotten most of that. From what I can pick out, it looks like there's already some code in there to get map environment to influence the ambient sound stream. Structurally, it looks like there's an active playlist onto which it places the sounds (and culls "dead" sounds from), then those get fed into OpenAL sound sources, which OpenAL interfaces with the soundcard drivers? I did a double-take when I noticed the buffer was set to 98304, but I reckon that must be bits since I've never seen a buffer over 8192, so with 24-bit[depth] audio it'd be 4096 samples, which makes more sense.

Of course, I could be completely and utterly incorrect about all of that. :blush:

I think it's okay to have multiple of the same soundgroup going at once, if anything, preferable to not allowing multiple of the same soundgroup at once, at least from a cosmetic point of view. With 64 voices, we have some pretty decent wiggle room, but not a ton. If threshold is/was implemented, then we really don't need to worry and could probably even get lower if we do some smart threshold work. Another option is to go through and ensure the sounds are cut as short as possible, as that will (I assume) let them be culled sooner.

Just spitballing here, but something we could also try is having some term that uses gain to influence priority, that is to say, quieter sounds have a slightly lower priority than louder sounds of the same type. This could be used to clear out some of the 'thickets' by removing sounds which are less noticeable and were lower priority anyway, so, for example, a louder but equal priority sound would always go before a quieter one. There might also be a possibility of allocating specific amounts of sources to each soundgroup, e.g. saying that a soundgroup cannot have more than 12 at once, but that's basically thresholds in a nutshell, so back to square one on that idea.

Still no clue on what is causing those attack sounds to stack up like that- I don't think it happens with resource sounds. As you say, I'd have to look at the actual execution to find out, most likely. I'll stick it on my "scenic detour bucket list".

I'll put some stuff together for the ambiances as soon as I've finished reviewing the files (see below).

6 minutes ago, wowgetoffyourcellphone said:

 

A couple looping ambient files for rain and thunderstorm would be nice. Also, sounds for ambient emitters are greatly desired. 

I had a very interesting idea regarding ambient wind and music, both being somewhat positional, but I'm not sure that this is the thread for that unless you'd like to hear about it. 

 

Very doable. I have several hours of rain, thunder, and wind I've recorded myself; it's no problem to cut a few different loops out of it and see what sticks.

It looks like there's already some sort of ambient sound system implemented which looks at the environment of the map to figure out which sounds to play, if my extraordinarily poor understanding of programming logic is sufficient, although I think you're getting at something a bit more higher-detailed than that. The main obstacle we'd face is figuring out how to allocate our sound sources/polyphony.

  • Like 1

Share this post


Link to post
Share on other sites

Hi all,

For starters, here are a few rain, nighttime, thunder, and wind sounds to take a listen to. I tried setting up some SoundGroups, but ran into some bugs (well, more likely user error) when loading them in with a mod- I'll have to pick that thread up tomorrow or whenever I next have time to work on it. Nonetheless, here are some storm and weather sounds so far in .ogg format-

https://s3.amazonaws.com/SamulisRandom/Delivery/Weather.zip

For these, I'm using a more descriptive naming scheme based on the one we use for sample libraries.

The original naming scheme was- [name]_[intensity][variation].[extension]. It also specifies long names should be split up with underscores (e.g. 'Camel_run_13.ogg'). This has several failure states including when there are more than 10 (0-9) variations or intensities, it's impossible to tell which is which. I've already ran into a whole bunch of cases where the naming convention wasn't followed anyway- even the documentation mentions the placement of the intensity value, but then gives an example which appears to just contain variations.

Thus I propose- [name]_t[type]_i[intensity]_v[variation].[extension], with long names either hyphenated or camelcase. (e.g. 'Camel-run_t1_i1_v3.ogg' or 'CamelRun_t1_i1_v3.ogg').

This standard is both more human readable and more machine readable, and also makes it so multiple types of the same sound can be easily set apart (e.g. one type might be thunder storms with rolling thunder, another with cracking thunder, or, for a better example, a Greek line read by one female voice actor versus the same read by another female voice actor). Here are a few advantages of having the type specified-

  • We can [easily] have unit variations within a nation each have consistent, cohesive voices (i.e. no more alternating voice actors every other line with only one unit selected).
  • We can [easily] have different sounding storms on each map/biome/season, but be able to cohesively vary among the same storm "style".
  • We can [easily] have multiple readings of the same line per actor, per unit variation.

But the real killer feature is that I will hopefully be able to make a little script which can auto generate the XML files in batches just using the underscore-separated values in the filenames- stick 100 or 500 or 1000 properly named files in one side, get the exact XML files all ready to go on the other. Obviously they need to be hand-finished with certain properties, but it could save enormous amounts of time going forward.

Let me know what you think of this naming scheme/batch mapping! Happy to modify the idea if anyone has ideas/suggestions.

 

In addition, I've been continuing to update my spreadsheet as I make my way through the files. Just finished up Actors. I noticed there already is an (older) sheet from May 2010 which has many of the sounds listed on it tucked away at the top of this page-

https://trac.wildfiregames.com/wiki/Audio_Design_Document

I've started going through their doc to pull out any info and update descriptions to more properly match what is supposed to be there, and basically import whatever data I can to preserve the lineage of the project. Obviously a lot of it is very deprecated, but there's still some info in here that is useful. It's a lot better to just port it all over to a sheet so it can be accessed and updated anywhere at any time and have actual version control. (it's also sort of spooky but cool to see assignments and names from a decade almost to the day on it).

 

I did notice the looping ambiance is coming from day_temperate_gen_03.ogg, I believe. I couldn't find any SoundGroup associated with it to apply new sound files, and the only one in there ('day_temperate.xml') appears unused atm.

  • Like 1

Share this post


Link to post
Share on other sites

As much as possible we should avoid any capitalization; This is because versioning systems might go havoc on platforms where the files are not case sensitive (e.g. Windows) Also the game sometimes ignores it, and sometimes it doesn't, and that changes across platforms. So as much as possible we should not have caps.
 

39 minutes ago, Samulis said:

Thus I propose- [name]_t[type]_i[intensity]_v[variation].[extension], with long names either hyphenated or camelcase. (e.g. 'Camel-run_t1_i1_v3.ogg' or 'CamelRun_t1_i1_v3.ogg').

The 'v' might suggest that it's the third version of it instead of the third variation, maybe we can find something better.

Keep in mind that changing the sound name schema, which is a good thing, will break every mod that uses them. So we should get a consensus with the biggest mods around here, some of which I manage, and some others like Delenda Est from @wowgetoffyourcellphone.

39 minutes ago, Samulis said:

We can [easily] have unit variations within a nation each have consistent, cohesive voices (i.e. no more alternating voice actors every other line with only one unit selected).

I thought we had something for that,  but apparently it was never finished/committed https://trac.wildfiregames.com/ticket/3578
 

39 minutes ago, Samulis said:

I've started going through their doc to pull out any info and update descriptions to more properly match what is supposed to be there, and basically import whatever data I can to preserve the lineage of the project. Obviously a lot of it is very deprecated, but there's still some info in here that is useful. It's a lot better to just port it all over to a sheet so it can be accessed and updated anywhere at any time and have actual version control. (it's also sort of spooky but cool to see assignments and names from a decade almost to the day on it).

Yeah it's old, it would be nice to update it at some point.

39 minutes ago, Samulis said:

I did notice the looping ambiance is coming from day_temperate_gen_03.ogg, I believe. I couldn't find any SoundGroup associated with it to apply new sound files, and the only one in there ('day_temperate.xml') appears unused atm.

Yeah it's called in the JavaScript code, Maybe @elexis know why it's called there

https://github.com/0ad/0ad/search?q=day_temperate_gen_03&unscoped_q=day_temperate_gen_03

 

  • Like 1

Share this post


Link to post
Share on other sites
18 minutes ago, stanislas69 said:

As much as possible we should avoid any capitalization; This is because versioning systems might go havoc on platforms where the files are not case sensitive (e.g. Windows) Also the game sometimes ignores it, and sometimes it doesn't, and that changes across platforms. So as much as possible we should not have caps.

That's not a problem, certainly. I personally do think avoiding underscores within arguments is a good idea if we can help it, though- hence the hyphen idea, although if that too is impractical, then underscores it shall be.

18 minutes ago, stanislas69 said:

The 'v' might suggest that it's the third version of it instead of the third variation, maybe we can find something better.

In the sampling world, we call them 'Round Robins' or 'Random Robins' because of how the engine cycles between them, thus using the designation "rr[RR]". I figured that name wouldn't make as much sense here since we're not making a virtual instrument, but it's a possible alternative. Another idea might be 'm' for 'multisample', or another thing we sometimes do, which is to leave one argument without any prefix and simply standardize it as having none (i.e.. just do '_[variation]' at the end, sort of like how it is now, except it won't have intensity right next to it).

23 minutes ago, stanislas69 said:

Keep in mind that changing the sound name schema, which is a good thing, will break every mod that uses them. So we should get a consensus with the biggest mods around here, some of which I manage, and some others like Delenda Est from @wowgetoffyourcellphone.

Good point! We could make it something going forward and leave any existing sounds in and just build the new sounds in a new standard around it, eventually deprecating the old stuff. Probably about half of all the sounds in there right now will get replaced or tweaked at some point anyway. If we're going to be separating out the SoundGroups and audio files into separate branching directories and doing a lot of updates anyway, I could even just build it all in a new /sfx/ directory inside the /audio/ folder separate from the existing one.

33 minutes ago, stanislas69 said:

I thought we had something for that,  but apparently it was never finished/committed https://trac.wildfiregames.com/ticket/3578

That would be cool, but I'm not sure how exactly they plan to integrate that with the SoundGroups, especially if there are variable numbers of sounds in each as there are now.

Currently it's just all the voice files of the same line put together random cycling, but not every line has the same number of voice actors. My thought is each line for each voice talent would need its own XML file (hence the opportunity for multiple deliveries or variations of the same line making it into the game), and each voice talent would have a type number in their files (e.g. civ-male-march_t1.xml). If my understanding of the implementation is correct, these xml files are then used in the entity templates and assigned to actions/triggers; if we organized it right, to implement, all one would need to do is make sure the 't' value they typed in their entity file is identical and that the number they typed is the voice they want for that unit.

46 minutes ago, stanislas69 said:

Yeah it's old, it would be nice to update it at some point.

At this point, it seems like more of a salvage operation/archaeological dig than an update. So much has changed since the doc was last updated; whole categories of sounds have been moved, changed, or deleted, empires risen and fallen, languages born and forgotten, etc... :wacko:

Share this post


Link to post
Share on other sites
4 minutes ago, Samulis said:

That's not a problem, certainly. I personally do think avoiding underscores within arguments is a good idea if we can help it, though- hence the hyphen idea, although if that too is impractical, then underscores it shall be.

Please use `snake_case`; most content in the 0 A.D. folder already does; consistency matters; and getting files renamed after they're committed is cumbersome.

Share this post


Link to post
Share on other sites
27 minutes ago, Samulis said:

At this point, it seems like more of a salvage operation/archaeological dig than an update. So much has changed since the doc was last updated; whole categories of sounds have been moved, changed, or deleted, empires risen and fallen, languages born and forgotten, etc... :wacko:

Yeah. But it should be done for th people coming after us.

27 minutes ago, Samulis said:

That would be cool, but I'm not sure how exactly they plan to integrate that with the SoundGroups, especially if there are variable numbers of sounds in each as there are now.

The soundgroups sounds are chosen using a generic random method. Make it reproductible ie by always giving the same output for say a specific entity id and you'll get unit specific sounds.

29 minutes ago, Samulis said:

In the sampling world, we call them 'Round Robins' or 'Random Robins' because of how the engine cycles between them, thus using the designation "rr[RR]". I figured that name wouldn't make as much sense here since we're not making a virtual instrument, but it's a possible alternative. Another idea might be 'm' for 'multisample', or another thing we sometimes do, which is to leave one argument without any prefix and simply standardize it as having none (i.e.. just do '_[variation]' at the end, sort of like how it is now, except it won't have intensity right next to it).

Yeah maybe the last option i don't know.

Share this post


Link to post
Share on other sites
1 hour ago, Nescio said:

Please use `snake_case`; most content in the 0 A.D. folder already does; consistency matters; and getting files renamed after they're committed is cumbersome.

Hey, thanks for the post! If that is the consensus, then that is what it is. I am just here to help make things happen- I put in my thoughts and professional advice, we all figure out where we want to go from there. I am happy to use whatever standard; I just wanted to propose a few options I have used in the past to get the ball rolling.

How about this-

[file_name][type]_[intensity]_[variation].ogg

death_horse1_1_3.ogg   //if there are multiple types of horses
(or)
death_horse_1_3.ogg    //if there is only one type of horse

The type > Intensity > Variation hierarchy is pretty semantic, we can probably get away without using indicator characters so long as it is documented clearly and all (new) sounds conform to the standard. It's semantically the same as the old format too, it just has an underscore to separate the intensity and variation terms, and type is really an optional part of file_name for future-proofing.

It's basically what we have already, just with an extra underscore and an optional extra character.

 

As an aside, no offense meant, but after spending even just a few days digging through these audio files, "consistency matters" is just about the most ironic thing one could say about the naming/organization of the audio files in my opinion. I completely doubt this was intentional, nor do I cast or even consider casting blame on anyone, just, in the natural way these sorts of communal efforts always go, it seems like after the last sound lead left, people just threw some of these audio files in whatever folder they thought was best with words in whatever order made sense to add their new feature to the game. I know if I have to spend the next several years trying to figure out if it's "death_horse_10.ogg" in /actor/fauna/animal/ or "horse_death_1.ogg" in /actor/fauna/death/ that I'm looking for, I will probably go insane, and I sincerely don't know about the next person who comes along. :blush:

Besides, if we're going to be doing all the reorganizing, replacing, and new sound recording that's been discussed so far, we're going to be mostly looking at additions over the next few years, especially if we factor in the current amount of sounds still missing.

That's why we need to affirm or update our naming convention for sound files before I can get to implementing sounds or, if it is decided, restructuring to fix/document all these inconsistencies so if someone else comes on board to work on sound in the future, they don't have to spend a week digging through the sound files and opening half the XML files in the entire project just to figure out what is actually connected to what.

1 hour ago, stanislas69 said:

The soundgroups sounds are chosen using a generic random method. Make it reproductible ie by always giving the same output for say a specific entity id and you'll get unit specific sounds.

I re-read the patch record and that makes sense now, thanks. Thinking about it more, I think we can make this work quite well if we can get it implemented, although if it is at all possible anyone would ever want to implement variations/multiple takes of each line per voice in the future, that might cause some trouble.

I think we also should consider standardizing (as I have alluded to above) whether it should be [action]_[object], or [object]_[action] for the name of the file in the actor and voice folders. I think [action]_[object] is my preference since most folders are actions and most of the resources and much of the actor folders already are that way (the voice folder is a major exception), but I don't care either way, we just need to make it consistent, I think.

Edited by Samulis
clarifying.

Share this post


Link to post
Share on other sites
On 6/21/2018 at 2:09 PM, Samulis said:

As an aside, no offense meant, but after spending even just a few days digging through these audio files, "consistency matters" is just about the most ironic thing one could say about the naming/organization of the audio files in my opinion. I completely doubt this was intentional, nor do I cast or even consider casting blame on anyone, just, in the natural way these sorts of communal efforts always go, it seems like after the last sound lead left, people just threw some of these audio files in whatever folder they thought was best with words in whatever order made sense to add their new feature to the game. I know if I have to spend the next several years trying to figure out if it's "death_horse_10.ogg" in /actor/fauna/animal/ or "horse_death_1.ogg" in /actor/fauna/death/ that I'm looking for, I will probably go insane, and I sincerely don't know about the next person who comes along. :blush:

Well I consider it important, and the coding guys as well. Most of the artist who came along had probably no experience with SVN/Git whatsoever, so they just dumped everything in the folder and made it work. I guess nobody also had in mind that the game would still be in development 18 years later :P

If we can make it work nicely, while writing somewhere how things should be and why it was decided so (For sometimes decisions are not always obvious to newcomers) that would be a great progress IMHO.

If you haven't already read it there is a naming convention section there: https://trac.wildfiregames.com/wiki/ArtDesignDocument

On 6/21/2018 at 2:09 PM, Samulis said:

That's why we need to affirm or update our naming convention for sound files before I can get to implementing sounds or, if it is decided, restructuring to fix/document all these inconsistencies so if someone else comes on board to work on sound in the future, they don't have to spend a week digging through the sound files and opening half the XML files in the entire project just to figure out what is actually connected to what.

Yeah that sounds good, and nothing prevents you from recording sounds in the process which is nice. Like if we don't end up renaming stuff, we will still have the sounds. I guess the naming convention final decision will go to @Itms @OmriLahav @LordGood

On 6/21/2018 at 2:09 PM, Samulis said:

I re-read the patch record and that makes sense now, thanks. Thinking about it more, I think we can make this work quite well if we can get it implemented, although if it is at all possible anyone would ever want to implement variations/multiple takes of each line per voice in the future, that might cause some trouble.

Well it's cosmetic anyway so I don't think it really matters.

On 6/21/2018 at 2:09 PM, Samulis said:

I think we also should consider standardizing (as I have alluded to above) whether it should be [action]_[object], or [object]_[action] for the name of the file in the actor and voice folders. I think [action]_[object] is my preference since most folders are actions and most of the resources and much of the actor folders already are that way (the voice folder is a major exception), but I don't care either way, we just need to make it consistent, I think.

That would have to be decided too. Just an idea, maybe we could make a small paragraph describing the naming convention on a google doc, and let everyone that wants put its grain of salt. (Not that I think there will be a queue doing so but it'd be nice to have it collaborative)

EDIT: Fixed tags

@Samulis If you make the script, make sure to share it with us :)

Share this post


Link to post
Share on other sites

Hi All, just a quick update.

I've spent the last week doing some field recording (forests, streams & rivers, waterfalls, weapons, etc.) while on holiday here in New England. I even managed to track down some chickens and some draft horses to record! I now have about 5 GB of audio to ingest, clean up, and cut up, which should keep me busy for a few weeks/months. I also have plans to go and get some new shore sounds hopefully around the end of the month too.

Obviously this will be a slow, ongoing recording project, but I just figured I'd let you know what I've been up to so you don't think I just ran off. As I get things cut up and processed, I'd like to figure out a way to share them with you all before integrating them into the game. It's a bit too many files to upload individually to a site like Instaudio, so I was thinking about putting them in a dropbox.

Here are a few environments that I can't gather myself without great personal expense-

  • Desert
  • Jungle
  • Mediterranean

If someone who lives in one of those climates is interested in the task (it requires being in or going to a rural enough location where you can find a spot without audible automobile traffic), I am happy to provide instructions and suggest very affordable equipment that can do the job well enough.

  • Like 7

Share this post


Link to post
Share on other sites
On 6/21/2018 at 1:09 PM, Samulis said:

How about this-


[file_name][type]_[intensity]_[variation].ogg

death_horse1_1_3.ogg   //if there are multiple types of horses
(or)
death_horse_1_3.ogg    //if there is only one type of horse

I think you should stick to the first naming convention in all cases - somebody might come along in the future and add a second variant, and then you'd have to rename death_horse_1_3.ogg to death_horse1_1_3.

We should also consider death_horse_1_1_3.ogg as a convention - it adds 1 more character to the filename, but I think the number would be easier to see.

Great to see somebody working on sounds! :)

  • Like 2

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

×