All Products
Search
Document Center

ApsaraVideo Live:Konfigurasikan voice change, reverberation, dan voice beautification

Last Updated:Mar 26, 2026

ARTC SDK menyediakan efek audio real-time, termasuk voice change, reverberation, dan voice beautification. Selama panggilan Real-Time Communication (RTC), Anda dapat memanggil API untuk menerapkan efek ini pada suara pengguna lokal guna menciptakan pengalaman yang lebih menarik dan menghibur.

Fitur

Anda dapat dengan cepat mengaktifkan efek audio ini dengan memanggil API terkait:

  • Voice change: Ubah suara pengguna agar terdengar seperti orang tua, anak laki-laki, atau anak perempuan.

  • Reverberation: Tambahkan efek reverberasi untuk menciptakan suasana spasial sehingga suara pengguna terdengar seolah berasal dari lokasi tertentu.

  • Voice beautification: Sesuaikan timbre suara ke gaya tertentu, seperti Magnetic atau Fresh.

  • Custom voice effect: Selain mode preset, Anda dapat memanggil API untuk menyesuaikan pitch, pengaturan reverberasi, dan equalizer guna membuat efek suara kustom.

Kode contoh

ARTC menyediakan proyek contoh open-source. Anda dapat mengunduh proyek tersebut atau melihat kode sumbernya di lokasi berikut:

Konfigurasikan voice change, reverberation, dan voice beautification di Android: Android/ARTCExample/BasicUsage/src/main/java/com/aliyun/artc/api/basicusage/VoiceChange/VoiceChangeActivity.java

Konfigurasikan voice change, reverberation, dan voice beautification di iOS: iOS/ARTCExample/BasicUsage/VoiceChange/VoiceChangeVC.swift

Prasyarat

Sebelum memulai, pastikan Anda telah menyelesaikan hal-hal berikut:

Implementasi

Bagian ini menjelaskan cara memanggil API dalam proyek Anda untuk menerapkan berbagai efek audio.

Voice change

Panggil metode setAudioEffectVoiceChangerMode untuk menerapkan efek voice change, seperti Elder, Boy, atau Girl. Setiap efek sesuai dengan nilai enumerasi yang tercantum dalam tabel berikut:

Voice change mode

Enumeration

Off

AliRtcSdk_AudioEffect_Voice_Changer_OFF

Elder

AliRtcSdk_AudioEffect_Voice_Changer_Oldman

Boy

AliRtcSdk_AudioEffect_Voice_Changer_Babyboy

Girl

AliRtcSdk_AudioEffect_Voice_Changer_Babygirl

Robot

AliRtcSdk_AudioEffect_Voice_Changer_Robot

Devil

AliRtcSdk_AudioEffect_Voice_Changer_Daimo

KTV

AliRtcSdk_AudioEffect_Voice_Changer_Ktv

Echo

AliRtcSdk_AudioEffect_Voice_Changer_Echo

Dialect

AliRtcSdk_AudioEffect_Voice_Changer_Dialect

Roar

AliRtcSdk_AudioEffect_Voice_Changer_Howl

Electronic

AliRtcSdk_AudioEffect_Voice_Changer_Electronic

Phonograph

AliRtcSdk_AudioEffect_Voice_Changer_Phonograph

Android

// Setel mode voice change preset.
mAliRtcEngine.setAudioEffectVoiceChangerMode(mode);

iOS

// Setel mode voice change preset.
self.rtcEngine?.setAudioEffectVoiceChangerMode(mode)

Mac

// Setel mode voice change preset.
[self.rtcEngine setAudioEffectVoiceChangerMode:mode];

Windows

// Setel mode voice change preset.
mAliRtcEngine->SetAudioEffectVoiceChangerMode(mode);

Reverberation

Panggil metode setAudioEffectReverbMode untuk menerapkan efek reverberasi. Ini menciptakan suasana spasial yang membuat suara terdengar seolah berada di lokasi tertentu. Tabel berikut mencantumkan mode yang tersedia:

Reverberation mode

Enumeration

Off

AliRtcSdk_AudioEffect_Reverb_Off

Vocal I

AliRtcSdk_AudioEffect_Reverb_Vocal_I

Vocal II

AliRtcSdk_AudioEffect_Reverb_Vocal_II

Bathroom

AliRtcSdk_AudioEffect_Reverb_Bathroom

Small bright room

AliRtcSdk_AudioEffect_Reverb_Small_Room_Bright

Small dark room

AliRtcSdk_AudioEffect_Reverb_Small_Room_Dark

Medium room

AliRtcSdk_AudioEffect_Reverb_Medium_Room

Large room

AliRtcSdk_AudioEffect_Reverb_Large_Room

Church hall

AliRtcSdk_AudioEffect_Reverb_Church_Hall

Android

// Setel mode reverberasi preset.
mAliRtcEngine.setAudioEffectReverbMode(mode);
// Anda juga dapat mengonfigurasi efek menggunakan parameter.

iOS

// Setel mode reverberasi preset.
self.rtcEngine?.setAudioEffectReverbMode(mode)

Mac

// Setel mode reverberasi preset.
[self.engine setAudioEffectReverbMode:selectMode];

Windows

// Setel mode reverberasi preset.
mAliRtcEngine->SetAudioEffectReverbMode(mode);
// Anda juga dapat mengonfigurasi efek menggunakan parameter.

Voice beautification

Panggil metode setAudioEffectBeautifyMode untuk menerapkan efek voice beautification. Tersedia dua mode preset: Magnetic dan Fresh.

Voice beautification mode

Enumeration

Magnetic

AliRtcSdk_AudioEffect_Beautify_Magnetic

Fresh

AliRtcSdk_AudioEffect_Beautify_Fresh

Android

// Setel mode voice beautification preset.
mAliRtcEngine.setAudioEffectBeautifyMode(mode);
// Anda juga dapat mengonfigurasi efek menggunakan parameter.

iOS

// Setel mode voice beautification preset.
self.rtcEngine?.setAudioEffectBeautifyMode(mode)

Mac

// Setel mode voice beautification preset.
[self.engine setAudioEffectBeautifyMode:selectMode];

Windows

// Setel mode voice beautification preset.
mAliRtcEngine->SetAudioEffectBeautifyMode(mode);
// Anda juga dapat mengonfigurasi efek menggunakan parameter.

Custom voice effect

Jika efek audio preset tidak memenuhi kebutuhan Anda, Anda dapat memanggil metode berikut untuk menyesuaikan parameter pitch, equalizer, dan reverberasi guna membuat efek suara kustom.

Anda dapat menggunakan metode berikut:

  • setAudioEffectPitchValue(value): Menetapkan pitch suara.

    • value: Nilai pitch. Rentangnya [0,5, 2,0]. Nilai default adalah 1,0, yang menunjukkan tidak ada perubahan. Nilai kurang dari 1,0 menurunkan pitch, dan nilai lebih dari 1,0 meningkatkan pitch.

  • setAudioEffectReverbParamType(type, value): Menetapkan parameter reverberasi tertentu. Anda harus memanggil metode ini setelah memanggil setAudioEffectReverbMode.

  • setAudioEffectEqualizationParam(bandIndex, gain): Menetapkan parameter equalizer. Anda harus memanggil metode ini setelah memanggil setAudioEffectBeautifyMode.

    • bandIndex: Indeks pita equalizer. Rentangnya [0, 9], yang sesuai dengan 10 pita frekuensi: 31, 62, 125, 250, 500, 1000, 2000, 4000, 8000, dan 16000 Hz.

    • gain: Gain pita dalam dB. Rentangnya [-15, 15]. Nilai default adalah 0.

Android

// Setel pitch. Nilainya berkisar antara 0,5 hingga 2,0. Default-nya 1,0.
// Nilai kurang dari 1,0 menurunkan pitch, dan nilai lebih dari 1,0 meningkatkannya.
mAliRtcEngine.setAudioEffectPitchValue(1.5);

// Untuk menyetel parameter reverb kustom, Anda harus terlebih dahulu menyetel mode reverb.
// Contoh: Setel mode ke Large Room, lalu sesuaikan ukuran ruangan.
mAliRtcEngine.setAudioEffectReverbMode(AliRtcEngine.AliRtcAudioEffectReverbMode.AliRtcSdk_AudioEffect_Reverb_Large_Room);
mAliRtcEngine.setAudioEffectReverbParamType(AliRtcEngine.AliRtcAudioEffectReverbParamType.AliRtcSdk_AudioEffect_Reverb_Room_Size, 50);

// Untuk menyetel parameter equalizer kustom, Anda harus terlebih dahulu menyetel mode voice beautification.
// Contoh: Setel mode ke Magnetic, lalu sesuaikan gain pita tertentu.
mAliRtcEngine.setAudioEffectBeautifyMode(AliRtcEngine.AliRtcAudioEffectBeautifyMode.AliRtcSdk_AudioEffect_Beautify_Magnetic);
mAliRtcEngine.setAudioEffectEqualizationParam(AliRtcEngine.AliRtcAudioEffectEqualizationBandFrequency.AliRtcSdk_AudioEffect_EqualizationBand1K, 5);       

iOS

// Setel pitch. Nilainya berkisar antara 0,5 hingga 2,0. Default-nya 1,0.
// Nilai kurang dari 1,0 menurunkan pitch, dan nilai lebih dari 1,0 meningkatkannya.
let pitch = 1.5
self.rtcEngine?.setAudioEffectPitchValue(pitch)

// Untuk menyetel parameter reverb kustom, Anda harus terlebih dahulu menyetel mode reverb.
// Contoh: Setel mode ke Large Room, lalu sesuaikan ukuran ruangan.
self.rtcEngine?.setAudioEffectReverbMode(.large_Room)
self.rtcEngine?.setAudioEffectReverbParamType(.room_Size, value: 50)

// Untuk menyetel parameter equalizer kustom, Anda harus terlebih dahulu menyetel mode voice beautification.
// Contoh: Setel mode ke Magnetic, lalu sesuaikan gain pita tertentu.
self.rtcEngine?.setAudioEffectBeautifyMode(.magnetic)
self.rtcEngine?.setAudioEffectEqualizationParam(.band1K, gain: 5)

Mac

// Setel pitch. Nilainya berkisar antara 0,5 hingga 2,0. Default-nya 1,0.
// Nilai kurang dari 1,0 menurunkan pitch, dan nilai lebih dari 1,0 meningkatkannya.
int pitch = 1.5;
[self.rtcEngine setAudioEffectPitchValue:pitch];

// Untuk menyetel parameter reverb kustom, Anda harus terlebih dahulu menyetel mode reverb.
// Contoh: Setel mode ke Large Room, lalu sesuaikan ukuran ruangan.
[self.rtcEngine setAudioEffectReverbMode:AliRtcAudioEffectReverb_Large_Room];
[self.rtcEngine setAudioEffectReverbParamType:AliRtcAudioEffectReverb_Room_Size value:50.0];

// Untuk menyetel parameter equalizer kustom, Anda harus terlebih dahulu menyetel mode voice beautification.
// Contoh: Setel mode ke Magnetic, lalu sesuaikan gain pita tertentu.
[self.rtcEngine setAudioEffectBeautifyMode:AliRtcAudioEffectBeautify_Magnetic];
[self.rtcEngine setAudioEffectEqualizationParam:AliRtcAudioEffectEqualizationBand1K gain:5.0];

Windows

// Setel pitch. Nilainya berkisar antara 0,5 hingga 2,0. Default-nya 1,0.
// Nilai kurang dari 1,0 menurunkan pitch, dan nilai lebih dari 1,0 meningkatkannya.
mAliRtcEngine->SetAudioEffectPitchValue(1.5);

// Untuk menyetel parameter reverb kustom, Anda harus terlebih dahulu menyetel mode reverb.
// Contoh: Setel mode ke Large Room, lalu sesuaikan ukuran ruangan.
mAliRtcEngine->SetAudioEffectReverbMode(AliEngineAudioEffectReverbMode::AliEngineAudioEffectReverb_Large_Room);
mAliRtcEngine->SetAudioEffectReverbParamType(AliEngineAudioEffectReverbParamType::AliEngineAudioEffectReverbParamType_Room_Size, 50.0f);

// Untuk menyetel parameter equalizer kustom, Anda harus terlebih dahulu menyetel mode voice beautification.
// Contoh: Setel mode ke Magnetic, lalu sesuaikan gain pita tertentu.
mAliRtcEngine->SetAudioEffectBeautifyMode(AliEngineAudioEffectBeautifyMode::AliEngineAudioEffectBeautify_Magnetic);
mAliRtcEngine->SetAudioEffectEqualizationParam(AliEngineAudioEffectEqualizationBandFrequency::AliEngineAudioEffectEqualizationBandFrequency_Band1K, 5.0f);