tencent cloud

语音变声

PDF
聚焦模式
字号
最后更新时间: 2024-12-18 15:01:09
为方便开发者调试和接入腾讯云游戏多媒体引擎产品 API,本文向您介绍游戏多媒体引擎变声特效的接入方法。

使用场景





前提条件

已开通实时语音服务:可参见 服务开通指引
已开通语音转文本服务:可参见 服务开通指引
已接入 GME SDK:包括核心接口和实时语音接口的接入,详情可参见 Native SDK 快速接入Unity SDK 快速接入Unreal SDK 快速接入
已接入 GME SDK 库文件libgmesoundtouch:需要保证工程库文件中带有 libgmesoundtouch,具体参见 库文件对应功能

实时语音变声接入

变声接口

在已经进房成功且打开麦克风的情况下,调用 SetVoiceType 接口设置变声特效,接口返回0代表调用成功,房间内的人听到的本端发出的声音带有变声效果。如果要自测变声效果,请使用耳返功能(接口:EnableLoopBack)。

函数原型

Android
iOS
Unity
C++
public static class ITMG_VoiceType {
public static final int ITMG_VOICE_TYPE_ORIGINAL_SOUND = 0;
public static final int ITMG_VOICE_TYPE_LOLITA = 1;
public static final int ITMG_VOICE_TYPE_UNCLE = 2;
public static final int ITMG_VOICE_TYPE_INTANGIBLE = 3;
public static final int ITMG_VOICE_TYPE_DEAD_FATBOY = 4;
public static final int ITMG_VOICE_TYPE_HEAVY_MENTAL = 5;
public static final int ITMG_VOICE_TYPE_DIALECT = 6;
public static final int ITMG_VOICE_TYPE_INFLUENZA = 7;
public static final int ITMG_VOICE_TYPE_CAGED_ANIMAL = 8;
public static final int ITMG_VOICE_TYPE_HEAVY_MACHINE = 9;
public static final int ITMG_VOICE_TYPE_STRONG_CURRENT = 10;
public static final int ITMG_VOICE_TYPE_KINDER_GARTEN = 11;
public static final int ITMG_VOICE_TYPE_HUANG = 12;
};
public abstract int SetVoiceType(int type);

-(QAVResult)SetVoiceType:(ITMG_VOICE_TYPE) type

public abstract class ITMGAudioEffectCtrl{
public static int VOICE_TYPE_ORIGINAL_SOUND = 0;
public static int VOICE_TYPE_LOLITA = 1;
public static int VOICE_TYPE_UNCLE = 2;
public static int VOICE_TYPE_INTANGIBLE = 3;
public static int VOICE_TYPE_DEAD_FATBOY = 4;
public static int VOICE_TYPE_HEAVY_MENTAL = 5;
public static int VOICE_TYPE_DIALECT = 6;
public static int VOICE_TYPE_INFLUENZA = 7;
public static int VOICE_TYPE_CAGED_ANIMAL = 8;
public static int VOICE_TYPE_HEAVY_MACHINE = 9;
public static int VOICE_TYPE_STRONG_CURRENT = 10;
public static int VOICE_TYPE_KINDER_GARTEN = 11;
public static int VOICE_TYPE_HUANG = 12;
public abstract int SetVoiceType(int voiceType);
}

class ITMGAudioEffectCtrl {
public:
virtual ~ITMGAudioEffectCtrl(){};
virtual int SetVoiceType(ITMG_VOICE_TYPE voiceType) = 0;
}

参数
类型
意义
type
int
表示本端音频变声类型
类型参数
参数代表
意义
ITMG_VOICE_TYPE_ORIGINAL_SOUND
0
原声
ITMG_VOICE_TYPE_LOLITA
1
萝莉
ITMG_VOICE_TYPE_UNCLE
2
大叔
ITMG_VOICE_TYPE_INTANGIBLE
3
空灵
ITMG_VOICE_TYPE_DEAD_FATBOY
4
小胖子
ITMG_VOICE_TYPE_HEAVY_MENTA
5
重金属
ITMG_VOICE_TYPE_DIALECT
6
歪果仁
ITMG_VOICE_TYPE_INFLUENZA
7
感冒
ITMG_VOICE_TYPE_CAGED_ANIMAL
8
困兽
ITMG_VOICE_TYPE_HEAVY_MACHINE
9
重机器
ITMG_VOICE_TYPE_STRONG_CURRENT
10
强电流
ITMG_VOICE_TYPE_KINDER_GARTEN
11
幼稚园
ITMG_VOICE_TYPE_HUANG
12
小顽童

示例代码

ITMGContextGetInstance()->GetAudioEffectCtrl()->setVoiceType(0);

语音消息变声接入

语音消息变声流程




语音消息变声不会影响原始的音频信息,在播放的时候才体现变声效果。

语音消息播放

语音消息播放接口,带有变声效果参数。
Android
iOS
Unity
C++
public abstract int PlayRecordedFile(String filePath,int voicetype);

-(int)PlayRecordedFile:(NSString*)filePath VoiceType:(ITMG_VOICE_TYPE) type

ITMGPTT PlayRecordedFile(string filePath,int voiceType);

public abstract int PlayRecordedFile(string filePath,int voiceType);

参数
类型
含义
filePath
string
本地语音文件的路径
voicetype
int
变声类型

错误码

错误码值
原因
建议方案
20485
播放未开始
确保文件存在,文件路径的合法性


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈