1.0.4 • Published 2 months ago

rtc-voice-changer v1.0.4

Weekly downloads
-
License
ISC
Repository
github
Last release
2 months ago

The RTCVoiceChanger plugin can be used in conjunction with the TRTC Web SDK to change the voice on TRTC calls.

NPM version NPM downloads Documents

English | 简体中文

Introduction

rtc-voice-changer is used to change the voice of TRTC's audio and video calls.

Prerequisites

TRTC monthly subscription Premium and higher is required to use this plugin.

Supported browsers: Chrome 66+, Edge 79+, Safari 14.1+, Firefox 76+.

For better use of rtc-voice-changer, it is recommended that you use the latest version of Chrome.

Installation

npm install rtc-voice-changer

Feature Description

Step 1. Initialize RTCVoiceChanger

import RTCVoiceChanger from 'rtc-voice-changer';
const voiceChanger = new RTCVoiceChanger();

Step 2. Create a processor instance to process audio and video streams

A processor can only process one stream.

let localStream = TRTC.createStream({ audio: true, video: true });
await localStream.initialize();
const processor = voiceChanger.createProcessor({ userId, sdkAppId, userSig });

// 1-Brat 2-Loli 3-Uncle 4-Heavy Metal 5-Cold 6-Foreign Accent 7-Beast 8-Fat Otaku 9-Strong Current 10-Heavy Machinery 11-Ethereal
await processor.process(localStream, 1);

// Switch effects midway
processor.setEffect(3);

Step 3. End the call and destroy resources

await client.leave();
voiceChangerProcessor.destroy();

API

RTCVoiceChanger

Create a plugin instance

const rtcVoiceChanger = new RTCVoiceChanger();

createProcessor(params)

Create a Processor instance

const voiceChangerProcessor = await rtcVoiceChanger.createProcessor({
  sdkAppId,
  userId,
  userSig
});

Params:

NameTypeDescription
sdkAppIdnumbersdkAppId Get the sdkAppId information in Application Information after creating a new application by clicking Application Management > Create Application in the Real-Time Audio and Video Console.
userIdstringUser IDIt is recommended to limit the length to 32 bytes, and only allow uppercase and lowercase English letters (a-zA-Z), numbers (0-9), underscores, and hyphens.
userSigstringUserSig signatureRefer to UserSig Related for how to calculate userSig.

Processor

process(localStream, voiceType)

Add noise reduction effect to the audio of the local stream.

Params:

NameTypeDescription
localStreamLocalStreamLocal stream.
voiceTypenumber1-Brat 2-Loli 3-Uncle 4-Heavy Metal 5-Cold 6-Foreign Accent 7-Beast 8-Fat Otaku 9-Strong Current 10-Heavy Machinery 11-Ethereal.
await voiceChangerProcessor.process(localStream, 1);

setEffect(type)

Switch effects.

NameTypeDescription
voiceTypenumber1-Brat 2-Loli 3-Uncle 4-Heavy Metal 5-Cold 6-Foreign Accent 7-Beast 8-Fat Otaku 9-Strong Current 10-Heavy Machinery 11-Ethereal.
await voiceChangerProcessor.setEffect(2);

close()

Turn off the voice changing effect.

voiceChangerProcessor.close();

destroy()

Destroy the processor and release resources, ending the processor's lifecycle.

voiceChangerProcessor.destroy();

Changelog

Version 1.0.1 @2023.7.7

Improvement

Optimising performance issues.

Version 1.0.0 @2023.06.20

Official Release 1.0.0

1.0.4

2 months ago

1.0.3

3 months ago

1.0.2

7 months ago

1.0.1

10 months ago

1.0.0

10 months ago