From a3a6c7257766495751e9f0b1239a7a31acb227e1 Mon Sep 17 00:00:00 2001 From: Paul Kaplan <pkaplan@media.mit.edu> Date: Wed, 9 Aug 2017 13:35:00 -0400 Subject: [PATCH] Adjust sound effects to playtest levels --- src/lib/audio/audio-effects.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/lib/audio/audio-effects.js b/src/lib/audio/audio-effects.js index 683568b69..b7ba65cb2 100644 --- a/src/lib/audio/audio-effects.js +++ b/src/lib/audio/audio-effects.js @@ -19,6 +19,7 @@ class AudioEffects { constructor (buffer, name) { // Some effects will modify the playback rate and/or number of samples. // Need to precompute those values to create the offline audio context. + const pitchRatio = Math.pow(2, 4 / 12); // A major third let sampleCount = buffer.length; let playbackRate = 1; switch (name) { @@ -26,11 +27,11 @@ class AudioEffects { sampleCount = buffer.length + 0.25 * 3 * buffer.sampleRate; break; case effectTypes.FASTER: - playbackRate = 1.5; + playbackRate = pitchRatio; sampleCount = Math.floor(buffer.length / playbackRate); break; case effectTypes.SLOWER: - playbackRate = 0.5; + playbackRate = 1 / pitchRatio; sampleCount = Math.floor(buffer.length / playbackRate); break; case effectTypes.REVERSE: @@ -51,10 +52,10 @@ class AudioEffects { let output; switch (this.name) { case effectTypes.LOUDER: - ({input, output} = new VolumeEffect(this.audioContext, 1.5)); + ({input, output} = new VolumeEffect(this.audioContext, 1.25)); break; case effectTypes.SOFTER: - ({input, output} = new VolumeEffect(this.audioContext, 0.5)); + ({input, output} = new VolumeEffect(this.audioContext, 0.75)); break; case effectTypes.ECHO: ({input, output} = new EchoEffect(this.audioContext, 0.25)); -- GitLab