Kit Pengembangan Perangkat Lunak (SDK) Alibaba Real-Time Communication (ARTC) menyediakan efek suara real-time, seperti voice changer, reverb, dan beautification. Anda dapat memanggil API selama panggilan audio dan video untuk menerapkan berbagai efek suara pada aliran audio lokal guna meningkatkan pengalaman hiburan interaktif.
Ikhtisar fitur
Pengembang dapat dengan cepat mengaktifkan efek suara dengan memanggil API terkait:
Voice changer: Mengubah suara pengguna agar terdengar seperti orang tua, anak laki-laki, atau anak perempuan.
Reverb: Menciptakan suasana spasial tertentu sehingga suara terdengar seolah berasal dari lokasi tertentu.
Beautification: Menyesuaikan timbre suara agar terdengar lebih magnetis atau segar.
Efek suara kustom: Selain mode efek suara preset, Anda dapat memanggil API untuk menyesuaikan pitch, reverb, dan equalization guna menciptakan efek suara kustom.
Kode contoh
ARTC menyediakan proyek contoh open source sebagai referensi. Anda dapat mengunduh proyek tersebut atau melihat kode sumbernya. Kode contoh tersedia dalam file berikut:
Atur efek voice changer, reverb, dan beautification di Android: Android/ARTCExample/BasicUsage/src/main/java/com/aliyun/artc/api/basicusage/VoiceChange/VoiceChangeActivity.java
Atur efek voice changer, reverb, dan beautification di iOS: iOS/ARTCExample/BasicUsage/VoiceChange/VoiceChangeVC.swift
Prasyarat
Sebelum mengatur konfigurasi video, Anda harus memenuhi persyaratan berikut:
Anda memiliki Akun Alibaba Cloud yang valid dan telah membuat aplikasi ApsaraVideo Real-time Communication. Untuk informasi lebih lanjut, lihat Buat aplikasi. Anda dapat memperoleh App ID dan App Key dari Konsol Manajemen Aplikasi.
Anda telah mengintegrasikan ARTC SDK ke dalam proyek Anda dan menerapkan fitur audio dan video real-time dasar. Untuk informasi lebih lanjut tentang integrasi SDK, lihat Unduh dan integrasikan SDK. Untuk informasi lebih lanjut tentang penerapan panggilan audio dan video, lihat Terapkan panggilan audio dan video.
Implementasi
Bagian ini menjelaskan cara memanggil API yang diperlukan dalam proyek Anda untuk menerapkan berbagai efek suara.
Voice changer
Anda dapat memanggil API setAudioEffectVoiceChangerMode untuk mengatur efek voice changer. API ini mengubah suara agar terdengar seperti orang tua, anak laki-laki, atau anak perempuan. Setiap efek suara sesuai dengan nilai enumerasi tertentu. Mode voice changer yang tersedia adalah sebagai berikut:
Mode pengubah suara | Nilai enumerasi |
Off |
|
Old man |
|
Boy |
|
Girl |
|
Robot |
|
Devil |
|
KTV |
|
Echo |
|
Dialect |
|
Howl |
|
Electronic music |
|
Phonograph |
|
Android
/* Preset voice changer mode */
mAliRtcEngine.setAudioEffectVoiceChangerMode(mode);iOS
/* Preset voice changer mode */
self.rtcEngine?.setAudioEffectVoiceChangerMode(mode)Windows
/* Preset voice changer mode */
mAliRtcEngine->SetAudioEffectVoiceChangerMode(mode);Reverb
Anda dapat memanggil API setAudioEffectReverbMode untuk menerapkan efek reverb. Reverb menciptakan suasana spasial tertentu sehingga suara terdengar seolah berasal dari lokasi tertentu. Mode reverb yang tersedia beserta nilai enumerasinya adalah sebagai berikut:
Mode reverb | Nilai enumerasi |
Reverb off |
|
Vocal I |
|
Vocal II |
|
Bathroom |
|
Small room bright |
|
Small room dark |
|
Medium room |
|
Large room |
|
Church hall |
|
Android
/* Preset reverb mode */
mAliRtcEngine.setAudioEffectReverbMode(mode);
/* You can also set parameters. */iOS
/* Preset reverb mode */
self.rtcEngine?.setAudioEffectReverbMode(mode)Windows
/* Preset reverb mode */
mAliRtcEngine->SetAudioEffectReverbMode(mode);
/* You can also set parameters. */Beautification
Anda dapat memanggil API setAudioEffectBeautifyMode untuk menerapkan beautification suara. Dua mode preset didukung: magnetic dan fresh.
Mode Percantik | Nilai enumerasi |
Magnetic |
|
Fresh |
|
Android
/* Preset beautification mode */
mAliRtcEngine.setAudioEffectBeautifyMode(mode);
/* You can also set parameters. */iOS
/* Preset beautification mode */
self.rtcEngine?.setAudioEffectBeautifyMode(mode)Windows
/* Preset beautification mode */
mAliRtcEngine->SetAudioEffectBeautifyMode(mode);
/* You can also set parameters. */Efek suara kustom
Jika efek suara preset tidak memenuhi kebutuhan Anda, Anda dapat memanggil API berikut untuk menyesuaikan parameter pitch, equalization, dan reverb guna menciptakan efek suara kustom.
API berikut tersedia:
setAudioEffectPitchValue(value): Mengatur parameter pitch.value: Menentukan pitch. Rentang nilainya adalah [0,5, 2,0]. Nilai 1,0 menunjukkan pitch asli. Nilai kurang dari 1,0 menurunkan pitch, sedangkan nilai lebih dari 1,0 meningkatkan pitch.
setAudioEffectReverbParamType(type, value): Mengatur parameter efek reverb. API ini harus dipanggil setelahsetAudioEffectReverbMode.type: Jenis parameter reverb. Untuk informasi lebih lanjut, lihat AliRtcAudioEffectReverbParamType.value: Nilai parameter reverb. Jenis parameter reverb yang berbeda memiliki rentang nilai yang berbeda. Untuk informasi lebih lanjut, lihat AliRtcAudioEffectReverbParamType.
setAudioEffectEqualizationParam: Mengatur parameter equalizer. API ini harus dipanggil setelahsetAudioEffectBeautifyMode.bandIndex: Indeks pita equalizer. Rentang nilainya adalah 0 hingga 9, merepresentasikan 10 pita frekuensi: [31, 62, 125, 250, 500, 1000, 2000, 4000, 8000, 16000] Hz.gain: Nilai gain equalizer. Rentang nilainya adalah -15 dB hingga 15 dB. Nilai default adalah 0.
Android
// Set the pitch. The range is [0.5, 2.0]. 1.0 means the pitch is unchanged. A value less than 1.0 lowers the pitch, and a value greater than 1.0 raises the pitch.
mAliRtcEngine.setAudioEffectPitchValue(1.5);
// Example of setting reverb parameters. This must be called after setAudioEffectReverbMode.
mAliRtcEngine.setAudioEffectReverbMode(AliRtcEngine.AliRtcAudioEffectReverbMode.AliRtcSdk_AudioEffect_Reverb_Large_Room);
mAliRtcEngine.setAudioEffectReverbParamType(AliRtcEngine.AliRtcAudioEffectReverbParamType.AliRtcSdk_AudioEffect_Reverb_Room_Size, 50);
// Example of setting beautification parameters.
mAliRtcEngine.setAudioEffectBeautifyMode(AliRtcEngine.AliRtcAudioEffectBeautifyMode.AliRtcSdk_AudioEffect_Beautify_Magnetic);
mAliRtcEngine.setAudioEffectEqualizationParam(AliRtcEngine.AliRtcAudioEffectEqualizationBandFrequency.AliRtcSdk_AudioEffect_EqualizationBand1K, 5); iOS
// Set the pitch. The range is [0.5, 2.0]. 1.0 means the pitch is unchanged. A value less than 1.0 lowers the pitch, and a value greater than 1.0 raises the pitch.
let pitch = 1.5
self.rtcEngine?.setAudioEffectPitchValue(pitch)
// Example of setting reverb parameters. This must be called after setAudioEffectReverbMode.
self.rtcEngine?.setAudioEffectReverbMode(.large_Room)
self.rtcEngine?.setAudioEffectReverbParamType(.room_Size, value: 50)
// Example of setting beautification parameters.
self.rtcEngine?.setAudioEffectBeautifyMode(.vigorous)
self.rtcEngine?.setAudioEffectEqualizationParam(.band1K, gain: 5)