Sound Generator - Create or modify any audio

Sound Generator for Unity
View on the Asset Store

Website

Full support for Unity as well as Unity Pro on all platforms.

Sound Generator by DarkArts Studios is a software audio synthesiser for Unity. Using Sound Generator you will be able to create your own sounds for your games or even manipulate existing sound files using the Sound Generator filters to create fresh and different sounds based on your originals.

1479993--81901--$sg1.png

Features

  • Create your own sounds for your game within the Unity Editor.

  • Easy and intuitive interface, you don’t have to be a sound engineer to create sound.

  • 100% procedurally generated audio:

  • Near zero size overhead for each sound effect, your games will be smaller.

  • No stored audio, no WAV files, no OGGs, no MP3s and no MP3 licences fees.

  • Open Architecture:

  • Create your own modules.

  • Generate new sound effects even at runtime, in-game.

  • Supports C# and UnityScript(JavaScript).

  • Zero runtime performance impact, sounds are pre-generated during scene load, from then onwards you’re simply using Unity AudioClips.

  • Easily export any generated sounds to WAV files for use anywhere else.

  • Create sound prefabs for (re)use as template sounds or filters within other Sound Generator compositions.

1479993--81903--$sg2.png

For a basic introduction to Sound Generator, here’s a short Video:

If you would like to see the demo scenes that ship with Sound Generator running live, simply follow these links:

1479993--81900--$darkart-banner.png

Several customers asked me for an example on how to generate audio at run-time. Since Sound Generator currently does not have an example scene showing this, I have created another example scene named “Bouncing Balls” which generates audio for each ball, slightly differently, at run-time with each mouse click.

This example scene can be viewed live as a WebPlayer demo here:
http://bit.ly/1m1sK3A

After someone asked to see a JavaScript example, I realised that Sound Generator currently didn’t have enough JavaScript examples, so I created a very simple one, one which shows how to monitor background Sound Generation and then simply triggers two Audio events when you move your mouse over two objects.This is probably the smallest of the existing example scenes, but I think fills two voids Sound Generator’s example scenes had:

  • A nice clear JavaScript example
  • A small, simple example without too much other “clutter”.

You can try it out online in a Web Player demo. It will of course also be added and bundled with the next Sound Generator release. If you have already purchased Sound Generator and don’t want to have to wait for the next update, feel free to send me a request and I’ll give it to you right away.

1487638--82855--$sg-PlayOnMouseEnter.png

This was probably the most fun I’ve had creating an example scene, by request.

It’s a “quick and easy” Theramin example (in JavaScript). The entire script, using Sound Generator, is only 34 lines of code.

You can try the live Web Player demo here: http://bit.ly/1jcWUDU

1488575--82982--$sg_theramin.png

Hi,
is this Asset only for pre-generation of sounds or is it possible to change the different paramters like frequence, phase,envelope… at runtime via script?

Hi,

Sound Generator supports both pre-generation runtime generation or updating.
The demo scene posted above with the bouncing balls, is happening at runtime. The base Sound Generator Composition is a prefab, who’s attributes are altered and copied each time you “click” to create a new ball with each instance of ball having it’s own runtime generated sound.

To everyone taking advantage of the 50% off February Madness sale:

My latest update has not yet gone through the Unity Asset Store approval process so if you’d like the example scenes posted above (the ones not yet included in the core package until the next update) feel free to send a message, with your purchase invoice number, to support@darkarts.co.za and I’ll send you the scenes.

Hi,

Does this work on mobile platforms, and what kind of performance does it have there?

Does the generator have pulse width modulation?

Do you provide any way to sequence multiple sounds together to make music?

Thanks.

Hi uniphonic,

The basis of Sound Generator (it’s primary use-case) is scene-load pre-generation of audio. It definitely works on mobile platforms it does nothing at all which is “centric” to a specific platform and uses Unity’s existing cross-platform infrastructure to build on. Performance on any platform at normal runtime will have zero impact at all, it will behave, and use, the same amount of resources as if you had an mp3 or ogg playing since it pre-generates to standard Unity AudioClips which you can then trigger and play as if they were standard sounds loaded off disk.

The generator can produce pulse width modulation by using it’s “Delay” filter which in turn you can feed with an Envelope set to the modulation required. You can also create, through code, your own modules (examples of doing so are included) and you could create, for yourself, a very specific modulator should you wish to do so.

Music is currently very loosely supported (within the Editor Extension). It’s difficult to do visually right now, there are plans to include Music modules which I will include in an update in the near future. It’s very possible to create music programatically right now, however that’s not as intuitive or very nice. the visual music syntheses modules will come a bit later and it’s definitely on the roadmap since I require this for my own game(s).

Is it possible to use this in Unity 4.1.5f ?

Hi nasos_333,

Sound Generator was created and packaged using Unity 4.3

I downloaded Unity 4.1.0f4 quickly and installed Sound Generator to test it for you.

It would seem that Sound Generator itself works fine, however the example scenes included with it have problems with their materials. They are playable, and work, but material association is broken and they look strange even if they are, in other senses “working”.

Functionally, Sound Generator is fine and works on 4.1, it’s just the example scene materials that seem to have issues.

Thanks for testing it out :), i will buy the asset, i dont mind the material issue at all

Is it easy to create all sort of sound effects, like sword clashes/swings, vase breaks, spell / fire, water waves etc sounds etc with this ? Or you recommend i should also use some extra library as starting point ?

EDIT: Bought it, also sent an email with the invoice for the demo scenes

Hi Nasos_333,

I received your email and sent the other scenes to you.

Some sounds are easier to create than others. Right from the start you’ll be able to create simpler sounds I’ve made that as easy as possible. What I will be doing, since several people have asked, is over the course of time I’ll make some youtube videos on how to make different types of sound. Each update I’ve been trying to make it simpler to create more complex sounds. For example: The current update I’m still working on and testing makes it much easier to create gunshots, explosions and similar. It will also have the side-effect of being able to make coastal or ocean wave sounds very much easier.

I’ll be focusing, my videos, on requests from users so I’ll be sure to keep your list here in mind when I plan this video series.

Can I create fake human voice like Okami game with Sound Generator?

Hi dadachi,

Something like that could definitely be achieved, however it would require (currently) quite a bit of effort coding into the Sound Generator API or an incredibly elaborate visual composition. I can see quite a few use cases for something like this and similar though, so I’m going to give this some thought. Perhaps I could extend Sound Generator to make stringing together sounds like this to fake conversations or streams of sounds simpler. I think this will tie in with another feature that’s already on my road-map: Music – since, just like music, it’s various sounds in sequence. Music support is planned for the near future but not the very next update (which focuses on frequency spectrum filters and support).

Just like Music (currently) it’s possible, but the easiest way would be to generate each vocalisation (each sound a human could make) separately. You could make, for example, an “ooo” sound, and “ahhh” sound and a “mmmm” sound but your code would have to sequence them together to make a full “conversation”. In the future I’ll better support stringing together, sequencing, of generated sounds.

Hi there!

Just one question, can i feed it an existing sound and transform it? or do i really need to create it from scratch?

Hi Kebrus,

One of the “Modules” that comes with Sound Generator is an “AudioClip Module” into which you can drag and drop any existing Unity compatible sound (wav,ogg,mp3 etc) and use it in the Sound Generator compositions as you would any other procedurally generated sound. You’re not limited or forced to use pure synthesis, you can mix and match as you like.

hi your work looks interesting. I’d like to know if it were possible to;

  1. expose the parameters of each module such they can be remapped/scaled based on input values.For example, ability to interpolate between two envelope presets i would find useful.
  2. Is there a pulse module that could be used to drive signals?
  3. Are you looking to add maybe a harmonics module? certainly to add some richness to sounds.

thanks

Hi Tonmeister,

All the modules and filters have no restrictions and expose everything they use, both visually and from the code. To interpolate between two envelope presets you could simply push them through a mixer before applying them elsewhere something like this (please note the blue spectrum analysis behind each sound wave as well as the “loop” function on the output are new features I’m testing for the next release and won’t be in your current package):

To expand on the previous example and extend it to “pan” from one envelope to the other over time you could do something like this:

There are actually multiple ways of doing this. Probably the fastest would be to use an envelope (which is actually an animation curve) then you could “draw” your own pulses, feed them through a frequency setter (for pulse speed) and then into any filter, like amplitude(volume).

Another way to accomplish this would be coding your own pulse module to get exactly the desired effect you’d like. They’re very simple to do and the package comes with two c# examples and two javascript examples.

I could do this, that’s actually a really great idea! Thank you! I’ll add it to my list of modules I’m adding in the next update.

Tonmeister,

Harmonics have been added and will be included in the next update.

If you’d like to listen to a generated example, you can do so here.

The above, linked, sound looks like this within Sound Generator