有关声音信号的那么点知识

北城余情 提交于 2020-03-01 08:30:34

前言

好像<语音信号处理>这本书解释很详细,但我并没有系统上过这门课程,所以自己做一些笔记.

音频的属性讲解

  • 音频 :

指人耳可以听到的声音频率在20HZ~20kHz之间的声波,称为音频。

  • 采样频率/sample rate/采样率:

指每秒钟取得声音样本的次数
采样率定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示.
采样频率越高,声音的质量也就越好,声音的还原也就越真实,但同时它占的资源比较多。

  1. 由于人耳的分辨率很有限,太高的频率并不能分辨出来。 22050 的采样频率是常用的, 44100已是CD音质, 超过48000或96000的采样对人耳已经没有意义。这和电影的每秒 24 帧图片的道理差不多。
  2. 如果是双声道(stereo), 采样就是双份的, 文件也差不多要大一倍.
  • 采样位数/采样值:

它是用来衡量声音波动变化的一个参数,也可以说是声卡的分辨率。它的数值越大,分辨率也就越高,所发出声音的能力越强。
每个采样数据记录的是振幅, 采样精度取决于采样位数的大小:

  • 1 字节(也就是8bit) 只能记录 256 个数, 也就是只能将振幅划分成 256 个等级;
  • 2 字节(也就是16bit) 可以细到 65536 个数, 这已是 CD 标准了;
  • 4 字节(也就是32bit) 能把振幅细分到 4294967296 个等级, 实在是没必要了.
  • 比特率:

比特率是指每秒传送的比特(bit)数。单位为 bps(Bit Per Second),比特率越高,传送的数据越大,音质越好.

  • 比特率 =采样率 x 采用位数 x声道数.
  • 关于比特率(比特率在音频或者视频领域也称为码率)的计算,比如,采样率为44.1KHz,以16bit采样,声道数为2,那么它的音频比特率的计算为:44100162 = 1411200 bps = 1378 kbps(1k=1024),然后我们在除以8,将bit转化为Byte,所以1秒钟的数据量就是:1411200/8 = 176400 个字节(B)。
  • 通道数:

即声音的通道的数目。常有单声道和立体声之分,单声道的声音只能使用一个喇叭发声(有的也处理成两个喇叭输出同一个声道的声音),立体声可以使两个喇叭都发声(一般左右声道有分工) ,更能感受到空间效果,当然还有更多的通道数。

  • 帧:

帧记录了一个声音单元,其长度为样本长度(采样位数)通道数的乘积。

  • 每一帧的总时长

每一帧的总时长=每一帧的采样个数×每个采样时长

  • 每个采样的时长=(1/频率)

1. Spectrogram

声谱图

  1. 如下图所示,先对语音信号进行分帧处理,再对每一帧进行FFT变换,得到对应的Spectrum(频谱)
    0
    可见,语音信号被分为很多帧,每帧都有对应的Spectrum,Spectrum表示频率与能量的关系.在实际使用中,频谱图有三种,即线性振幅谱、对数振幅谱(对数振幅谱中各谱线的振幅都作了对数计算,所以其纵坐标的单位是dB(分贝)。这个变换的目的是使那些振幅较低的成分相对高振幅成分得以拉高,以便观察掩盖在低幅噪声中的周期信号)、自功率谱.

  2. 如下图,我们选取一个Spectrum,将其中一帧语音的频谱通过坐标表示出来,如上图左。现在我们将左边的频谱旋转90度。得到中间的图。然后把这些幅度映射到一个灰度级表示(也可以理解为将连续的幅度量化为256个量化值)0表示黑,255表示白色幅度值越大,相应的区域越黑。这样就得到了最右边的图。那为什么要这样呢?为的是增加时间这个维度,这样就可以显示一段语音而不是一帧语音的频谱,而且可以直观的看到静态和动态的信息。
    0

  3. 通过以上的处理,我们会得到一个随着时间变化的频谱图,这个就是描述语音信号的spectrogram声谱图。
    0

  4. 下图是一段语音的声谱图,很黑的地方就是频谱图中的峰值(共振峰formants)

  5. 那我们为什么要在声谱图中表示语音呢?

    首先,音素(Phones)的属性可以更好的在这里面观察出来。另外,通过观察共振峰和它们的转变可以更好的识别声音。隐马尔科夫模型(Hidden Markov Models)就是隐含地对声谱图进行建模以达到好的识别性能。还有一个作用就是它可以直观的评估TTS系统(text to speech)的好坏,直接对比合成的语音和自然的语音声谱图的匹配度即可。

2.

参考来源

音频属性讲解
音视频基本概念讲解
频谱图讲解

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!