start() {
    navigator.mediaDevices
      .getUserMedia({
        audio: { deviceId: { exact: this.audioInDeviceId } },
        video: false,
      })
      .then((rawStream) => {
        this.rawStream = rawStream;
        this.stream = this.audioContext.createMediaStreamSource(this.rawStream);

        this.audioProcessor = this.audioContext.createScriptProcessor(this.bufferSize, 1, 1);

        this.audioProcessor.onaudioprocess = (event) => {
          this.onAudioProcess(event);
        };

        this.stream.connect(this.audioProcessor);
        this.audioProcessor.connect(this.audioContext.destination);
        this.emit('ready');
      });

    this.emit('mic-started');
  }
Opens & initializes the Microphone stream from the browser.