Don't Miss Out

Follow us now so you don't miss new releases!

Construct 2 Release r121

There is a more up to date Stable Release! Download the latest Stable release instead here.

108.9 mb, Windows 8/Windows 7/Vista/XP

Tuesday, March 5, 2013

New this build: new audio features, including effects! As well as some long-overdue new audio features like pausing and resuming, we've also introduced a whole set of effects. Here's a demo of some of them. They can be great for atmospheric or environmental effects to add a whole new depth to your game, and others are just cool for creative use. These depend on the Web Audio API being supported by the browser. Currently it's only supported in Chrome (for desktop), node-webkit (on all platforms, since it's based on Chromium) and iOS 6+. Firefox are also actively working on it and hopefully Chrome for Android will add support soon too. In future you can check quickly for Web Audio API support using ScirraMark, a page we've set up to score the browser based on HTML5 gaming features it supports.

Advanced audio

The advanced audio features involve adding effects and also the option of audio analysers (to get real-time frequency domain information). The actions will only work if the Advanced audio supported condition in the Audio object is true, since the condition checks for Web Audio API support. Multiple effects can be added to individual tags. Audio and signal processing are complex topics, and having prior experience in audio will allow you to make the most of these new features, but in summary the supported effects are:

  • Analyser: doesn't change the audio, but can report back frequency domain data
  • Compressor: automatically boost or reduce volume to even out the overall volume level
  • Convolution: an advanced effect using another sound as an impulse response to process the audio. This allows for real-world locations to be recorded and the environmental sound used in your games!
  • Delay: a feedback loop with a delay, making a sort of simple echo effect.
  • Filter: boost or reduce certain frequencies, such as a low-pass filter (which cuts out high frequencies). Useful for simple atmospherics, treble/bass adjustment, etc.
  • Flanger: delays the sound by a few milliseconds then mixes it back in with itself. By oscillating the delay time a strange sweeping effect is created
  • Gain: a simple volume control, which might be useful in longer effect chains
  • Phaser: phase-shifts the sound then mixes it back in with itself. By oscillating the phase shift another sweeping effect is created
  • Tremolo: automatically oscillates the volume up and down, better known as amplitude modulation. Some interesting amplitude modulation effects can be created by moving the modulation frequency in to the audible range (above 20 Hz).

If advanced audio is not supported, adding effects will do nothing, so you'll just hear unprocessed audio. That means you can easily add all sorts of environmental effects, and if advanced audio is not supported the user will simply hear the unprocessed audio.

The convolution effect is especially interesting, but it requires some technical knowledge and professional equipment to properly record impulse responses. There may be libraries of pre-recorded impulse responses available somewhere, but I haven't checked. Still, the possibilities it opens for immersive audio in games is exciting!

These new features will require a fair bit of documentation, which as usual will come around the next stable release. However I might write a blog post going in to more detail, since it's a subject I'm personally very interested in, and some deeper explanation of the effects involved could be useful.

The Audio object is very complicated since it supports four separate audio engines (audio element, Web Audio API, PhoneGap media and appMobi (Intel?) sound), and the new features have made it even more so. Much of the Audio code has been revised, so please listen out for any new bugs, issues or differences, especially between different platforms.



Audio: effects system, including analysing audio frequency data


Two new audio examples in the Start dialog: 'Audio analyser' and 'Audio effects'


Audio: actions 'Set paused', 'Seek'


Audio: Duration, PlaybackTime and Volume expressions (to get information from currently playing sounds)


Audio: 'Set master volume' action, 'MasterVolume' expression


Audio: 'Is silent', 'Is any playing', 'Is tag playing' conditions


Exporting with PNG recompression set to 'None' now ignores any images set to PNG-8 and still exports them as PNG-32. It also skips some memory optimisation processing. Overall export times should now be semi-instant with this option, but don't use it for real production releases, since it skips a lot of very useful optimisations.


Possibly breaking change: Sin behavior now updates position just before the events run, rather than just after. This allows for objects using set position to follow without lag. However this means events can now override the position which could cause existing projects to work differently. Please watch out for anything breaking.


Possibly breaking change: Platform behavior now should follow moving platforms using the Sine behavior without any lag. However since the sequence it runs has changed, it may also cause existing projects to work differently; please watch out for anything breaking.


SCML importer: updated to support some upcoming Spriter features

Bug Fix

Audio: no longer restarts sound effects when switching back to the tab in Chrome (sounds resume from where they left off)

Bug Fix

Possible issue with suspending and resuming on CocoonJS

Bug Fix

Platform: possible issue cutting jumps short when jumping up on to platforms

Bug Fix

9-patch: javascript error when some patches had zero size

Bug Fix

Deleting an event sheet with global variables did not always remove all references to the global variable

Bug Fix

Browser 'Vibrate' action may not have always worked. It now definitely works on Firefox for Android and CocoonJS.

Bug Fix

Constant expressions evaluating to NaN or infinity could cause javascript errors

Bug Fix

Possible strange results using a Bullet family behavior with other behaviors

Bug Fix

Possible issue with viewport being incorrect for first tick in scaling fullscreen modes


EnglishAcorn 16.9k rep

Great work guys.

Tuesday, March 5, 2013 at 7:12:49 PM
mltreadway 6,214 rep

Once again, AWESOME!!!

Tuesday, March 5, 2013 at 7:15:10 PM
labithiotis 5,039 rep

Can't wait to play with audio features after your demoing of it.

Tuesday, March 5, 2013 at 7:15:36 PM
CrudeMik 7,917 rep

Amazing! Really good work!

Tuesday, March 5, 2013 at 7:16:25 PM
NotionGames 14.4k rep

love it. always great to see a new release

Tuesday, March 5, 2013 at 7:17:29 PM
Squid 6,075 rep

Bug squishing time.

Tuesday, March 5, 2013 at 7:20:48 PM
edisone 18.4k rep

supergood !!! ^^

Tuesday, March 5, 2013 at 7:23:30 PM
mmoDust 3,987 rep

Yay for audio effects I was looking for some last month.
Boo for IE10 not supporting them which means Windows 8 Apps will not as well =(

Tuesday, March 5, 2013 at 7:26:03 PM
danny 6,018 rep

Thanks guys.

Tuesday, March 5, 2013 at 7:29:54 PM
Animate 12.6k rep

Awesome work. The Audio Pause feature will be a time saver. Will start testing the Audio Effects...

Tuesday, March 5, 2013 at 7:35:03 PM
WilB 4,322 rep

Thank you so much! As always amazing work!

Tuesday, March 5, 2013 at 7:36:55 PM
facecjf 8,004 rep

Thanks guys! This update looks SWEET!

Tuesday, March 5, 2013 at 7:44:32 PM
Paradox 42.1k rep


Tuesday, March 5, 2013 at 7:45:24 PM
sdemch 1,521 rep

Cool! Keep going! In C2 we trust ;)

Tuesday, March 5, 2013 at 7:47:53 PM
czar 6,598 rep

Nice update!

Tuesday, March 5, 2013 at 7:55:42 PM

Leave a comment

Everyone is welcome to leave their thoughts! Register a new account or login.