CN111145783A - 一种音频信号字符串匹配方法 - Google Patents

一种音频信号字符串匹配方法 Download PDF

Info

Publication number
CN111145783A
CN111145783A CN201911386291.1A CN201911386291A CN111145783A CN 111145783 A CN111145783 A CN 111145783A CN 201911386291 A CN201911386291 A CN 201911386291A CN 111145783 A CN111145783 A CN 111145783A
Authority
CN
China
Prior art keywords
character string
audio signal
characters
matching
comparison
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.)
Pending
Application number
CN201911386291.1A
Other languages
English (en)
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.)
Hangzhou Linker Technology Co ltd
Original Assignee
Hangzhou Linker 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 Hangzhou Linker Technology Co ltd filed Critical Hangzhou Linker Technology Co ltd
Priority to CN201911386291.1A priority Critical patent/CN111145783A/zh
Publication of CN111145783A publication Critical patent/CN111145783A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/686Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title or artist information, time, location or usage information, user ratings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Library & Information Science (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种音频信号字符串匹配方法,其包括以下步骤:S1、将第一音频信号数据存储到字符串A中;S2、将第二音频信号数据存储到字符串B中;S3、计算字符串B的next数组;S4、对字符串A和字符串B进行匹配。本方案针对音频信号是个正负区间值来回变换的特征进行对比匹配,计算量小,对硬件要求低,便于轻量化推广,适用于广播、电视、电影等领域。

Description

一种音频信号字符串匹配方法
技术领域
本发明涉及音频信号处理领域,尤其是涉及一种计算量小、速度快的音频信号字符串匹配方法。
背景技术
在广播电视电影等音频领域,常常需要对音频信号进行判断是否包含另外一段音频的判断,例如进行广告是否播出以及播出次数的统计、台宣播出次数的统计、相关宣传精神文件的播出次数统计等。
在以往的技术中,常规的做法是使用专业音频矢量卡,将音频矢量化得到其矢量特征,然后通过服务器的处理能力对矢量信息进行对比,这样的方案需要昂贵的专业矢量卡,同时对于服务器的运算处理能力要求较高,需要配置性能极佳的cpu及内存等,不便于进行一些轻量化的推广。
发明内容
本发明主要是解决现有技术所存在的计算量大、对硬件要求较高等的技术问题,提供一种轻量化、硬件要求较低的音频信号字符串匹配方法。
本发明针对上述技术问题主要是通过下述技术方案得以解决的:一种音频信号字符串匹配方法,包括以下步骤:
S1、将第一音频信号数据存储到字符串A中;
S2、将第二音频信号数据存储到字符串B中;
S3、计算字符串B的next数组;
S4、对字符串A和字符串B进行匹配。
音频信号数据为wav格式数据。
作为优选,所述步骤S3中,next数组由以下公式计算确定:
Figure BDA0002343723800000021
next[j]为next数组的第j个元素,Bi为字符串B中的第i个字符。
即当j大于2时,看字符串B的第1至第j-1个字符的首尾重合数,如果首尾重合数为k-1,即B[1]至B[k-1]和B[j+k-1]至B[j-1]相同,则next[j]为k;如果一个字符都不相同,即首尾重合数为0,则next[j]为1。
作为优选,步骤S4具体为:
S401、设定m的初始值为1,将字符串B与字符串A的第1到s个字符进行对比,s为字符串B的字符个数,如果对比结果为完全匹配,则跳转到步骤S405,否则进入步骤S402;
S402、m增大n-next[n],n为上一次对比时第一个不匹配字符在字符串B中的次序;
S403、判断s+m-1是否大于字符串A的字符个数,如果大于则进入步骤S406,否则进入步骤S404;
S404、将字符串B与字符串A的第m到第s+m-1个字符进行对比,如果对比结果为完全匹配,则进入步骤S405,否则跳转到步骤S402;
S405、判定第二音频信号属于第一音频信号的一部分,输出判定结果,流程结束;
S406、判定第二音频信号不属于第一音频信号的一部分,输出判定结果,流程结束。
根据音频信息特征,在噪声干扰较小的情况下,音频的音量值可能会变化,波形文件的变化趋势及波动基本不受干扰,而在广播电视领域发射到接收的噪声干扰也有严格的要求,在相关标准的要求范围内的噪声,对音频信息的干扰基本可以忽略不计,鉴于此本发明采用轻量化的对音频波形文件进行字符串化对比分析的方法进行音频信号对比。常规的字符串对比需要用到递归算法进行字符串匹配,匹配次数及效率在对于音频信号的wav数据这种超大数据的处理时就会效率不足,故此我们针对音频信号是个正负区间值来回变换的特征,提出本算法。
本发明带来的实质性效果是,计算量小,对硬件要求低,便于轻量化推广。
附图说明
图1是本发明的一种流程图;
图2时本发明的一种匹配过程流程图。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例:本实施例的一种音频信号字符串匹配方法,包括以下步骤:
S1、将第一音频信号数据存储到字符串A中;
S2、将第二音频信号数据存储到字符串B中;
S3、计算字符串B的next数组;
S4、对字符串A和字符串B进行匹配。
音频信号数据为wav格式数据。
所述步骤S3中,next数组由以下公式计算确定:
Figure BDA0002343723800000031
next[j]为next数组的第j个元素,B[i]为字符串B中的第i个字符。
例如字符串B为:a,b,c,d,a,b,d。
逗号为分隔符号,不属于字符串的部分,后同。
j=1,next[1]=0;
j=2,next[2]=1;
j=3,字符串B第1至第2(3-1=2)个字符为a,b,首尾重合数为0,所以next[3]=1;
j=4,字符串B第1至第3(4-1=3)个字符为a,b,c,首尾重合数为0,所以next[4]=1;
j=5,字符串B第1至第4(5-1=4)个字符为a,b,c,d,首尾重合数为0,所以next[5]=1;
j=6,字符串B第1至第5(6-1=5)个字符为a,b,c,d,a,B[1]=B[4],首尾重合数为1,所以next[6]=2;
j=7,字符串B第1至第6(7-1=6)个字符为a,b,c,d,a,b,B[1]B[2]=B[5]B[6],首尾重合数为2,所以next[7]=3;
最终得到next数组为0,1,1,1,1,2,3。
如图2所示,步骤S4具体为:
S401、设定m的初始值为1,将字符串B与字符串A的第1到s个字符进行对比,s为字符串B的字符个数,如果对比结果为完全匹配,则跳转到步骤S405,否则进入步骤S402;
S402、m增大n-next[n],n为上一次对比时第一个不匹配字符在字符串B中的次序;
S403、判断s+m-1是否大于字符串A的字符个数,如果大于则进入步骤S406,否则进入步骤S404;
S404、将字符串B与字符串A的第m到第s+m-1个字符进行对比,如果对比结果为完全匹配,则进入步骤S405,否则跳转到步骤S402;
S405、判定第二音频信号属于第一音频信号的一部分,输出判定结果,流程结束;
S406、判定第二音频信号不属于第一音频信号的一部分,输出判定结果,流程结束。
例如字符串A为b,b,c,a,b,c,d,a,b,e,a,b,c,d,a,b,c,d,a,b,d,e。
字符串A的字符个数为22,字符串B的个数s为7。
第一次对比,m=1,将字符串B与字符串A的第1至7个字符进行对比,
A b b c a b c d a b e a b c d a b c d a b d e
B a b c d a b d
A[1]不等于B[1],不完全匹配,n=1,将m增大n-next[n],即增大1-0=1,新m为2,s+m-1=7+2-1=8<22,进行下一次对比;
第二次对比,m=2,将字符串B与字符串A的第2(m)至8(s+m-1)个字符进行对比,
A b b c a b c d a b e a b c d a b c d a b d e
B a b c d a b d
A[2]不等于B[1],不完全匹配,n=1,将m增大n-next[n],即增大1-0=1,新m为3,s+m-1=7+3-1=9<22,进行下一次对比;
第三次对比,m=3,将字符串B与字符串A的第3(m)至9(s+m-1)个字符进行对比,
A b b c a b c d a b e a b c d a b c d a b d e
B a b c d a b d
A[3]不等于B[1],不完全匹配,n=1,将m增大n-next[n],即增大1-0=1,新m为4,s+m-1=7+4-1=10<22,进行下一次对比;
第四次对比,m=4,将字符串B与字符串A的第4(m)至10(s+m-1)个字符进行对比,
A b b c a b c d a b e a b c d a b c d a b d e
B a b c d a b d
A[4]A[5]A[6]A[7]A[8]A[9]=B[1]B[2]B[3]B[4]B[5]B[6],A[10]不等于B[7],不完全匹配,n=7,将m增大n-next[n],即增大7-3=4,新m为8,s+m-1=7+8-1=14<22,进行下一次对比;
第五次对比,m=8,将字符串B与字符串A的第8(m)至14(s+m-1)个字符进行对比,
A b b c a b c d a b e a b c d a b c d a b d e
B a b c d a b d
A[8]A[9]=B[1]B[2],A[10]不等于B[3],不完全匹配,n=3,将m增大n-next[n],即增大3-1=2,新m为10,s+m-1=7+10-1=16<22,进行下一次对比;
第六次对比,m=10,将字符串B与字符串A的第10(m)至16(s+m-1)个字符进行对比,
A b b c a b c d a b e a b c d a b c d a b d e
B a b c d a b d
A[10]不等于B[1],不完全匹配,n=1,将m增大n-next[n],即增大1-0=1,新m为11,s+m-1=7+11-1=17<22,进行下一次对比;
第七次对比,m=11,将字符串B与字符串A的第11(m)至17(s+m-1)个字符进行对比,
A b b c a b c d a b e a b c d a b c d a b d e
B a b c d a b d
A[11]A[12]A[13]A[14]A[15]A[16]=B[1]B[2]B[3]B[4]B[5]B[6],A[17]不等于B[7],不完全匹配,n=7,将m增大n-next[n],即增大7-3=4,新m为15,s+m-1=7+15-1=21<22,进行下一次对比;
第八次对比,m=15,将字符串B与字符串A的第15(m)至21(s+m-1)个字符进行对比,
A b b c a b c d a b e a b c d a b c d a b d e
B a b c d a b d
A[15]A[16]A[17]A[18]A[19]A[20]A[21]=B[1]B[2]B[3]B[4]B[5]B[6]B[7],完全匹配,判定第二音频信号属于第一音频信号的一部分,输出判定结果,对比流程结束。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
尽管本文较多地使用了字符串、数组等术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的。

Claims (3)

1.一种音频信号字符串匹配方法,其特征在于,包括以下步骤:
S1、将第一音频信号数据存储到字符串A中;
S2、将第二音频信号数据存储到字符串B中;
S3、计算字符串B的next数组;
S4、对字符串A和字符串B进行匹配。
2.根据权利要求1所述的一种音频信号字符串匹配方法,其特征在于,所述步骤S3中,next数组由以下公式计算确定:
Figure FDA0002343723790000011
next[j]为next数组的第j个元素,Bi为字符串B中的第i个字符。
3.根据权利要求2所述的一种音频信号字符串匹配方法,其特征在于,步骤S4具体为:
S401、设定m的初始值为1,将字符串B与字符串A的第1到s个字符进行对比,s为字符串B的字符个数,如果对比结果为完全匹配,则跳转到步骤S405,否则进入步骤S402;
S402、m增大n-next[n],n为上一次对比时第一个不匹配字符在字符串B中的次序;
S403、判断s+m-1是否大于字符串A的字符个数,如果大于则进入步骤S406,否则进入步骤S404;
S404、将字符串B与字符串A的第m到第s+m-1个字符进行对比,如果对比结果为完全匹配,则进入步骤S405,否则跳转到步骤S402;
S405、判定第二音频信号属于第一音频信号的一部分,输出判定结果,流程结束;
S406、判定第二音频信号不属于第一音频信号的一部分,输出判定结果,流程结束。
CN201911386291.1A 2019-12-29 2019-12-29 一种音频信号字符串匹配方法 Pending CN111145783A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911386291.1A CN111145783A (zh) 2019-12-29 2019-12-29 一种音频信号字符串匹配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911386291.1A CN111145783A (zh) 2019-12-29 2019-12-29 一种音频信号字符串匹配方法

Publications (1)

Publication Number Publication Date
CN111145783A true CN111145783A (zh) 2020-05-12

Family

ID=70521358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911386291.1A Pending CN111145783A (zh) 2019-12-29 2019-12-29 一种音频信号字符串匹配方法

Country Status (1)

Country Link
CN (1) CN111145783A (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736926A (ja) * 1993-06-28 1995-02-07 Nippon Telegr & Teleph Corp <Ntt> 不完全文字列と文字列の照合方法および装置
JP2005227944A (ja) * 2004-02-12 2005-08-25 Matsushita Electric Ind Co Ltd 文字情報取得装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736926A (ja) * 1993-06-28 1995-02-07 Nippon Telegr & Teleph Corp <Ntt> 不完全文字列と文字列の照合方法および装置
JP2005227944A (ja) * 2004-02-12 2005-08-25 Matsushita Electric Ind Co Ltd 文字情報取得装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
姚秀情: "浅析KMP算法中next数组值计算", 《数字技术与应用》 *
张奕林: "基于WEB的哼唱检索系统研究和实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Similar Documents

Publication Publication Date Title
CN106059712B (zh) 一种高误码的任意码率卷积码编码参数盲识别方法
CN112652320B (zh) 声源定位方法和装置、计算机可读存储介质、电子设备
CN109905328B (zh) 数据流的识别方法和装置
WO2018226886A1 (en) Methods and apparatus for audio signature generation and matching
CN109951725B (zh) 一种直播间的推荐方法以及相关设备
US20200169824A1 (en) Processing of a Multi-Channel Spatial Audio Format Input Signal
CN107369460A (zh) 基于声学矢量传感器空间锐化技术的语音增强装置及方法
CN102547740A (zh) 干扰消除方法、设备及通信系统
CN111145783A (zh) 一种音频信号字符串匹配方法
CN107508775A (zh) 一种稀疏码多址接入系统中的译码方法及装置
CN110876072B (zh) 一种批量注册用户识别方法、存储介质、电子设备及系统
CN111384972A (zh) 多进制ldpc解码算法的优化方法、装置及解码器
CN104182411A (zh) 基于Map-Reduce的高维数据相似性连接方法和装置
US9037944B2 (en) Method for selecting a LDPC candidate code
CN111832632A (zh) 基于高次频谱对称Holder系数的雷达信号分选方法及系统
CN116579319A (zh) 一种文本相似度的分析方法及系统
CN113378902B (zh) 一种基于优化视频特征的视频抄袭检测方法
CN101356540A (zh) 基于n维空间二分法的矢量量化器
US7624009B2 (en) Method and system for producing variable length context models
CN115865099A (zh) 基于霍夫曼编码的多类型数据分段压缩方法及系统
CN108595508B (zh) 一种基于后缀数组的自适应索引构建方法及系统
CN110875743B (zh) 基于抽样猜测的数据压缩方法
CN109104453B (zh) 传感器评估服务器以及传感器评估方法
CN112053210A (zh) 一种基于商品社区分类的关联值传播方法、系统及设备
CN101882932B (zh) 循环码分组长度的一种盲识别方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200512

RJ01 Rejection of invention patent application after publication