Skip to content

2.17.0

Choose a tag to compare

@kpchoy kpchoy released this 01 Dec 20:31
· 68 commits to master since this release

2.17.0 (December 1, 2025)

New Features

Remote Audio Processor APIs

In version 2.9.0, the SDK introduced the Audio Processor APIs, allowing access to raw audio input and enabling modifications to audio data before it is sent to Twilio. This release also extends similar capabilities to remote audio streams, giving developers the ability to modify audio before it is played on the speaker.

With these enhancements, a range of client-side audio use cases can now be implemented more easily, including:

  • Background noise removal using any noise cancellation library of your choice
  • Custom audio filters
  • AI-powered audio classification
  • ...and much more!

Please visit this page for more details about the Audio Processor APIs.

Example

import { AudioProcessor, Device } from '@twilio/voice-sdk';

class OutputAudioProcessor implements AudioProcessor {
  async createProcessedStream(stream: MediaStream): Promise<MediaStream> {
    // Implementation 
  }

  async destroyProcessedStream(stream: MediaStream): Promise<void> {
    // Cleanup
  }
}

const processor = new OutputAudioProcessor();
const device = new Device(token, options);

// Pass “true” as second argument to apply processor to remote output audio stream
await device.audio.addProcessor(processor, true);
// To remove it later:
// device.audio.removeProcessor(processor, true);