全部產品
Search
文件中心

ApsaraVideo Live:設定變聲、混響、美聲

更新時間:Nov 19, 2025

ARTC SDK 提供變聲、混響、美聲等即時音效功能。您可以在音視訊通話中調用 API,為本地人聲添加豐富的音效,提升互動娛樂體驗。

功能介紹

開發人員可通過調用相關API快速啟用相關音效:

  • 變聲:改變人聲,實現老人、男孩、女孩等聲音音效。

  • 混響:通過空間混響效果營造一定的空間氛圍,讓人聲彷彿從特定的場地中傳出。

  • 美聲:將人聲的音色朝特定的方向微調,例如磁性、清新。

  • 自訂人聲效果:除了上面預設的音效模式外,您還可以調用相關介面調整人聲的音調、混響和均衡效果來實現自訂人聲效果。

樣本源碼

ARTC 提供了開源樣本專案供您參考,您可以前往下載或查看其中的代碼,範例程式碼:

Android端設定變聲、混響、美聲Android/ARTCExample/BasicUsage/src/main/java/com/aliyun/artc/api/basicusage/VoiceChange/VoiceChangeActivity.java

iOS端設定變聲、混響、美聲iOS/ARTCExample/BasicUsage/VoiceChange/VoiceChangeVC.swift

前提條件

在設定視頻配置之前,請確保達成以下條件:

功能實現

本節將介紹如何在您的專案中調用相關介面以實現各種音效

變聲

調用setAudioEffectVoiceChangerMode介面,設定變聲效果,使人聲變為老人、男孩、女孩等模式。每種音效對應一個枚舉值,變聲模式如下:

變聲音效模式

枚舉值

關閉

AliRtcSdk_AudioEffect_Voice_Changer_OFF

老人

AliRtcSdk_AudioEffect_Voice_Changer_Oldman

男孩

AliRtcSdk_AudioEffect_Voice_Changer_Babyboy

女孩

AliRtcSdk_AudioEffect_Voice_Changer_Babygirl

機器人

AliRtcSdk_AudioEffect_Voice_Changer_Robot

大魔王

AliRtcSdk_AudioEffect_Voice_Changer_Daimo

KTV

AliRtcSdk_AudioEffect_Voice_Changer_Ktv

回聲

AliRtcSdk_AudioEffect_Voice_Changer_Echo

方言

AliRtcSdk_AudioEffect_Voice_Changer_Dialect

怒吼

AliRtcSdk_AudioEffect_Voice_Changer_Howl

電音

AliRtcSdk_AudioEffect_Voice_Changer_Electronic

留聲機

AliRtcSdk_AudioEffect_Voice_Changer_Phonograph

Android

/* 變聲音效預設模式 */
mAliRtcEngine.setAudioEffectVoiceChangerMode(mode);

iOS

/* 變聲音效預設模式 */
self.rtcEngine?.setAudioEffectVoiceChangerMode(mode)

Windows

/* 變聲音效預設模式 */
mAliRtcEngine->SetAudioEffectVoiceChangerMode(mode);

混響

調用setAudioEffectReverbMode介面實現混響音效,通過空間混響效果營造一定的空間氛圍,讓人聲彷彿從特定的場地中傳出。相關枚舉值如下

混響模式

枚舉值

關閉混響

AliRtcSdk_AudioEffect_Reverb_Off

人聲I

AliRtcSdk_AudioEffect_Reverb_Vocal_I

人聲II

AliRtcSdk_AudioEffect_Reverb_Vocal_II

澡堂

AliRtcSdk_AudioEffect_Reverb_Bathroom

明亮小房間

AliRtcSdk_AudioEffect_Reverb_Small_Room_Bright

黑暗小房間

AliRtcSdk_AudioEffect_Reverb_Small_Room_Dark

中等房間

AliRtcSdk_AudioEffect_Reverb_Medium_Room

大房間

AliRtcSdk_AudioEffect_Reverb_Large_Room

教堂走廊

AliRtcSdk_AudioEffect_Reverb_Church_Hall

Android

/* 混響音效預設模式 */
mAliRtcEngine.setAudioEffectReverbMode(mode);
/* 也可以通過參數配置 */

iOS

/* 混響音效預設模式 */
self.rtcEngine?.setAudioEffectReverbMode(mode)

Windows

/* 混響音效預設模式 */
mAliRtcEngine->SetAudioEffectReverbMode(mode);
/* 也可以通過參數配置 */

美聲

通過調用setAudioEffectBeautifyMode介面實現人聲美化,支援磁性和清新兩種預定模式。

美聲模式

枚舉值

磁性

AliRtcSdk_AudioEffect_Beautify_Magnetic

清新

AliRtcSdk_AudioEffect_Beautify_Fresh

Android

/* 美聲音效預設模式 */
mAliRtcEngine.setAudioEffectBeautifyMode(mode);
/* 也可以通過參數配置 */

iOS

/* 美聲音效預設模式 */
self.rtcEngine?.setAudioEffectBeautifyMode(mode)

Windows

/* 美聲音效預設模式 */
mAliRtcEngine->SetAudioEffectBeautifyMode(mode);
/* 也可以通過參數配置 */

自訂人聲效果

如果上面的預設音效無法滿足您的要求,可以調用下面的介面來調整人聲的音效、均衡和混響參數以實現自訂人聲效果。

相關介面如下:

  • setAudioEffectPitchValue(value):設定變調參數。

    • value:範圍 [0.5-2.0],1.0 表示音調不變,小於 1.0 表示音調降低,大於 1.0 表示音調升高。

  • setAudioEffectReverbParamType(type, value):設定混響音效參數,需要setAudioEffectReverbMode之後調用

  • setAudioEffectEqualizationParam:設定均衡器參數,需要setAudioEffectBeautifyMode之後調用

    • bandIndex:均衡器段數,取值 [0-9] 表示[31,62,125,250,500,1000,2000,4000,8000,16000] Hz 共 10 個頻段。

    • gain:均衡器增益值(-15dB 到 15dB,預設為 0)。

Android

// 設定音調 範圍[0.5,2.0],1.0表示音調不變,小於1.0表示音調降低,大於1.0表示音調升高
mAliRtcEngine.setAudioEffectPitchValue(1.5);

// 設定混響參數樣本,需要在setAudioEffectReverbMode之後調用
mAliRtcEngine.setAudioEffectReverbMode(AliRtcEngine.AliRtcAudioEffectReverbMode.AliRtcSdk_AudioEffect_Reverb_Large_Room);
mAliRtcEngine.setAudioEffectReverbParamType(AliRtcEngine.AliRtcAudioEffectReverbParamType.AliRtcSdk_AudioEffect_Reverb_Room_Size, 50);

// 設定美聲參數樣本
mAliRtcEngine.setAudioEffectBeautifyMode(AliRtcEngine.AliRtcAudioEffectBeautifyMode.AliRtcSdk_AudioEffect_Beautify_Magnetic);
mAliRtcEngine.setAudioEffectEqualizationParam(AliRtcEngine.AliRtcAudioEffectEqualizationBandFrequency.AliRtcSdk_AudioEffect_EqualizationBand1K, 5);       

iOS

// 設定音調 範圍[0.5,2.0],1.0表示音調不變,小於1.0表示音調降低,大於1.0表示音調升高
let pitch = 1.5
self.rtcEngine?.setAudioEffectPitchValue(pitch)

// 設定混響參數樣本,需要在setAudioEffectReverbMode之後調用
self.rtcEngine?.setAudioEffectReverbMode(.large_Room)
self.rtcEngine?.setAudioEffectReverbParamType(.room_Size, value: 50)

// 設定美聲參數樣本
self.rtcEngine?.setAudioEffectBeautifyMode(.vigorous)
self.rtcEngine?.setAudioEffectEqualizationParam(.band1K, gain: 5)