*音频-2

4.2音频

4.2.1数字声音基础

1.声音信号

声音是通过空气传播的一种连续的波,称为声波,声波在时间和幅度上都是连续的模拟信号,通常称为模拟声音(音频)信号。人们对声音的感觉主要有音量、音调和音色三个指标。

(1)      音量(响度)。声音的强弱程度,取决于声音波形的幅度,即取决于振幅的大小和强弱。

(2)      音调。人对声音频率的感觉表现为音调的高低,取决于声波的基频,基频越低,给人的感觉越低沉,频率高则声音尖锐。

(3)      音色。由混入基音(基波)的泛音所决定,每种声音又都有其固定的频率和不同音强的泛音,从而使得它们具有特殊的音乐效果,人们能够分辨具有相同音高的钢琴和小号声音。

复合信号:声音信号由许多频率不同的信号组成。

分量信号:单一频率的信号称为分量信号。

带宽:用来描述组成声音的信号的频率范围

PC处理的音频信号主要是人耳能听到的音频信号。带宽的是20-20Khz.

声音信号的两个基本参数是幅度和频率。

幅度:是指声波的振幅,通常用动态范围表示,一般以分贝(dB)为单位来计量。

频率:指声波每秒钟变化的次数,用HZ来表示,人们把频率小于20HZ的称为亚音信号,20HZ-20KHZ称为音频信号,高于20KHZ称为超声波。

2.声音信号的数字化

声音信号是一种模拟信号,计算机要对它进行处理,必须将它转换成为数字声音信号,即用二进制数字的编码形式来表示声音,最基本的声音信号数字化方法是取样-量化法。

(1)      采样。就是把连续的模拟信号转换成时间离散、幅度连续的信号,在某些时刻获取声音信号幅度值叫做采样,由让这些特定时刻采样得到的信号称为离散时间信号,一般都是每隔相等的一小段时间采样一次,其时间间隔称为取样周期,它的倒数称为采样频率,一般语音信号的采样频率一般为8KHZ,音乐信号的采样频率则就在40KHZ以上,采样频率越高,可恢复的声音信号分量越丰富,其声音的保真度越好。

(2)      量化。量化处理是把在幅度上连续取值的每一个样本转换为离散值表示,因此量化过程也称为A/D转换,量化后的样本是用二进制数来表示的,二进制数位的多少反映了度量声音波形幅度的精度,称为量化精度,也称为量化分辨率。量化精度越高,声音质量越好,需要的存储空间也越多。‘

(3)      编码。经过采样和量化处理后的声音已经是数字形式了,但为了便于计算机的存储、处理和传输,还必须按照一定的要求进行数据压缩和编码,即选择某一种或几种方法对它进行数据压缩,以减少数据量,再按照某种规定的格式将数据组织成为文件。

3.声音的表示

计算机中的数字声音有两种表示方法:波形声音(自然声音)和合成声音。

波形声音:取样和量化而获得的。

合成声音:使用符号对声音进行描述,然后通过合成的方法生成声音,如MIDI音乐

4.波形声音

数据传输率(b/s)=采样频率(HZ)*量化位数(b)*声道数

声音信号数据量=数据传输率*持续时间/8

例:语音信号的带宽通常为300-3400KHZ,若量化精度为8位,单声道输出,计算每秒钟及每小时的数据量。

采样频率*量化位数*声道数=8KHZ*8b*1=64Kb/s=8KB/s

则每小时的数字语音的数据量大约是28MB;

就是64*3600/8=28800KB;

数字波形声音数据量非常大,因此在编码的时候常常采用压缩的方式来压缩数字数据以减少存储空间和提高传输效率,一个好的数据压缩算法通常就能满足就能满足下列需求。

(1)      压缩倍数高,压缩扣的数据率低

(2)      解码后的信号失真小,质量高

(3)      算法简单,执行速度快,延迟时间短

(4)      编码器的成本低

从原理上可分为如下三类

(1)      波形编码。这是一种直接对取样、量化后的波形进行压缩处理的方法,

(2)      参数编码。这是一种基于声音生成模型的压缩方法

(3)      混合编码。波形编码虽然可提供高质量的语音,但数据率比较高,很难低于16Kb/s,混合编码是上述两种方法的结合,它既能达到较高的压缩比,又能保证一定的质量。

数字语音压缩编码有多种国际标准,如G.711、G..712等等。

5.声音合成

使用符号表示的,由计算机合成的声音,包括语音合成和音乐合成。

1) 语音合成

就是从文本到语音的合成,也称为文语转换,应预先建立语音参数数据库、发音规则库等。

原理:第一步:将文字序列转换成音的序列,

第二步:再由语音合成器生成语音波形,如下图所示,

注意:第一步涉及语言学处理、如分词、字音转换等,第二步需要使用语音合成技术。

从合成采用的技术来说,可分为:发音参数合成、声道模数合成和波形编辑合成。

(1)      发音参数合成。这种方法对人的发音过程进行直接模拟,它定义了唇、舌、声带的相关参数,合成语音质量目前不理想

(2)      声道模型参数合成,基于声道截面积函数或声道揩振特性合成语音。

(3)波形编辑合成。波形编辑合成技术是直接把语音波形数据库中的波形相互拼接在一起。其质量普遍高于 参数合成。

2)音乐合成

音乐是用乐谱进行描述,由乐器演奏而成的,乐谱的基本组成单元是音符,最基本的音符有7个,音乐与噪声的区别主要在于它们是否有周期性,乐音的波形随着时间作周期性变化,噪声则不然。电子乐器由如下两部分组成

(1)      演奏控制器。一种输入和记录实时乐曲演奏信息的设备,它的作用是像传统乐器那样用于演奏,驱动音源发声,

(2)      音源(音乐合成器)。音源是具体产生声音波形的部分,即电子乐器的发声部分,它通过电子线路把演奏控制器送来的乐音合成,最常用的音源有如下两类。

数字调频合成器(FM)。FM是使高频振荡波的频率按调制信号规律变化的一种调制方式。

PCM波形合成器。使用FM合成法来产生逼真的乐音是不理想的,

6.MIDI

MIDI(Musical instrument digital interface,乐器数字接口)泛指数字音乐的国际标准。

4.2.2声音文件格式

(1)Wace文件(.wav)Microsoft公司的音频文件格式,质量高,数据量大。

(2)Module 文件(.mod)存入乐谱乐曲…

(3)MPEG(.MP3)压缩率大,音质差

(4)RealAudio(.RA),还有MIDI文件(.mid/.rmi),Voice(.voc),Sound(.snd),Audio(.au)

AIEF(.AIF),CMF(.CMF)

*音频-2,码迷,mamicode.com

时间: 2024-10-17 15:07:43

*音频-2的相关文章

运用PDO存储将图片、音频文件存入数据库

在数据库中创建表格的时候,有一个字段为image,用来保存图片,那么其类型就是blob,关于blob,百度百科是这样描述的 BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器. 在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型. BLOB是一个大文件,典型的BLOB是一张图片或一个声音文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传.下载或者存放到一个数据库). 根据Eric Raymond的说法,处理BLOB的主要思想就是

第五章 音频和视频应用详解(第一篇)

---恢复内容开始--- 5.1处理音频 1.使用<video>元素标记 当前<video>标记支持如下三种格式 Ogg:带有Theora视频编码和vorbis音频的Ogg文件 MPEG4:带有H.264视频编码和Acc音频编码的MPEG4文件 WebM:带有Vp8视频编码和Vorbis音频编码的WebM文件 control:供添加播放.暂停和音量控件 <video>标记允许多个"source"元素,"source元素可以链接不同的视频文件

音频焦点整理

音频焦点总结 参考很多大神们的资料,再次表示感谢, 什么叫音频焦点 (audio focus)? android系统是一个多任务操作系统,因此同一时刻允许许多任务同时工作.但是这对音频类应用来说是个挑战,因为如果多个音频同时播放的话,很多情况下用户体验会相当的差!比如听音乐时,来了个电话,这时你的耳机里就是电话和音乐共同工作,绝对是个悲剧! 为了解决这个问题从android2.2开始引入audio focus的概念.为避免多个音乐 App 在同时请求音频播放的时候发生冲突,Android 平台使

安卓获取多媒体(包括 视频、音频、图片)数据

1.Android中所有的多媒体文件除了存储在物理硬盘上,还会将文件信息(路径.id.类型.)保存到数据库中,这样当我们想要获取这些文件的信息时,就不需要耗时的扫描硬盘,只需要读数据库就可以了.Android平台中称手机终端内存为内部存储空间,称SD卡为外部存储空间.针对内部和外部存储空间中的媒体文件信息是分开管理的,各自有独立的数据库管理.外部存储空间和内部存储空间对应的卷标为"external"和"internal". 2.数据库的数据都会由相应的内容提供者暴露

Android音频开发(6):使用 OpenSL ES API(上)

前面几篇文章介绍了如何在 Java 层,利用 Android 提供的 AudioRecord 采集音频,利用 AudioTrack 播放音频,利用 MediaCodec 来编解码,这些 API 均是 Android 提供的 Java 层 API,无论是采集.播放还是编解码,这些 API 接口都需要将音频数据从 Java 拷贝到 native 层,或者从 native 层拷贝到 Java,如果希望减少拷贝,开发更加高效的 Android 音频应用,则建议使用 Android NDK 提供的 Ope

算法系列之二十三:离散傅立叶变换之音频播放与频谱显示

算法系列之二十三:离散傅立叶变换之音频播放与频谱显示 算法系列之二十三离散傅立叶变换之音频播放与频谱显示 导语 什么是频谱 1 频谱的原理 2 频谱的选择 3 频谱的计算 显示动态频谱 1 实现方法 2 杂项说明 结果展示 导语 频谱和均衡器,几乎是媒体播放程序的必备物件,没有这两个功能的媒体播放程序会被认为不够专业,现在主流的播放器都具备这两个功能,foobar 2000的十八段均衡器就曾经让很多人着迷.在上一篇对离散傅立叶变换介绍的基础上,本篇就进一步介绍一下频谱是怎么回事儿,下一篇继续介绍

基于matlab的音频波形实时采集显示 v0.1

robj = audiorecorder(44100,16,1); %设置采样频率.采样位数.通道数 recordblocking(robj,1); %采集初步数据(1s长度) rdata = getaudiodata(robj); %获取音频数据 plot(rdata); %绘制波形 axis([1,44100,-0.1,0.1]); %设置固定坐标轴 drawnow %刷新显示 n = 100; %设定后续的采样更新次数,n与m可联合计算后续更新时间长度 m = 0.1; %设定更新间隔,m

Android通过意图使用内置的音频播放器

如果实现一个音频文件的播放,那么在应用程序中提供播放音频文件功能的最简单的方式是利用内置的"Music(音乐)"应用程序的功能--即使用系统自带的或已安装好的音乐播放器来播放指定的音频文件. 本例比较简单,下面直接给出源代码: 布局文件activity_main: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:/

IOS 音频播放

iOS音频播放 (一):概述 Audio Playback in iOS (Part 1) : Introduction 前言 从事音乐相关的app开发也已经有一段时日了,在这过程中app的播放器几经修改我也因此对于iOS下的音频播放实现有了一定的研究.写这个系列的博客目的一方面希望能够抛砖引玉,另一方面也是希望能帮助国内其他的iOS开发者和爱好者少走弯路(我自己就遇到了不少的坑=.=). 本篇为<iOS音频播放>系列的第一篇,主要将对iOS下实现音频播放的方法进行概述. 基础 先来简单了解一

Audition CS6在Win 7中“音频输入的采样频率与输出设备不匹配”问题的解决 - imsoft.cnblogs

1.运行Audion CS6,出现问题框. 2.右击任务栏右下方的那个小喇叭图标,在弹出的提示框里,单击"播放设备".如图: 3.单击"播放设备"后,在图内左键单击"扬声器"然后双击"扬声器",出现下图,双击"属性"选项. 4.点击"高级",在选择采样率和位深度里选择与输入的音频的采样频率和位深相同的设置.我的输入和输出都选择的是"16位,4100Hz" 5.点&qu