Making a Game Part 10. Audio


It's now time to tell you about the part of Pyatigor's Tale game in which none of us had professional skills or even significant work experience. Thus, we want to introduce you to an article about the process of game voicing, written in "as is" style.

Main character voicing process.


Most of the work on recording, preparing and correcting audio files was done with the help of the very easy-to-learn tool called Audacity, which is free and open source software.

Example of sound editing with Audacity.

You can divide sounds presented on the scene into three parts:

  • Sounds coming from the character. They are not only screams and wheezes, but also hits, sword swings, etc;
  • Environment sounds such as a volcano hum and music;
  • Special sounds. For example, sounds of crystal breaking or a victory sound.

In Blend4Web - just as in Blender - sounds are added with the help of Speaker objects. Blend4Web supports all native Blender settings. Also, there are some specific engine settings which are described in the user manual.

Speaker Objects

The principle of placing speakers is very simple. All character sounds are placed in the file with the character's geometry and material then added to the common group.

Character with it's speakers around the model.

Positional Sound is set as a speaker type for all sounds surrounding the character.

Example of environment sound and music speaker positioning.

Background music sounds and sounds of the environment are placed in the file of the scene which they will be played in. They have Background Music and Environment Sound types accordingly.

All the rest of the speakers are placed on the same logic: golem's sounds with the golem's geometry, rock-crushing sounds with the rock's geometry, etc.

Where to Get Audio Files?

The most interesting part is where the whole variety of sounds came from.

We had two sources which we were taking sound samples from in the process of voicing. The first one is the purchased library with a number of prepared sound samples, the second - sound samples recorded with the help of a microphone and improvised means.

Naturally, it's difficult to find suitable files out of the box. So, to achieve the required result it was often needed to combine different samples which didn't sound similar to each other. And with the help of different manipulations on them using Audacity to bring them to the desired sound.

It can be seen more clearly with the following sound track.

Golem's Walk

The sound of golem's walk can be called a typical complex combined sound. Firstly, golem is a very heavy and massive creature which slowly waddles with all its body mass. And secondly, it's just a pile of stones combined in some magic way. All these had to be expressed in sound!

Golem and its speakers.

This small sound segment, consisting of someone's shuffling in the sand, was used as the base of the golem's walking sound:

Of course, the golem wouldn't make a sound like this while moving on such a surface. That's why we needed to add some additional effects:

Impact of a blunt object on the ground will add heaviness to the golem's stomp:

"Living stones" would create friction between each other while golem is walking, so a sound of stones grinding was added between the steps.

Example of combined sound of golem's walking in Audacity.

Combining it all in Audacity in the required order and correcting the volume of every sample gives us this walking sound:

Useful Filters

Sometimes, it wasn't enough to just combine different samples into one to achieve the required effect. The sounds of some samples were also changed. Let's consider the filters which were used in the preparation of the sound tracks.

Window with the Normalize effect settings.

The most commonly used effect - more likely, not the effect, but the necessity - is sound normalization. Normalization produces the alignment of volume so that all the scene sounds will have equal amplitude on the same volume settings. This allows us to set up the sounds in relation to each other on the stage of Blender speaker customization.

It makes no sense to show the places where normalization was used because the sounds were affected by normalization everywhere.

Window with the Equalization effect settings.

Equalization - is one of the ways to change the frequency characteristics of the sound track. For example, it was used when there was the necessity to increase only low or high frequencies of the sound file.

Window with the Change Pitch effect settings.

Change Pitch is a good effect for quick customization of the whole sound file tone. Its work with specific examples can be seen a bit lower in the section on creating characters speech.

Window with the Change Speed effect settings.

Speed changing allows us to increase or decrease sound velocity. Accordingly, this changes its tone a bit. For example, this effect was used for golem's walk sound effect in order to synchronize armature animation with the sound.

Window with the Noise Removal effect settings.

And a very useful Noise Removal effect which allows us to remove extraneous noise on the record. After pressing Get Noise Profile, it is required to identify the part of the record which has only noise in it (for example, in a gap between speeches), and the program will remove all noises similar to the one in this gap from the whole audio file.

Character's Shouting

It is not possible to find everything in the sound library, and we wanted to move away from ready-made solutions and to make something from scratch. Thus, it was decided to record the voice of the character by ourselves.

Recording main character speech.

We have used the following equipment for recording:

  • USB 2.0 audio interface Focusrite Scarlett 6i6;
  • Microphone Rode NTG-1;
  • Operating system Ubuntu Linux;
  • Software Audacity.

After a short "casting" and choosing whose voice suites better for this, we started recording.

A number of test recordings in Audacity.

The process of recording the character's speech was done in the following order. First, Evgeny Rodygin (developer of the programming part of the Pyatigor's Tale. His voice we thought best suited for this) spoke several variants of phrases on the given topic. For example, on the characters attack:

This is an example of recording several variants of character's shouting during the sword attack in a row. It is given without processing and with the noises as is. Further, we have chosen the three most suitable variants, and the others were deleted:

With the help of the Noise Removal effect the background noise was removed:

In order to make the voice more youthful with the help of the Change Pitch effect it was changed to 4 semitones higher than the original.

Changing the main character's voice with the Change Pitch effect.

As a result, we got a bit of a comical voice for the young fellow:

All the rest of the speech samples were made based on the same principle.

Golem's Get-Out

The most difficult combination of different sounds is the audio track of golem's getting out. The hardest part was to synchronize separate sound fragments with golem's animation.

Building a sound track of the golem's getting out of the lava process in Blender.

Blender sequence editor was used for this. All sounds were placed in it in the right order and were edited in Audacity if needed.

The Audio button in the Render section allows us to assemble just the sound track by itself.

All that is left to do is to combine it all into one solid file by pressing Audio in the Render section:

Thus, we've got a pretty complex structured audio file with sounds being synchronized with actions performed by the golem.


That's all. This is the last tutorial from the series of articles on creating audio-visual content for the first level of the Pyatigor's Tale game. The next lessons will be devoted to the programming - the part which is never seen by the end user but without which the set of all these textures, geometry and sounds will just stay a set of textures, geometry and sounds.

Screenshot from Pyatigor's Tale game.

Launch the game!

The source files are included in the free Blend4Web SDK.

As always you can leave your comments about the article on our forum in this post.


[2015-03-19] Initial release.

19 mar. 2015 12:15
A posts about the arcticle on another forums.
Please register or log in to leave a reply.