stop_voice(fadeDuration) {
    if (this._voice != null) {
      if (fadeDuration == null) { fadeDuration = CONFIG.VOICE_CROSSFADE_DURATION; }
      const audio = this._voice;
      this._voice_stopping.push(audio);
      this._voice = null;
      return this._stop(audio, fadeDuration).then(() => { this._voice_stopping = _.without(this._voice_stopping, audio); });
    }
    return Promise.resolve();
  }
Stops the currently playing voice and returns a promise that resolves when the voice is faded in/out.
@param [fadeDuration=0]
@returns {Promise}