语音数据处理方法、游戏直播中的语音数据处理方法和系统的制作方法_2

文档序号:9251331阅读:来源:国知局
120进行网络通信,如接收应用的原始音频,如游戏的原始声音等。显示屏幕用于显示视频,如游戏视频画面。扬声器用于播放音频,如游戏声音、玩家声音等,输入设备用于接收用户输入的命令或数据等,输入设备包括麦克风用于接收用户输入的语音等。对于带触摸屏的终端110,显示屏幕可为触摸屏,输入设备包括触摸屏。
[0049]如图3所示,在一个实施例中,提供了一种语音数据处理方法,以应用于上述应用环境中的终端来举例说明,包括如下步骤:
[0050]步骤S210,检测麦克风状态。
[0051]具体的,麦克风状态包括打开状态和关闭状态,当麦克风处于打开状态时,可通过麦克风接收用户输入的语音。检测麦克风当前所处的状态,根据不同的检测结果,在进行音频的增益调节时进行不同的处理。
[0052]步骤S220,当麦克风处于打开状态时,在应用的原始音频输出到扬声器之前拦截并复制应用的原始音频,并调节应用的原始音频的增益大小。
[0053]具体的,在应用的原始音频输出到扬声器之前需要将语音数据写入播放缓冲中,对语音数据写入播放缓冲进行hook (挂钩),hook是指改变原来程序的执行流程,即改变语音数据写入播放缓冲的执行流程,在语音数据写入播放缓冲之前先拦截并复制应用的原始音频,并调节应用的原始音频的增益大小。如将语音数据写入播放缓冲为函数write,通过hook的方式,使调用函数write时变成调用改写的函数mywrite,函数mywrite会先根据原始音频的内存地址和数据长度得到应用的原始音频,进行复制,并调节应用的原始音频的增益大小,然后再将调节后的语音数据写入播放缓冲。
[0054]可以理解的是,可以根据输入的麦克风的音频的增益的大小,调节应用的原始音频的增益大小。如根据玩家的说话声音音量的大小,自动调节应用的原始音频的增益大小。可以根据需要自定义调节后的增益大小需要满足的预设条件,自动调节应用的原始音频的增益大小直到满足自定义的预设条件,如将应用的原始音频的增益调小。调节的方式也可以根据需要选择,如渐变式或根据一定的运算公式进行调节。在应用的原始音频输出到扬声器之前将应用的原始音频的增益调小,可以避免扬声器输出的应用的原始音频音量大,再次从麦克风输入影响音效质量。
[0055]步骤S230,采集麦克风输出的音频,并调节麦克风输出的音频的增益大小。
[0056]具体的,麦克风输出的音频可包括用户从麦克风输入的语音和通过扬声器输出的调节后的应用的原始音频从麦克风输入的音频。由于在步骤S220中己经对应用的原始音频的增益大小进行了调节,减小了通过扬声器输出的应用的原始音频从麦克风输入时对音效质量的影响。在一个实施例中,调节麦克风输出的音频的增益大小前,将麦克风输出的音频进行回声消除处理。将麦克风输出的音频进行回声消除处理可消除麦克风输出的音频中的通过扬声器输出的应用的原始音频从麦克风输入的音频,进一步减少其对音效质量的影响。可以根据复制得到的应用的原始音频的增益大小调节麦克风输出的音频的增益大小。可以根据需要自定义调节后的麦克风输出的音频的增益大小需要满足的预设条件,自动调节麦克风输出的音频的增益大小直到满足自定义的预设条件,如预设条件为麦克风输出的音频的增益大小和复制得到的应用的原始音频的增益大小满足预设比例。
[0057]步骤S240,调节复制得到的应用的原始音频的增益大小。
[0058]具体的,可以根据麦克风输出的音频的增益大小调节复制得到的应用的原始音频的增益大小,可以根据需要自定义调节后的复制得到的应用的原始音频的增益大小需要满足的预设条件,自动调节复制得到的应用的原始音频的增益大小直到满足自定义的预设条件,如预设条件为麦克风输出的音频的增益大小和复制得到的应用的原始音频的增益大小满足预设比例,如麦克风输出的音频的增益比复制得到的应用的原始音频的增益大3至6db等。通过调节复制得到的应用的原始音频的增益大小,可以避免复制得到的应用的原始音频音量过大而听不清麦克风输出的音频。可以理解的是,在调节时,可以同时调节麦克风输出的音频的增益大小和复制得到的应用的原始音频的增益大小,也可以保持其中的一个音频的增益大小不变,调节另一个音频的增益大小。
[0059]步骤S250,将调节增益大小后的麦克风输出的音频和调节增益大小后的复制得到的应用的原始音频进行混音处理。
[0060]具体的,可采用传统的混音算法将调节增益大小后的麦克风输出的音频和调节增益大小后的复制得到的应用的原始音频进行混音,得到混音音频数据,还可对混音音频数据进行防止数据溢出的处理。进行混音处理后,就可得到既包括用户输入的语音又包括应用的原始音频的音频数据。由于进行混音的应用的原始音频是通过复制得到的应用的原始音频,而不是通过扬声器输出的应用的原始音频又通过麦克风输入的音频,保证了混音的音效质量。
[0061]本实施例中,通过检测麦克风状态,当麦克风处于打开状态时,在应用的原始音频输出到扬声器之前拦截并复制应用的原始音频,并调节应用的原始音频的增益大小,采集麦克风输出的音频,并调节麦克风输出的音频的增益大小,调节复制得到的应用的原始音频的增益大小,将调节增益大小后的麦克风输出的音频和调节增益大小后的复制得到的应用的原始音频进行混音处理。在应用的原始音频输出到扬声器之前调节应用的原始音频的增益,可以减小扬声器输出的应用的原始音频从麦克风输入影响音效质量。进行混音的应用的原始音频是通过复制得到的应用的原始音频,而不是通过扬声器输出的应用的原始音频又通过麦克风输入的音频,进一步提高了混音的音效质量。在混音前调节麦克风输出的音频和复制得到的应用的原始音频的增益大小,可以避免其中一个音频音量过大,能对声音进彳丁精确控制,进一步提尚了混音的音效质量。
[0062]在一个实施例中,如图4所示,所述方法还包括:
[0063]步骤S310,当麦克风处于关闭状态时,将调节增益大小后的应用的原始音频的增益进行反向调节,直到增益大小等于调节增益大小前的应用的原始音频的增益大小。
[0064]具体的,当麦克风处于关闭状态时,通过扬声器输出的应用的原始音频不会被麦克风采集再次输入,将调节增益大小后的应用的原始音频的增益进行反向调节,直到增益大小等于调节增益大小前的应用的原始音频的增益大小,恢复从扬声器输出的应用的原始音频的音量。
[0065]步骤S320,当麦克风处于关闭状态时,将调节增益大小后的复制得到的应用的原始音频的增益进行反向调节,直到增益大小等于调节增益大小前的复制得到的应用的原始音频的增益大小。
[0066]具体的,当麦克风处于关闭状态时,不需要进行混音,将调节增益大小后的复制得到的应用的原始音频的增益进行反向调节,直到增益大小等于调节增益大小前的复制得到的应用的原始音频的增益大小。调节的方式也可以根据需要选择,如渐变式或根据一定的运算公式进行调节。
[0067]在一个实施例中,所述调节应用的原始音频的增益大小的调节方式、将调节增益大小后的应用的原始音频的增益进行反向调节的调节方式以及将调节增益大小后的复制得到的应用的原始音频的增益进行反向调节的调节方式都为渐变式的调节方式。
[0068]具体的,采用渐变式的调节方式更符合主观听觉效果,如可以在固定的时间内调整到符合条件的增益大小。
[0069]在一个实施例中,调节所述应用的原始音频的增益大小的步骤包括:将应用的原始音频的增益大小调节为0,采集麦克风输出的音频,并计算音频的平均增益,根据平均增益调节应用的原始音频的增益大小。
[0070]具体的,先将应用的原始音频的增益大小调节为0,则采集得到的麦克风输出的音频是用户从麦克风输入的语音,可以避免应用的原始音频对评估用户从麦克风输入的语音的增益大小的影响。计算音频的平均增益,如有多个用户输入语音则可以在预设时间内统计多个语音的增益求平均值。根据平均增益调节应用的原始音频的增益大小,可以根据需要自定义调节后的应用的原始音频的增益大小需要满足的预设条件,自动调节应用的原始音频的增益大小直到满足自定义的预设条件,如预设条件为应用的原始音频的增益大小和平均增益大小满足预设比例,如应用的原始音频的增益比平均增益小12db以上。
[0071]在一个实施例中,调节麦克风输出的音频的增益大小,调节复制得到的应用的原始音频的增益大小的步骤包括:保持麦克风输出的音频的增益大小不变,将复制得到的应用的原始音频的增益大小调节到比麦克风输出的音频的增益小。
[0072]具体的,保持麦克风输出的音频的增益大小不变,只需要调节复制得到的应用的原始音频的增益大小,这种调节方式简单方便。将复制得到的应用的原始音频的增益大小调节到比麦克风输出的音频的增益小,可以避免复
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1