CN1770256B - 一种基于变换域的数字音频混合方法 - Google Patents

一种基于变换域的数字音频混合方法 Download PDF

Info

Publication number
CN1770256B
CN1770256B CN200410088428A CN200410088428A CN1770256B CN 1770256 B CN1770256 B CN 1770256B CN 200410088428 A CN200410088428 A CN 200410088428A CN 200410088428 A CN200410088428 A CN 200410088428A CN 1770256 B CN1770256 B CN 1770256B
Authority
CN
China
Prior art keywords
audio
frame
mixing
domain
discrete
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200410088428A
Other languages
English (en)
Other versions
CN1770256A (zh
Inventor
杜云峰
刘建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Acoustics CAS
Beijing Kexin Technology Co Ltd
Original Assignee
Institute of Acoustics CAS
Beijing Kexin Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Acoustics CAS, Beijing Kexin Technology Co Ltd filed Critical Institute of Acoustics CAS
Priority to CN200410088428A priority Critical patent/CN1770256B/zh
Publication of CN1770256A publication Critical patent/CN1770256A/zh
Application granted granted Critical
Publication of CN1770256B publication Critical patent/CN1770256B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明涉及一种数字混音方法,更具体的说,涉及一种基于变换域的数字音频混合方法。包括如下步骤:1)输入多个已数字化的音频流,进行分帧处理,得到各帧的时域音频序列;2)对多个音频流以帧为单位进行覆盖性频域插值,得到各帧频域混音后的时域音频序列;该覆盖性频域插值是先将原始音频序列由时域变换到频域,然后进行覆盖性频域插值运算,再由频域变回时域,最后得到混音音频序列;3)将混音信号的各帧数据组合成一个完整的输出音频流。与现有技术相比,本发明最大优点是有效地解决了经典混音中的溢出问题,在对数据的动态范围有严格限制的情况下,能够提供很好的“音效级”混合效果。本发明特别适用于嵌入式终端上的实时双路音频流混合。

Description

一种基于变换域的数字音频混合方法
技术领域
本发明涉及一种数字混音方法,更具体的说,涉及一种基于变换域的数字音频混合方法。
背景技术
所谓混音就是用一个输出设备播放多个音频流,提供一个单输出多输入的通道。目前经典的混音方法都是采用基于时域的线性叠加方法。
传输声音这种连续的、时间要求严格的流与传输别的数据不同。这涉及声波转换为数字信号,数字信号恢复为声波。虽然AD/DA由硬件完成,但录音和播放由用户设置。特别需要注意的是,不象典型的视频流在空间/时间域占有唯一的位置,在同一时间和位置的图象元素叠加是无任何意义的,但人耳可以感知在同一空间/时间播放的多个音频流。例如多个终端参与的音频会议,由于这些终端物理上并不在一起,而每个终端通常只有一套音频输出设备(功放+音箱),为了能够在每个终端同时接收多个与会者的声音,必须进行多路音频流混合。
当多个音频源在一个房间播放时,人耳听到的声波是各个声源声波的线性叠加,这正是模拟混音的基础。该事实表明数字混音也可以线性相加。假设有n路输入音频流进行混音,Xi(t)是t时刻的第i路输入声音的线性样本,则t时刻的混音值为:
m(t)=∑Xi(t),i=0,1,……,n-1                                    (1)
数字音频的重要参数是采样率,显然,各路输入音频流的采样率相同是混音的前提。
然而此种方法在数字系统上实现的最大问题是如何防止溢出导致的失真。对于单声道16比特量化的音频数据在计算机中每个采样点需占用2个字节的空间,即如果输入样本是16比特,求和缓冲区也是16比特,那两路音频流相加就容易使求和区溢出。即使提供了高精度的求和缓冲区,使得在求和过程中是不会溢出,但是这不能保证求和结果的幅值仍适合输出硬件器件的要求范围(输出器件范围通常与输入一致也是16比特)。
为了解决上述问题,简单的方法是对超出范围的值箝位,更复杂一点方法是对求和结果分帧进行归一化定标。箝位指的是在运算中发生“溢出”时,将序列的当前值直接赋为最大值,如:若取值范围为0~65535,求和结果超过65535时,把当前值赋为最大值65535。然而这种方法只能减少因“溢出”而导致的“削波失真”的失真程度,而无法从根本上消除溢出。对求和结果分帧进行归一化定标指的是根据求和结果对每一帧乘以一个因子,使得该帧中的最大值在取值范围内,从而解决溢出的问题。这种方法的缺点是由于无法预测各帧的最大值,各帧所乘的因子大小不一,造成声音时大时小的问题,极大地影响了收听效果。
发明内容
本发明的目的是克服现有技术的不足,从根本上消除混音过程中由于溢出带来的“削波失真”;同时考虑人耳的特征,最大程度的减小混音过程对音效的影响;提供一种基于变换域的数字音频混合方法.
为达到上述目的,本发明提供的基于变换域的数字音频混合方法,包括如下步骤:
1)输入多个已数字化的音频流,进行分帧处理,得到各帧的时域音频序列;
2)对多个音频流以帧为单位进行覆盖性频域插值,得到各帧频域混音后的时域音频序列;该覆盖性频域插值是先将原始音频序列由时域变换到频域,然后进行覆盖性频域插值运算,再由频域变回时域,最后得到混音音频序列;
3)将混音信号的各帧数据组合成一个完整的输出音频流。
所述步骤2)还包括如下子步骤:
21)取两个音频流中相应的两个帧,分别做离散傅立叶变换/快速傅立叶变换,得到两个离散频谱;
22)对步骤21)中得到的两个离散频谱进行覆盖性插值,得到一个混音频谱;
23)对步骤22)中得到的混音频谱做离散傅立叶逆变换/快速傅立叶逆变换,得到混音后的时域音频序列。
所述步骤步骤22)中的覆盖性插值过程如下:
将两个离散频谱乘上一个插值函数,使得插值序列中奇数/偶数序号的谱线与第一个离散频谱的相应谱线相同,偶数/奇数序号的谱线与第二个离散频谱的相应谱线相同。
所述步骤3)中需消除由于帧移造成的帧与帧之间的相互重叠,具体做法是:
若帧长为N,帧移为M,则最后输出音频流中的一帧取前一混音帧的前N-M项作为该输出帧的前N-M项,取后一混音帧的前M项作为该输出帧的后M项。
与现有技术相比,本发明提供的基于变换域的数字音频混合方法,其最大优点是有效地解决了经典混音中的溢出问题,尤其对于嵌入式终端(如定点DSP)上的实时双路音频流混合,提供了足以令人满意的音效级混音效果。变换域混音算法的设计初衷是针对嵌入式移动终端开发的,目的是为了在移动终端上提共形成特定语音效果的实时音效处理。所以在不过分苛求音质的情况下,频域混音算法能够提供很好的“音效级”混合效果,例如将一段语音与一段背景声音实时混合到一起,作为手机的音效铃声等等。实际上对于任何嵌入式系统,“溢出”问题都是最让人头痛的,因为嵌入式系统相对于桌面系统需要更高的集成度以减小其体积,而体积有限的情况下存贮器(输入缓冲区,累加器,输出缓冲区)的容量必然不会很大,因而对数据的动态范围便会有严格的限制。
附图说明
图1是本发明提供的基于变换域的数字音频混合方法实施例流程图;
图2是覆盖性频域插值示意图。
具体实施方式
对音频信号进行处理的一个基本概念就是对声音样本以缓冲区为单位处理,即对输入的声音样本分帧.将已数字化的音频信号序列依次存入一个数据区,在音频信号处理中一般用循环队列的方式来存储这些数据,以便用一个有限容量的数据区来应付数量极大的音频数据(已处理过的音频数据可以依次抛弃,让出存储空间来存入新数据).在进行处理时,按帧(frame)从此数据区中取出数据,处理完成后再取下一帧,依次循环.在取数据时,前一帧和后一帧的交叠部分称为帧移(overlap).为了保证重构信号具有更好的连续性,一般做语音信号处理都采用帧移的方式.
已取出的一帧音频数据x(n)要经过加窗处理,这就是用一定的窗函数w(n)来乘x(n),从而形成加窗音频数据xw(n),xw(n)=x(n)×w(n)。在音频信号处理中常用的窗函数是矩形窗(Triangular)和哈明窗(Hamming),表达式如下(其中N为帧长):
矩形窗
哈明窗
下面结合附图与优选实施例,进一步描述本发明提供的基于变换域的数字音频混合方法。
图1是本发明的一个优选实施例流程图,包括如下步骤:
步骤101:输入已数字化的音频流1和音频流2,该音频流1和音频流2的采样率相同,分别用序列表示音频流1和音频流2。将两个音频信号序列
Figure G2004100884282D00044
分别存入两个数据区,采用循环队列的方式来存储这些数据,以便用一个有限容量的数据区来应付数量极大的音频数据。
步骤102:将序列
Figure G2004100884282D00045
的各项分别读入各自的缓冲区。将序列读入缓冲区时,可以一次读入若干个采样点的数据值,一般一次读入后面窗长N点数据,当然也可以一个采样点一个采样点地读入。
步骤103:若已经读完一帧数据(达到一帧),在加窗后进入步骤104;若还未读完一帧数据,回到步骤102,继续读取数据。需注意的是,程序实现不能保证每一帧的数据同时读完,但是哪一路快的话,可以等待另一路读完,只要在进入步骤105之前都读完当前这一帧即可。
分别对
Figure G2004100884282D00046
加矩形窗函数w(n)截取其一帧,帧长为N(该加窗运算在达到一帧后进行)。即:
x ( n ) = x ~ ( n ) × w ( n ) n=0,1,2,…N-1            (4)
y ( n ) = y ~ ( n ) × w ( n ) n=0,1,2,…N-1            (5)
步骤104:对x(n),y(n)做N点离散傅立叶变换(DFT),即:
DFT[x(n)]=X(k)        k=0,1,2…N-1                     (6)
DFT[y(n)]=Y(k)        k=0,1,2…N-1                    (7)
易知,该步骤中的DFT变换也可以用FFT变换代替。
在此需要说明的是,一般N都取偶数,因为对应DFT的快速算法FFT要求输入序列的点数为2的N次方,例如8,16,32,64,128,…,1024,2048,4096等等,显然这些均为偶数。所以为了提高数据精度,在不进行人为补0的情况下,N一般都取2的整数幂,以便于直接利用FFT算法快速计算DFT变换。
步骤105:对X(k)、Y(k)进行覆盖性频域插值。
当N为偶数时,设插值函数T(n)=[1+(-1)n]/2,n=0,±1,±2,……即:
则令
    Z(k)=X(k)T(k)+Y(k)T(k+1)    k=0,1,…N-1        (9)
或  Z(k)=X(k)T(k+1)+Y(k)T(k)    k=0,1,…N-1        (10)
以上两种形式均可,相当于把俩个频谱的对应谐波分量进行覆盖性插值,称为覆盖性频域插值(Frequency Replacement-Insertion)。因为实序列的谱线是关于原点和N/2(N为偶数)共轭对称的,按上述定义的插值函数T(n)恰好把俩个共轭谱线(对应同一谐波分量)同时(插值)替换了。
步骤106:对覆盖性插值后得到的频谱Z(k)做离散傅立叶逆变换(IDFT)。得到与Z(k)对应得时域序列z(n),即:
z(n)=IDFT[Z(k)]            n=0,1,…N-1            (11)
易知,这一步也可以通过IFFT得到z(n)。
步骤107:将经过频域混音后的信号z(n)写入缓冲区。在这一过程中应注意帧移(overlap)的影响。
设后一帧与前一帧的帧移为M(0≤M<N)。
则令:
x 1 ( n ) = x ~ ( n + N - M ) × w ( n ) n=0,1,2,…N-1        (12)
y 1 ( n ) = y ~ ( n + N - M ) × w ( n ) n=0,1,2,…N-1        (13)
x1(n)、y1(n)为后一帧的时域音频序列。
对x1(n)、y1(n)重复步骤102~步骤106的操作,得到z1(n)。
为混音后的时域音频序列,则z(n)的前N-M个点与z1(n)的前M个点便一起构成了的第一帧的N个点,即:
z ~ ( n ) × w ( n ) = z ( n ) n = 0,1,2 , · · · N - M z 1 [ n - ( N - M ) ] n = N - M , · · · N - 1 - - - ( 14 )
以上是得到了混音序列的完整一帧。
步骤108:以此类推,只要对
Figure G2004100884282D00065
Figure G2004100884282D00066
重复步骤102~步骤107,即可得出最后的混音序列
Figure G2004100884282D00067
频域混音作为一种非线性变换,相对于时域混音的线性叠加方法从根本上克服了混音中的“溢出”问题,从而彻底解决了经典混音算法中的“削波失真”问题。
由上述可知,频域混音先是对原音频信号的频谱进行抽取,然后再在频域构造新的频谱以生成新的音频信号,实际上是对原音频信号谐波成分的重构。
就如MP3压缩一样,MP3为了获得更大的压缩比,实际上是一种对音频数据的有损压缩;而频域混音为了避免经典混音算法中的溢出问题,实际上是一种对音频数据的有损混音。然而通过听觉实验可以发现这种程度的失真人耳一般是很难察觉出来的。
频域混音算法的设计初衷是针对嵌入式移动终端开发的,目的是为了在移动终端上提共形成特定语音效果的实时音效处理.所以在不过分苛求音质的情况下,频域混音算法能够提供很好的“音效级”混合效果,例如将一段语音与一段背景声音实时混合到一起,作为手机的音效铃声等等.实际上对于任何嵌入式系统,“溢出”问题都是最让人头痛的,因为嵌入式系统相对于桌面系统需要更高的集成度以减小其体积,而体积有限的情况下存贮器(输入缓冲区,累加器,输出缓冲区)的容量必然不会很大,因而对数据的动态范围便会有严格的限制.
频域混音的最大特点是有效地解决了经典混音中的溢出问题,尤其对于嵌入式终端(如定点DSP)上的实时双路音频流混合,提供了足以令人满意的音效级混音效果。

Claims (1)

1.一种基于变换域的数字音频混合方法,包括如下步骤:
1)输入两个已数字化的音频流,进行分帧处理,得到各帧的时域音频序列;
2)对两个音频流以帧为单位进行覆盖性频域插值,得到各帧频域混音后的时域音频序列;该覆盖性频域插值是先将原始音频序列由时域变换到频域,然后进行覆盖性频域插值运算,再由频域变换到时域,最后得到混音音频序列;
具体步骤如下:
21)取两个音频流中相应的两个帧,分别做离散傅立叶变换/快速离散傅立叶变换,得到两个离散频谱;
22)对步骤21)中得到的两个离散频谱进行覆盖性插值,得到一个混音频谱;
其中,所述步骤步骤22)中的覆盖性插值过程如下:
将两个离散频谱乘上一个插值函数,使得插值序列中奇数/偶数序号的谱线与第一个离散频谱的相应谱线相同,偶数/奇数序号的谱线与第二个离散频谱的相应谱线相同;
23)对步骤22)中得到的混音频谱做离散傅立叶逆变换/快速离散傅立叶逆变换,得到混音后的时域音频序列;
3)将混音信号的各帧数据组合成一个完整的输出音频流;
所述步骤3)中还需消除由于帧移造成的帧与帧之间的相互重叠,具体做法是:
若帧长为N,帧移为M,则最后输出音频流中的一帧取前一混音帧的前N-M项作为该输出帧的前N-M项,取后一混音帧的前M项作为该输出帧的后M项。
CN200410088428A 2004-11-02 2004-11-02 一种基于变换域的数字音频混合方法 Expired - Fee Related CN1770256B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200410088428A CN1770256B (zh) 2004-11-02 2004-11-02 一种基于变换域的数字音频混合方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200410088428A CN1770256B (zh) 2004-11-02 2004-11-02 一种基于变换域的数字音频混合方法

Publications (2)

Publication Number Publication Date
CN1770256A CN1770256A (zh) 2006-05-10
CN1770256B true CN1770256B (zh) 2010-05-05

Family

ID=36751503

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200410088428A Expired - Fee Related CN1770256B (zh) 2004-11-02 2004-11-02 一种基于变换域的数字音频混合方法

Country Status (1)

Country Link
CN (1) CN1770256B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150200643A1 (en) * 2011-10-11 2015-07-16 Google Inc. Clipping protection in fixed-width audio mixing

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102682776B (zh) * 2012-05-28 2014-11-19 深圳市茁壮网络股份有限公司 一种音频数据的处理方法和服务器
CN104064191B (zh) * 2014-06-10 2017-12-15 北京音之邦文化科技有限公司 混音方法及装置
CN106878230A (zh) * 2015-12-10 2017-06-20 中国电信股份有限公司 网络电话会议中的音频处理方法、服务器以及系统
CN106504758B (zh) * 2016-10-25 2019-07-16 大连理工大学 混音器及混音方法
KR102067692B1 (ko) * 2018-09-28 2020-01-17 주식회사 앤씨앤 영상 및 음성의 혼합 신호 생성 방법 및 장치
CN109819391B (zh) * 2019-01-24 2022-05-06 思必驰科技股份有限公司 用于FreeRTOS单芯片的音频重采样方法和装置
CN110415716B (zh) * 2019-07-05 2021-11-26 达闼机器人有限公司 音频混合方法、装置、存储介质及电子设备
CN112948331B (zh) * 2021-03-01 2023-02-03 湖南快乐阳光互动娱乐传媒有限公司 音频文件的生成方法、解析方法、生成器及解析器
CN113223499B (zh) * 2021-04-12 2022-11-04 青岛信芯微电子科技股份有限公司 一种音频负样本的生成方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1184382A (zh) * 1996-12-05 1998-06-10 汤姆森多媒体公司 处理数字信号的方法
CN1250293A (zh) * 1998-08-10 2000-04-12 扬智科技股份有限公司 压缩多声道音频位元流的解码装置及方法
US6154161A (en) * 1998-10-07 2000-11-28 Atmel Corporation Integrated audio mixer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1184382A (zh) * 1996-12-05 1998-06-10 汤姆森多媒体公司 处理数字信号的方法
CN1250293A (zh) * 1998-08-10 2000-04-12 扬智科技股份有限公司 压缩多声道音频位元流的解码装置及方法
US6154161A (en) * 1998-10-07 2000-11-28 Atmel Corporation Integrated audio mixer

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150200643A1 (en) * 2011-10-11 2015-07-16 Google Inc. Clipping protection in fixed-width audio mixing
US9118296B2 (en) * 2011-10-11 2015-08-25 Google Inc. Clipping protection in fixed-width audio mixing

Also Published As

Publication number Publication date
CN1770256A (zh) 2006-05-10

Similar Documents

Publication Publication Date Title
CN101263741B (zh) 产生和处理表示hrtf的参数的方法和设备
Hatziantoniou et al. Generalized fractional-octave smoothing of audio and acoustic responses
Härmä et al. Frequency-warped signal processing for audio applications
JP3528258B2 (ja) 符号化音声信号の復号化方法及び装置
CN106658343A (zh) 用于渲染音频声场表示以供音频回放的方法和设备
CN1770256B (zh) 一种基于变换域的数字音频混合方法
CN101366081A (zh) 双声道音频信号的解码
Laroche et al. New phase-vocoder techniques are real-time pitch shifting, chorusing, harmonizing, and other exotic audio modifications
CN111724807A (zh) 音频分离方法、装置、电子设备及计算机可读存储介质
CN101646123B (zh) 一种模拟听觉感知模型的滤波器组
Garcia-Gomez et al. Binaural room impulse responses interpolation for multimedia real-time applications
CN103945291A (zh) 一种应用双麦克风定向传声的方法及装置
Schlecht et al. Accurate reverberation time control in feedback delay networks
Kabzinski et al. A causality-constrained frequency-domain least-squares filter design method for crosstalk cancellation
CN103714825A (zh) 基于听觉感知模型的多通道语音增强方法
CN115588437A (zh) 语音增强方法、装置、设备和存储介质
US11942097B2 (en) Multichannel audio encode and decode using directional metadata
CN105280178A (zh) 声音信号处理装置及其声音信号处理方法
Bank Warped, kautz, and fixed-pole parallel filters: A review
Burred et al. Comparison of frequency-warped representations for source separation of stereo mixtures
Schroeder Correlation techniques for speech bandwidth compression
Binelli et al. Digital equalization of automotive sound systems employing spectral smoothed FIR filters
Wefers et al. Potential of non-uniformly partitioned convolution with freely adaptable FFT sizes
Abel et al. Luciverb: Iterated convolution for the impatient
CN116312636B (zh) 电音基调分析方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100505