CN108399921B - 一种音频竖线波形图的生成方法 - Google Patents
一种音频竖线波形图的生成方法 Download PDFInfo
- Publication number
- CN108399921B CN108399921B CN201810163270.2A CN201810163270A CN108399921B CN 108399921 B CN108399921 B CN 108399921B CN 201810163270 A CN201810163270 A CN 201810163270A CN 108399921 B CN108399921 B CN 108399921B
- Authority
- CN
- China
- Prior art keywords
- audio
- frame number
- pixel
- data
- oscillogram
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000005070 sampling Methods 0.000 claims abstract description 17
- 238000009825 accumulation Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 abstract description 3
- 238000012423 maintenance Methods 0.000 abstract description 2
- 238000001228 spectrum Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/16—Vocoder architecture
- G10L19/167—Audio 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数据结构,得到音频文件描述信息,
所述ASBD数据结构定义了一个音频流最普遍的特征:有多少声道,在什么格式下,比特率,
获取音频文件描述信息中记录的中的声道数Channel和采样率sampleRate,
将音频文件描述信息中记录的音频总时间转换为总帧数,得到总采样帧数,
将总采样帧数除以波形图宽度对应的像素的个数,得到每像素需要展现的帧数,
生成波形图中的竖线线条时,首先按波形图宽度对应的像素的个数建立同样数量的矩形区域Layer,然后按每像素一个Layer排列,最后对音轨AudioTrack中的音频数据进行格式化,设定矩形区域Layer的高度。
2.如权利要求1所述的音频竖线波形图的生成方法,其特征在于:通过AVAsset对象的AVAssetReader方法从原始数据里获取解码后的音频数据,
将音频数据通过AVAsset对象的ReaderTrackOutput方法形成音频流。
3.如权利要求2所述的音频竖线波形图的生成方法,其特征在于:音频流存入名称为NextSampleBuffer的数据缓冲中,
名称为NextSampleBuffer的数据缓冲包括以下属性:
缓冲长度bufferLength,
缓冲地址bufferAddress,
其中,通过计算将缓冲长度bufferLength转换为buffer帧数,按帧循环读取当前缓冲,
如果当前帧数小于每像素展现帧数,则当前像素音频数据加缓冲地址,且所述缓冲地址强制转换为Float数据进行累加,
如果当前帧数等于或大于每像素展现帧数,则视为读满了一个像素的数据。
4.如权利要求3所述的音频竖线波形图的生成方法,其特征在于:在当前帧数等于或大于每像素展现帧数时,计算总采样帧数/像素帧数得到像素音频均值,保存像素音频均值到音频数据,
在音频数据小于波形图宽时,重复读取下一像素数据。
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 CN108399921A (zh) | 2018-08-14 |
CN108399921B true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112383618B (zh) * | 2020-11-12 | 2022-09-13 | 平安普惠企业管理有限公司 | 一种音频文件优化方法、装置、计算机设备及存储介质 |
Citations (5)
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 | 柯尼卡美能达医疗印刷器材株式会社 | 胸部诊断辅助信息生成系统 |
CN105679348A (zh) * | 2016-01-14 | 2016-06-15 | 深圳市柯达科电子科技有限公司 | 一种音视频播放器及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105096987B (zh) * | 2015-06-01 | 2019-01-15 | 努比亚技术有限公司 | 一种音频数据的处理方法及终端 |
-
2018
- 2018-02-27 CN CN201810163270.2A patent/CN108399921B/zh active Active
Patent Citations (5)
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 | 柯尼卡美能达医疗印刷器材株式会社 | 胸部诊断辅助信息生成系统 |
CN105679348A (zh) * | 2016-01-14 | 2016-06-15 | 深圳市柯达科电子科技有限公司 | 一种音视频播放器及方法 |
Non-Patent Citations (1)
Title |
---|
基于 DSP 实时图像分割算法的鸡蛋蛋壳破损检测;贺静;《湖南科技学院学报》;20200430;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108399921A (zh) | 2018-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4682248A (en) | Audio and video digital recording and playback system | |
US7424333B2 (en) | Audio fidelity meter | |
JP4952469B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
CN101042752A (zh) | 用于电子邮件管理的方法和系统 | |
CN109068163B (zh) | 一种音视频合成系统及其合成方法 | |
TWI731382B (zh) | 語音合成的方法、裝置及設備 | |
CN108399921B (zh) | 一种音频竖线波形图的生成方法 | |
US20210390937A1 (en) | System And Method Generating Synchronized Reactive Video Stream From Auditory Input | |
JPWO2002058053A1 (ja) | ディジタル音声データの符号化方法及び復号化方法 | |
JP6295381B1 (ja) | 表示タイミング決定装置、表示タイミング決定方法、及びプログラム | |
KR20040055802A (ko) | 실시간 시간 스케일링에 대한 매개변수가 있는 디지털오디오 | |
CN104575542A (zh) | 一种实现音频区域播放的方法及装置 | |
CN112423120B (zh) | 音频时延的检测方法及系统 | |
US20060086238A1 (en) | Apparatus and method for reproducing MIDI file | |
CN112151048A (zh) | 音视图数据生成以及处理的方法 | |
CN113450846B (zh) | 一种声压级标定方法及装置 | |
CN108984621A (zh) | 信息存储、读取方法 | |
JP7102826B2 (ja) | 情報処理方法および情報処理装置 | |
CN118018678B (zh) | 基于数字孪生的视频会议重构方法、装置及系统 | |
CN115691504A (zh) | 通讯系统用信号处理系统 | |
JPH06309895A (ja) | 半導体メモリオーディオ記録再生装置 | |
KR20060119533A (ko) | 오디오/비디오 동기용 멀티미디어 파일 작성 프로그램을기록한 컴퓨터로 읽을 수 있는 기록매체 및 오디오/비디오동조화 장치 | |
WO2019182074A1 (ja) | 信号処理方法および信号処理装置 | |
CN116089750A (zh) | 多媒体文件数据处理方法及装置 | |
JP3884724B2 (ja) | 動画像への情報記録装置および動画像からの情報再生装置、方法、プログラム、並びに記録媒体 |
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 |