CN108399921A - 一种音频竖线波形图的生成方法 - Google Patents

一种音频竖线波形图的生成方法 Download PDF

Info

Publication number
CN108399921A
CN108399921A CN201810163270.2A CN201810163270A CN108399921A CN 108399921 A CN108399921 A CN 108399921A CN 201810163270 A CN201810163270 A CN 201810163270A CN 108399921 A CN108399921 A CN 108399921A
Authority
CN
China
Prior art keywords
audio
pixel
oscillogram
frame number
data
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.)
Granted
Application number
CN201810163270.2A
Other languages
English (en)
Other versions
CN108399921B (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.)
Beijing Kuwo Technology Co Ltd
Original Assignee
Beijing Kuwo 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 Beijing Kuwo Technology Co Ltd filed Critical Beijing Kuwo Technology Co Ltd
Priority to CN201810163270.2A priority Critical patent/CN108399921B/zh
Publication of CN108399921A publication Critical patent/CN108399921A/zh
Application granted granted Critical
Publication of CN108399921B publication Critical patent/CN108399921B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明涉及一种音频竖线波形图的生成方法,步骤如下:创建AVAsset对象,读取音频文件中的音轨AudioTrack,ASBD数据结构,得到音频文件描述信息,获取声道数和采样率,将音频总时间转换为总帧数,得到总采样帧数,将总采样帧数除以波形图宽度像素数,得到每像素需要展现的帧数,生竖线线条时,首先建立宽度像素值个数的矩形区域Layer,然后按每像素一个Layer排列,最后对音频数据进行格式化,设定矩形区域Layer的高度。本发明,获取音频后,将波形图每像素和音频的帧数相对应,根据音频数据格式化的形成波形图的像素,处理速度快,图形准确性好,系统开销较佳,可作为波形图标准生成模块供其他功能调用,易于后期维护及使用。

Description

一种音频竖线波形图的生成方法
技术领域
本发明涉及波形图绘制技术领域,具体说是一种音频竖线波形图的生成方法。
背景技术
声波是一种纵波,来回振动导致空气分子产生疏密相间的排列。但是这种二维空间的方式非常不便于表示声音的属性,于是我们取任意一个点,测量这个点的气压随时间的变化,这样就变成了横轴为时间,纵轴为压力变化的图像。气压距离标准值偏差越大,说明振动越剧烈,响度越大,所以振幅越大的波形表示声音越大。波形越紧密说明单位时间内振动的次数越多,频率越高,音高越高。
但是这样有个问题,就是对于单频率的振动,可以很容易表示出来,而我们听到的声音往往是很复杂的频率的叠加。因为各个频率的波形都叠在一起了,就像把很多个周期振幅相位都不等的三角函数图像加在一起,导致波形图难以直观的看出有用的信息。此时,我们就需要频谱来帮忙了。频谱通过对波形的傅里叶变换,把波形中的每个频率拆开来,再在纵轴上展开,越往上频率越高。频谱是三维的,越亮表示在这个频率上越响,越暗表示越弱。所以频谱相对于波形图,是包含有更多信息的,唯一的缺点就是无法表示整体音量总和的大小,所以一般和波形配合观看。
综上,波形是将声音的振幅图形化,频谱是将声音的频率图形化。
波形声音设备(例如麦克风)可以捕捉声音,并将其转换为数值,然后把它们储存到内存或者磁盘中形成波形文件,波形文件的扩展名是.WAV。这样,声音就可以播放了。波形文件是数字化的波形声音,是一种使用二进制表示的串行比特流,它遵循一定的标准或者规范编码,其数据是按时间顺序组织的。
采样的位数指的是描述数字信号所使用的位数。8位(8bit)代表2的8次方=256,16位(16bit)则代表2的16次方=65536/1024=64K。
采样率(采样频率)是一秒钟内对声音信号的采样次数,采样率越高声音音质理论就越真实,音频文件(波形文件)就越大。
我们可以根据波形文件的头信息获取他的采样,然后从录音缓存区中随着时间顺序去读取对应的一个数值,然后通过这个数值去绘制对应的波形图,但目前没有相应的具体算法被公开。
波形文件的头信息即wav格式的音频数据的头部信息基本上是固定不变的,总共44个字节,包括以下内容:
1."RIFF"(4个字节)
固定字符串,RIFF是英文Resource Interchange File Format的缩写
2.录音数据长度 +(44 -8) (4个字节)
类型可以是int或long,但必须保证类型占4个字节大小
3."WAVE "(4个字节)
固定字符串,表示是wav文件
4."fmt " (4个字节)
固定字符串,注意最后有一个空格
5.size1(4个字节)
值为16,如果为18则最后多了2个字节的附加信息
6.format tag(2个字节)
值为1
7.channel(2个字节)
声道数,1为单声道,2为多声道
8.sampleRate(4个字节)
采样率,值为8000,16000等
9.bytePerSec(4个字节)
每秒所需的字节数
10.blockAlign(2个字节)
每个采样需要的字节数,计算公式:声道数 * 每个采样需要的bit / 8
11.bitPerSample(2个字节)
每个采样需要的bit数,一般为8或16
12."data"(4个字节)
固定字符串
13.size2(4个字节)
录音数据的长度,不包括头部长度。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种音频竖线波形图的生成方法,获取音频后,将波形图每像素和音频的帧数相对应,根据音频数据格式化的形成波形图的像素,处理速度快,图形准确性好,系统开销较佳,可作为波形图标准生成模块供其他功能调用,易于后期维护及使用。
为达到以上目的,本发明采取的技术方案是:
一种音频竖线波形图的生成方法,其特征在于,包括如下步骤:
为一个音频文件创建AVAsset对象,
通过AVAsset对象读取音频文件中的音轨AudioTrack,
通过AVAsset对象读取音频文件中的ASBD数据结构,得到音频文件描述信息,
获取音频文件描述信息中记录的中的声道数Channel和采样率sampleRate,
将音频文件描述信息中记录的音频总时间转换为总帧数,得到总采样帧数,
将总采样帧数除以波形图宽度像素数,得到每像素需要展现的帧数,
生成波形图中的竖线线条时,首先建立宽度像素值个数的矩形区域Layer,然后按每像素一个Layer排列,最后对音轨AudioTrack中的音频数据进行格式化,设定矩形区域Layer的高度。
在上述技术方案的基础上,通过AVAsset对象的AVAssetReader方法从原始数据里获取解码后的音频数据,
将音频数据通过AVAsset对象的ReaderTrackOutput方法形成音频流。
在上述技术方案的基础上,音频流存入读取数据缓冲NextSampleBuffer中,
读取数据缓冲NextSampleBuffer包括以下属性:
缓冲长度bufferLength,
缓冲地址bufferAddress,
其中,通过计算将缓冲长度bufferLength转换为buffer帧数,按帧循环读取当前缓冲,
如果当前帧数小于每像素展现帧数,则当前像素音频数据加冲地址,且所述缓冲地址强制转换为Float数据进行累加,
如果当前帧数等于或大于每像素展现帧数,则视为读满了一个像素的数据。
在上述技术方案的基础上,在当前帧数等于或大于每像素展现帧数时,计算总值/像素帧数得到像素音频均值,保存像素音频均值到音频数据,
在音频数据小于波形图宽时,重复读取下一像素数据。
本发明所述的音频竖线波形图的生成方法,获取音频后,将波形图每像素和音频的帧数相对应,根据音频数据格式化的形成波形图的像素,处理速度快,图形准确性好,系统开销较佳,可作为波形图标准生成模块供其他功能调用,易于后期维护及使用。
附图说明
本发明有如下附图:
图1本发明的流程图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
如图1所示,本发明所述的音频竖线波形图的生成方法,包括如下步骤:
为一个音频文件创建AVAsset对象,
通过AVAsset对象读取音频文件中的音轨AudioTrack,
通过AVAsset对象读取音频文件中的ASBD数据结构,得到音频文件描述信息,所述ASBD数据结构定义了一个音频流最普遍的特征:它有多少声道,它在什么格式下,比特率等等,
获取音频文件描述信息中记录的中的声道数Channel和采样率sampleRate,
将音频文件描述信息中记录的音频总时间转换为总帧数,得到总采样帧数,
将总采样帧数除以波形图宽度像素数,得到每像素需要展现的帧数,
生成波形图中的竖线线条时,首先建立宽度像素值个数的矩形区域Layer,然后按每像素一个Layer排列,最后对音轨AudioTrack中的音频数据进行格式化,设定矩形区域Layer的高度。
在上述技术方案的基础上,通过AVAsset对象的AVAssetReader方法从原始数据里获取解码后的音频数据,
将音频数据通过AVAsset对象的ReaderTrackOutput方法形成音频流。
在上述技术方案的基础上,音频流存入读取数据缓冲NextSampleBuffer中,
读取数据缓冲NextSampleBuffer包括以下属性:
缓冲长度bufferLength,
缓冲地址bufferAddress,
其中,通过计算将缓冲长度bufferLength转换为buffer帧数,按帧循环读取当前缓冲,
如果当前帧数小于每像素展现帧数,则当前像素音频数据加冲地址,且所述缓冲地址强制转换为Float数据进行累加,
如果当前帧数等于或大于每像素展现帧数,则视为读满了一个像素的数据。
在上述技术方案的基础上,在当前帧数等于或大于每像素展现帧数时,计算总值/像素帧数得到像素音频均值,保存像素音频均值到音频数据,
在音频数据小于波形图宽时,重复读取下一像素数据。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (4)

1.一种音频竖线波形图的生成方法,其特征在于,包括如下步骤:
为一个音频文件创建AVAsset对象,
通过AVAsset对象读取音频文件中的音轨AudioTrack,
通过AVAsset对象读取音频文件中的ASBD数据结构,得到音频文件描述信息,
获取音频文件描述信息中记录的中的声道数Channel和采样率sampleRate,
将音频文件描述信息中记录的音频总时间转换为总帧数,得到总采样帧数,
将总采样帧数除以波形图宽度像素数,得到每像素需要展现的帧数,
生成波形图中的竖线线条时,首先建立宽度像素值个数的矩形区域Layer,然后按每像素一个Layer排列,最后对音轨AudioTrack中的音频数据进行格式化,设定矩形区域Layer的高度。
2.如权利要求1所述的音频竖线波形图的生成方法,其特征在于:通过AVAsset对象的AVAssetReader方法从原始数据里获取解码后的音频数据,
将音频数据通过AVAsset对象的ReaderTrackOutput方法形成音频流。
3.如权利要求2所述的音频竖线波形图的生成方法,其特征在于:音频流存入读取数据缓冲NextSampleBuffer中,
读取数据缓冲NextSampleBuffer包括以下属性:
缓冲长度bufferLength,
缓冲地址bufferAddress,
其中,通过计算将缓冲长度bufferLength转换为buffer帧数,按帧循环读取当前缓冲,
如果当前帧数小于每像素展现帧数,则当前像素音频数据加冲地址,且所述缓冲地址强制转换为Float数据进行累加,
如果当前帧数等于或大于每像素展现帧数,则视为读满了一个像素的数据。
4.如权利要求3所述的音频竖线波形图的生成方法,其特征在于:在当前帧数等于或大于每像素展现帧数时,计算总值/像素帧数得到像素音频均值,保存像素音频均值到音频数据,
在音频数据小于波形图宽时,重复读取下一像素数据。
CN201810163270.2A 2018-02-27 2018-02-27 一种音频竖线波形图的生成方法 Active CN108399921B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810163270.2A CN108399921B (zh) 2018-02-27 2018-02-27 一种音频竖线波形图的生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810163270.2A CN108399921B (zh) 2018-02-27 2018-02-27 一种音频竖线波形图的生成方法

Publications (2)

Publication Number Publication Date
CN108399921A true CN108399921A (zh) 2018-08-14
CN108399921B CN108399921B (zh) 2021-09-24

Family

ID=63096727

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810163270.2A Active CN108399921B (zh) 2018-02-27 2018-02-27 一种音频竖线波形图的生成方法

Country Status (1)

Country Link
CN (1) CN108399921B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112383618A (zh) * 2020-11-12 2021-02-19 平安普惠企业管理有限公司 一种音频文件优化方法、装置、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5668042A (en) * 1979-11-07 1981-06-08 Toshiba Corp Data transmission system
CA1242279A (en) * 1984-07-10 1988-09-20 Tetsu Taguchi Speech signal processor
CN101513038A (zh) * 2006-08-31 2009-08-19 诺基亚公司 使用多个暗帧的暗帧抵消法
CN102793551A (zh) * 2011-05-24 2012-11-28 柯尼卡美能达医疗印刷器材株式会社 胸部诊断辅助信息生成系统
CN105096987A (zh) * 2015-06-01 2015-11-25 努比亚技术有限公司 一种音频数据的处理方法及终端
CN105679348A (zh) * 2016-01-14 2016-06-15 深圳市柯达科电子科技有限公司 一种音视频播放器及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5668042A (en) * 1979-11-07 1981-06-08 Toshiba Corp Data transmission system
CA1242279A (en) * 1984-07-10 1988-09-20 Tetsu Taguchi Speech signal processor
CN101513038A (zh) * 2006-08-31 2009-08-19 诺基亚公司 使用多个暗帧的暗帧抵消法
CN102793551A (zh) * 2011-05-24 2012-11-28 柯尼卡美能达医疗印刷器材株式会社 胸部诊断辅助信息生成系统
CN105096987A (zh) * 2015-06-01 2015-11-25 努比亚技术有限公司 一种音频数据的处理方法及终端
CN105679348A (zh) * 2016-01-14 2016-06-15 深圳市柯达科电子科技有限公司 一种音视频播放器及方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
UDAY PUTREVU: "Infragravity velocity profiles in the surf zone", 《JOURNAL OF GEOPHYSICAL RESEARCH》 *
王金龙: "小河特大桥动力特性分析", 《桥隧工程》 *
贺静: "基于 DSP 实时图像分割算法的鸡蛋蛋壳破损检测", 《湖南科技学院学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112383618A (zh) * 2020-11-12 2021-02-19 平安普惠企业管理有限公司 一种音频文件优化方法、装置、计算机设备及存储介质
CN112383618B (zh) * 2020-11-12 2022-09-13 平安普惠企业管理有限公司 一种音频文件优化方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN108399921B (zh) 2021-09-24

Similar Documents

Publication Publication Date Title
JPH0766628B2 (ja) アナログ信号のデジタル記録装置及び記録方法
TWI731382B (zh) 語音合成的方法、裝置及設備
CN110335615A (zh) 音频数据的处理方法、装置、电子设备及存储介质
JPH0738120B2 (ja) 音声記録再生装置
CN108399921A (zh) 一种音频竖线波形图的生成方法
JPH0146879B2 (zh)
US20060120225A1 (en) Apparatus and method for synchronizing audio with video
CN1501869A (zh) 机动车辆用的数字喇叭
CN102169684B (zh) 一种面向工尺谱乐谱的midi文件产生装置
Whalen et al. The Haskins Laboratories’ pulse code modulation (PCM) system
CN109213466A (zh) 庭审信息的显示方法及装置
CN202102705U (zh) 工尺谱乐谱到midi信号的自动转换装置
CN102074233A (zh) 乐曲辨识系统及方法
CN213694055U (zh) 一种语音采集设备
CN102402509A (zh) 一种变码率音频文件的寻址方法和装置
JP3457393B2 (ja) 話速変換方法
WO2005094183A3 (en) Apparatus and method for digital coding of sound
CN111554320A (zh) 基于Windows平台的音频流傅里叶分析方法
JPS6295595A (ja) 音声応答方式
JPH07312041A (ja) ディジタル信号再生装置
JP2734492B2 (ja) 計測データと音声の合成装置
JPH0219899A (ja) 音声蓄積再生装置
CN113038258A (zh) 数字多媒体音频转移方法及装置
JPH10111149A (ja) データ記録装置
CN111653255A (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
GR01 Patent grant
GR01 Patent grant