first commit

This commit is contained in:
2024-09-05 12:45:40 +08:00
commit e148adef80
98 changed files with 2808 additions and 0 deletions

View File

@@ -0,0 +1,71 @@
# 课程作业
- 课程名称:计算机语音技术
- 作业编号作业1
- 学号21281280
- 姓名:柯劲帆
- 班级物联网2101班
---
## 1. 什么是语音,语音交际过程分为哪五个阶段,各阶段的内容是什么?
语音是语言的声学实现,即传递语言信息的声学信号。
语音交际过程分为以下5个阶段
1. **语义规划**:出现发音的意图,大脑对信息处理和转化,将意图进行编码;
2. **语音产生**:大脑控制发音相关器官的运动和调节进行发音,横膈肌挤压肺部产生气流,声门、声道和唇齿震动发声;
3. **声音传递**:声音主要由四个维度携带语音信号,包括音强、音长、音高和音质;
4. **语音感知**:耳朵的复杂结构将声波的各个频率分解,并转换成电信号通过神经传递进大脑;
5. **语义理解**:大脑将接收到的语音信号转化为可以理解的思想或信息,即对语音信息进行反编码,并结合认知和记忆系统对信息进行处理和理解。
## 2. 语音的基本声学特征有哪些?请加以简要说明。
- **音质**:音质是指声音的特色和纯净度,即声音在传播过程中表现出来的泛音和震动的复杂性。语音的音质与声带、口腔、鼻腔、喉咙等发音器官的形状、大小、紧张程度等因素有关,此外还受到发音方式、发音时气流的特点、声音的共振等因素的影响。
- **音强**:音量是指声音的强度或响度,即声音在空气中的振幅。语音的音量与声带的紧张程度、呼出气体的多少以及声音在空气中传播的距离有关。一般来说,声音的响度越大,声音传播得越远。
- **音高**:音高是指声音的频率,即每秒振动声带的次数。语音的音高与声带的长短、厚薄以及松紧程度有关,一般来说,男人的音高较低,女人的音高较高。
- **音长**:音长是指声音的持续时间,即声音从开始到结束的时间长度。语音的音长与发音速度、发音时所需时间等因素有关,它可以用来表达说话人的情感和态度。
## 3. 汉语的音节结构,试举例说明各部分,以及各部分单元的个数。
在汉语中音节声母韵母声调柯KE = 声母K + 韵母E + 第1声。
汉语音节结构各部分单元的个数:
- 声母21个
- 韵母39个
- 单元音10个
- 舌面元音7个
- 舌尖元音2个
- 卷舌元音1个
- 二合元音9个
- 前响5个
- 后响4个
- 三合元音4个
- 鼻韵尾7个
- 复合鼻韵尾9个
- 声调5个
- 孤立音节声调4个
- 轻声1个
## 4. 从语音产生的过程说明辅音和元音的区别。
辅音和元音的主要区别:
1. 气流方面:
1. 辅音口腔内有阻塞或挤压,气流强烈。辅音是由于声带振动或者气流受到阻碍而产生的。在发音过程中,声带部分或全部振动,但并不像元音那样没有阻碍。气流通过口腔或鼻腔时,会被口腔或鼻腔内部的形状或紧张状态所阻碍,这种阻碍就形成了辅音。因此,辅音通常带有某种程度的摩擦、挤迫或阻碍的感觉。
2. 元音气流平稳,口腔内无明显阻碍。元音是在发音过程中,声带振动且气流不受阻碍产生的。气流通过口腔时,不遇到任何显著的阻碍。口腔的形状、大小和紧张程度都适中,使得气流能够顺畅地通过,这样的发音过程就形成了元音。因此,元音通常被认为是一种“无阻碍”的发音方式。
2. 辅音视其发音部位(如摩擦、送气、阻塞)和方式(如唇、齿、硬腭、软腭、舌面、舌根、鼻)分类;元音视声道长度、舌位和唇形分类。
## 5. 绘制语音产生模型框图,并加以简要说明。
![语音产生模型框图.drawio](语音产生模型框图.drawio.svg)

View File

@@ -0,0 +1,49 @@
<mxfile host="Electron" modified="2023-09-23T16:59:42.025Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.7.5 Chrome/114.0.5735.289 Electron/25.8.1 Safari/537.36" etag="JUpnaB9MXtwt9jDfJp81" version="21.7.5" type="device">
<diagram name="第 1 页" id="srzzxO-FdIVnfBNWfj8P">
<mxGraphModel dx="810" dy="469" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="HXZTd7DcZxRO3KjASpro-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="HXZTd7DcZxRO3KjASpro-2" target="HXZTd7DcZxRO3KjASpro-6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="HXZTd7DcZxRO3KjASpro-2" value="激励源" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="320" y="120" width="160" height="80" as="geometry" />
</mxCell>
<mxCell id="HXZTd7DcZxRO3KjASpro-3" value="声带振动,产生不同音高和音质的谐振源" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" vertex="1" parent="HXZTd7DcZxRO3KjASpro-2">
<mxGeometry y="30" width="160" height="50" as="geometry" />
</mxCell>
<mxCell id="HXZTd7DcZxRO3KjASpro-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="HXZTd7DcZxRO3KjASpro-6" target="HXZTd7DcZxRO3KjASpro-8">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="HXZTd7DcZxRO3KjASpro-6" value=" 声道调节" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="200" y="280" width="160" height="80" as="geometry" />
</mxCell>
<mxCell id="HXZTd7DcZxRO3KjASpro-7" value="辅音和元音在口腔共振腔内调节,产生共振峰" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" vertex="1" parent="HXZTd7DcZxRO3KjASpro-6">
<mxGeometry y="30" width="160" height="50" as="geometry" />
</mxCell>
<mxCell id="HXZTd7DcZxRO3KjASpro-8" value="辐射" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="200" y="400" width="160" height="80" as="geometry" />
</mxCell>
<mxCell id="HXZTd7DcZxRO3KjASpro-9" value="声音从口腔传到嘴唇形成语音信号" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" vertex="1" parent="HXZTd7DcZxRO3KjASpro-8">
<mxGeometry y="30" width="160" height="50" as="geometry" />
</mxCell>
<mxCell id="HXZTd7DcZxRO3KjASpro-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="HXZTd7DcZxRO3KjASpro-12" target="HXZTd7DcZxRO3KjASpro-2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="HXZTd7DcZxRO3KjASpro-12" value="冲激序列发生器" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="320" width="160" height="80" as="geometry" />
</mxCell>
<mxCell id="HXZTd7DcZxRO3KjASpro-13" value="横膈膜有规律地挤压肺,产生序列气流" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" vertex="1" parent="HXZTd7DcZxRO3KjASpro-12">
<mxGeometry y="30" width="160" height="50" as="geometry" />
</mxCell>
<mxCell id="HXZTd7DcZxRO3KjASpro-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="HXZTd7DcZxRO3KjASpro-15" target="HXZTd7DcZxRO3KjASpro-6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="HXZTd7DcZxRO3KjASpro-15" value="&lt;p style=&quot;margin-top: 10.8pt; margin-bottom: 0pt; direction: ltr; unicode-bidi: embed; vertical-align: baseline;&quot;&gt;随机噪声发生器&lt;/p&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="80" y="120" width="160" height="80" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@@ -0,0 +1,178 @@
<h1><center>课程作业</center></h1>
<div style="text-align: center;">
<div><span style="display: inline-block; width: 65px; text-align: center;">课程名称</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">计算机语音技术</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">作业次数</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">第2次</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">学号</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">21281280</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">姓名</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">柯劲帆</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">班级</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">物联网2101班</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">指导老师</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">朱维彬</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">修改日期</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">2023年10月14日</span></div>
</div>
---
## 1. 问题1
**语音信号由声学信号转换成离散的数字序列要经过那些过程?模数转换的指标是什么,之前为何要加抗混叠滤波器?**
语音信号由声学信号转换成离散的数字序列要经过以下过程:
1. 拾音:麦克风将语音信号从声波转换成模拟信号;
2. 放大:电路中放大器将模拟信号放大;
3. 抗混叠滤波:基于奈奎斯特采样定理,滤波器将原始信号中高于采样频率两倍的频率成分去除,避免频率混叠;
4. 模/数转换:将模拟信号离散化,转换成离散的数字序列,其中分两步:
1. 取样:等时间间隔取样,将信号在在时间上离散化;
2. 量化:在数值上离散化,将信号幅度转换成二进制序列表示的整数。
模数转换的指标有两个:
- 采样频率:$F_{\text{sample}} > 2 \times F_n $,需要满足奈奎斯特采样定理;
- 量化精度:
- 量化字长$B$:能将最大幅度量化成$2^B$等分,其决定了能够量化的幅度范围或精度。
- 噪声$e$$e$的方差为$\sigma^2_e = \frac{1}{3}\left(\frac{\frac{2X_{\text{max}}}{2^B}}{2}\right)^2 = \frac{1}{3}\left(\frac{X_{\text{max}}}{2^B}\right)^2$,量化噪声工程估计为$\operatorname{SNR}\left(\text{dB}\right) = 6.02B-7.2$。
加抗混叠滤波器的原因:
根据奈奎斯特采样定理,如果采样频率$F_{\text{sample}}$小于两倍的最高频率成分$F_n$,那么在采样过程中,高于奈奎斯特频率的高频成分会混叠到基带频率,导致采样后的信号出现错误,如下图所示:
<img src="p1.png" alt="p1" style="zoom:33%;" />
因此需要加抗混叠滤波器,滤除信号中高于奈奎斯特采样频率的频率成分,确保在采样时不会出现混叠现象,如下图所示:
<img src="p2.png" alt="p2" style="zoom:33%;" />
## 2. 问题2
**短时能量和短时过零率的定义,给出公式并加以说明。**
短时平均能量指在语音信号的不同时间段内,信号的能量或振幅的平均值。定义如下:
窗函数:
$$
w\left(n\right)=\left\{\begin{array}{ll}
1, & 0 \leq n \leq N-1 \\
0, & \text { 其它 }
\end{array}\right. \\
$$
短时平均能量:
$$
E_{n}=\sum_{m=-\infty}^{\infty}[x\left(m\right) w\left(n-m\right)]^{2}=\sum_{m=n-N+1}^{n}[x\left(m\right) w\left(n-m\right)]^{2}
$$
其中,$x^{2}\left( n \right) $表示语音信号在第$n$个时间段的平方振幅,$h\left(n-m\right)$表示窗函数的平方在不同时间偏移$m$下的取值。
令$h\left(n\right)=w^{2}\left(n\right)$,得到
$$
E_{n}=\sum_{m=-\infty}^{\infty} x^{2}\left(m\right) h\left(n-m\right)=x^{2}\left(n\right) \ast h\left(n\right)
$$
即$E_{n}$是语音信号在第$n$个时间段的平方振幅与窗函数平方的卷积。
其中窗函数可以有多种,常用的有:
1. 矩形窗
$$
h\left(n\right)=\left\{\begin{array}{ll}
1, & 0 \leq n \leq N-1 \\
0, & \text { 其它 }
\end{array}\right. \\
$$
2. 海明窗
$$
h\left(n\right)=\left\{\begin{array}{ll}
0.54 - 0.4\cos\left[2\pi n / \left(N - 1\right)\right], & 0 \leq n \leq N-1 \\
0, & \text { 其它 }
\end{array}\right. \\
$$
3. 汉宁窗
$$
h\left(n\right)=\left\{\begin{array}{ll}
0.5\left[1 - \cos\left(\frac{2\pi n}{N - 1}\right)\right], & 0 \leq n \leq N-1 \\
0, & \text { 其它 }
\end{array}\right. \\
$$
短时过零率指在语音信号的短时段内信号穿过水平线即振幅为0的次数。定义如下
窗函数:
$$
w\left(n\right)=\left\{\begin{array}{ll}
\frac{1}{2 N}, & 0 \leq n \leq N-1 \\
0, & \text { 其它 }
\end{array}\right. \\
$$
短时过零率:
$$
Z_{n}=\sum_{m=-\infty}^{\infty}\left|\operatorname{sgn}\left[x\left(m\right)\right]-\operatorname{sgn}\left[x\left(m-1\right)\right]\right| w\left(n-m\right) \\
\quad=\left|\operatorname{sgn}\left[x\left(n\right)\right]-\operatorname{sgn}\left[x\left(n-1\right)\right]\right| \ast w\left(n\right) \\
$$
其中$\operatorname{sgn}$是符号函数:
$$
\operatorname{sgn}\left(x\left(n\right)\right)=\left\{\begin{aligned}
1, & x\left(n\right) \geq 0 \\
-1, & x\left(n\right)<0
\end{aligned}\right.
$$
即先将信号幅度归一化为$1$在水平线上方$-1$在水平线下方然后与窗函数进行卷积
在噪声背景下$\operatorname{sgn}$被修正为
$$
\operatorname{sgn}\left(x\left(n\right)\right)=\left\{\begin{aligned}
1, & x\left(n\right) \geq \Delta \\
-1, & x\left(n\right)< -\Delta
\end{aligned}\right.
$$
以消除噪声的影响
窗函数的作用是限制信号在时间和频率上的特性确保在分析时局部信号的平稳性窗函数可以防止频谱泄漏提高分析的准确性
## 3. 问题3
**语音信号的短时频谱的定义,如何提高短时频谱的频率分辨率?**
语音信号的短时频谱的定义
短时频谱是指在语音信号的不同时间段内信号的频率成分分布情况
短时频谱可以通过对语音信号进行短时傅里叶变换计算得到也就是将信号分割成短时段然后对每个短时段进行傅里叶变换得到该时段的频谱信息
提高短时频谱的频率分辨率的方法
增大窗函数时域窗长
由测不准原理窗函数时域窗长与其频域主瓣宽度的乘积不小于$\frac{1}{2}$因此欲减小频域主瓣宽度即频率分辨率则需要提高窗函数时域窗长
当然也可以选择合适的窗函数与信号谱进行卷积比如在同等分辨率条件下矩形窗的窗长为海明窗窗长的$\frac{1}{2}$。
搜索资料发现还可以使用高阶傅里叶变换方法提高短时频谱的频率分辨率但代价是计算复杂度会增加
## 4. 问题4
**请分析短时分析中窗函数的作用。**
- 选择分析的语音段
- 将整个信号在短时段内截断确保分析的语音段具有较好的时域特性
- 时域表现为端点的截断效应频域体现为旁瓣衰减程度
- 时域将信号在窗口之外置零避免了窗口边界处的信号突变
- 频域窗函数的选择影响旁瓣的衰减程度旁瓣衰减的情况决定频谱的分辨率
- 改变窗的长度折衷设置时间/频率分辨率
- 窗函数的长度决定了分析的时间窗口长短较短的窗口提供了较高的时域分辨率但频率分辨率较低较长的窗口则提供了较好的频率分辨率但时域分辨率较低因此窗函数的长度是时域分辨率和频率分辨率之间的折衷可以根据时域和频域的分辨率需求选择合适的窗口长度

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -0,0 +1,104 @@
<h1><center>课程作业</center></h1>
<div style="text-align: center;">
<div><span style="display: inline-block; width: 65px; text-align: center;">课程名称</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">计算机语音技术</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">作业次数</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">第3次</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">学号</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">21281280</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">姓名</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">柯劲帆</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">班级</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">物联网2101班</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">指导老师</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">朱维彬</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">修改日期</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">2023年11月1日</span></div>
</div>
---
# 1. 问题1
**请说明同态分析的基本思想,并说明同态系统三个组成系统的功能。**
同态分析的基本思想是:由于系统中的信号是非加性信号,希望能把信号变成加性信号后进行操作,再还原原本的信号。实现方法由以下步骤:
1. 通过特征变换将非线性信号转化为线性信号
2. 对线性信号进行线性滤波处理
3. 再通过逆特征变换将处理后的线性信号转换回原来的非线性信号
相应的,同态系统由以下三个部分组成:
1. **特征系统**:通过对数变换,将非线性信号转化为线性信号。
2. **线性系统**:对线性信号进行滤波处理。
3. **逆特征系统**:通过指数变换,将滤波处理后的线性信号转换回原来的非线性信号形态。
![p1](p1.png)
# 2. 问题2
**已知一语音时间序列$x\left(n\right)$,请写出其对应的复倒谱、倒谱$\hat{x}\left(n\right) $、$c\left(n\right) $的计算公式。**
复倒谱:
$$
\hat{x}\left(n \right)=\mathcal{F}^{-1}\left[\hat{X}\left(e^{j\omega}\right)\right]=\mathcal{F}^{-1}\left[\ln{X\left(e^{j\omega}\right)}\right]=\mathcal{F}^{-1}\left\{\ln{\mathcal{F\left[x\left(n\right)\right]} }\right\}
$$
倒谱:(复倒谱的实数部分)
$$
c\left(n \right)=\mathcal{F}^{-1}\left[\ln{\left|X\left(e^{j\omega}\right)\right|}\right]=\mathcal{F}^{-1}\left\{\ln{\left|\mathcal{F\left[x\left(n\right)\right]}\right|}\right\}
$$
# 3. 问题3
**请说明线性预测的基本概念,并用数学公式描述线性预测方程组的建立过程。**
线性预测指的是,根据语音样点值之间存在相关性,一个语音样点值可以用过去的若干样点值的线性组合,输入模型分析来逼近和预测。
线性预测方程为
$$
\hat{s}\left ( n \right ) = \sum_{i=1}^{P} a_i s\left ( n-i \right )
$$
其中$s\left(n\right)$是原语音信号,$\hat{s}\left ( n \right )$是预测信号,$a_i$是线性预测系数。
预测误差为
$$
e\left ( n \right ) = s\left ( n \right ) - \hat{s} \left ( n \right )
$$
均方误差准则
$$
E_n = \sum_{n}e^{2}\left ( n \right )
$$
对$a_i$求偏导,使得$E$最小
$$
\frac{\partial E}{\partial a_j} = 2\sum_{n}s\left(n\right)s\left(n-j\right)-2\sum_{i=1}^{p}a_i\sum_{n}s\left(n-i\right)s\left(n-j\right)=0
$$
构成线性方程组
$$
\sum_{n}s\left(n\right)s\left(n-j\right)=\sum_{i=1}^{p}a_i\sum_{n}s\left(n-i\right)s\left(n-j\right)
$$
$$
\sum_{i=1}^{p} a_i R_n\left( \left | j-i \right | \right) =R_n\left ( j \right ),\left ( 1\le j\le P \right )
$$
其中$R_n$是自相关函数。求解可得线性预测系数$a_1,a_2,a_3,\cdots ,a_p$。
# 4. 问题4
**已知语音信号的线性预测系数$a_i$,说明$\text{LPC}$谱的计算过程以及预测阶数$P$对$\text{LPC}$谱的影响。**
声道传递函数
$$
H\left ( z \right ) =\frac{G}{1-\sum_{i=1}^{P} a_iz^{-i}}
$$
代入$z = e^{j\omega}$,由$\text{Z}$域转换到频域,得到$\text{LPC}$谱
$$
H\left ( e^{j\omega} \right ) =\frac{G}{1-\sum_{i=1}^{P} a_ie^{-j\omega i}}
$$
预测阶数$P$对$\text{LPC}$谱的影响:
1. $P$决定了$\text{LPC}$模型的参数个数,$P$越大,能逼近信号谱的细节越多。
2. $P$越大,$\text{LPC}$谱上的共振峰个数越多,能反映出更多的共振峰信息。
3. 一般取$P$为$10\sim 14$阶,每个共振峰对应$2$阶,额外增加$2\sim 4$阶用于反映零点信息。
4. $P$的选择还要考虑分析帧长,要保证帧长大于$2$倍基音周期。

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 KiB

View File

@@ -0,0 +1,92 @@
<h1><center>课程作业</center></h1>
<div style="text-align: center;">
<div><span style="display: inline-block; width: 65px; text-align: center;">课程名称</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">计算机语音技术</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">作业次数</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">第4次</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">学号</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">21281280</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">姓名</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">柯劲帆</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">班级</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">物联网2101班</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">课程教师</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">朱维彬</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">修改日期</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">2023年11月9日</span></div>
</div>
---
# 1. 问题1
**语音压缩的实质就是去除语音信号中冗余,请分析、归纳语音压缩编码的依据。**
- 时域冗余
- 幅度非均匀,小幅度频度高
- 相关性强
- 浊音段准周期性
- 声道变化缓慢
- 对话中的停顿
- 频域冗余
- 非均匀的功率谱密度分布
- 功率谱的结构,存在谱包络与谐波结构
- 听觉感知冗余
- 掩蔽效应。去除被掩蔽信号成分,抑制/掩盖量化噪声
- 不同频率段的感知灵敏度不同。不同频段分配不同的比特数
- 相位变化不敏感。对于相位不分/少分比特数
- 信息率冗余
- 语音包含有限个数的音素,信息率有上限,具有高压缩潜力
# 2. 问题2
**绘出$\Delta$自适应PCM系统框图说明前馈、反馈自适应的工作原理。**
![p1](p1.png)
- 前馈自适应:根据输入信号估计自适应量化台阶$\Delta\left(n\right)$。调整后的$\Delta\left(n\right)$被用来量化$x\left(n\right)$,并作为输出的一部分发送给接收端。
- 反馈自适应:根据量化器输出信号来调整自适应量化台阶$\Delta\left(n\right)$。调整后的$\Delta\left(n\right)$仅在发送端使用,不会传给接收端。接收端需要根据$c'\left(n\right)$逐步估计$\Delta\left(n\right)$,然后再对$c'\left(n\right)$进行反量化恢复。这种方案相对于前馈方案来说通道利用率更高,但是实现更复杂。
# 3. 问题3
**分析波形编码与参数编码的特点。**
- 波形编码的特点
- 逼近时域波形。语音质量好,可以很好地保留语音信号的细节
- 抗误码强,传输错误对语音质量影响较小
- 算法简单,编码复杂度低
- 压缩效率低16Kbps以下数码率语音质量下降
- 参数编码的特点
- 模型化参数。算法复杂,需要语音分析与合成
- 压缩效率高
- 语音质量较低
- 抗误码能力较差
# 4. 问题4
**根据LPC声码器原理框图分析其工作原理。**
- 假定声道模型为全极点模型用LPC分析求取这些极点作为LPC参数用来表示声道模型
- 激励源:基音周期脉冲模拟谐波结构,白噪声模拟声道的随机成分
- 编码信息:
- LPC参数表示声道模型
- 清浊及基音周期,分别用于控制表示脉冲激励的存在和脉冲激励的基音周期
- 增益,用于控制合成信号的能量

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,117 @@
<h1><center>课程作业</center></h1>
<div style="text-align: center;">
<div><span style="display: inline-block; width: 65px; text-align: center;">课程名称</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">计算机语音技术</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">作业次数</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">第5次</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">学号</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">21281280</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">姓名</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">柯劲帆</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">班级</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">物联网2101班</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">课程教师</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">朱维彬</span></div>
<div><span style="display: inline-block; width: 65px; text-align: center;">修改日期</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">2023年11月30日</span></div>
</div>
---
# 1. 问题1
> **HMM利用有限状态刻画语音过程请简要说明HMM三个基本参数并如何用以刻画状态序列X与语音特征序列O间的关系-计算两者间的联合概率。**
HMM$\lambda = f\left(A, B, \pi\right)$
| 参数 | 含义 |
| :---: | ------------------------------------------------------------ |
| $\pi$ | 初始状态概率。$\pi=\left[\pi_1, \pi_2, \dots ,\pi_L\right]$$\pi_j = P_r\left[x_1=S_j\right]$ |
| $A$ | 状态转移概率矩阵。$A=\left[a_{ij}\right]$$a_{ij}=P_r\left[x_t=S_j\mid X_{t-1}=S_i\right]$ |
| $B$ | 观察值概率矩阵。$B = \left[b_i\left(o_t\right)\right]$$b_i\left(o_t\right) = P_r\left[o_t\mid x_t=S_i\right]$ |
由给定的模型M计算特征序列O与状态序列X的联合概率
1. $t = 0$,根据初始状态概率向量$\pi$,选一初始状态$S_{X_0}$出现概率$\pi_{X_0}$
2. 根据B和状态$S_{X_0}$确定$o_t$的概率分布$b_{X_t}\left(o_t\right)$
3. 根据A和$S_{X_{t-1}}$确定转移到下一状态$S_{X_t}$的转移概率$a_{X_{t-1}X_{t}}$
4. $t = t + 1$,如果$t<T$跳转到2否则结束
状态序列X与语音特征序列O的联合概率为
$$
P\left(O, X\mid M\right)=\pi_{X_0}\prod_{t=1}^{T} a_{X_{t-1}X_t}b_{X_t}\left ( O_t \right )
$$
# 2. 问题2
> **基于最大似然解码的语音识别系统可用公式$\hat{W}=\underset{W}{\mathrm{argmax}}P\left (O\mid W \right )P\left ( W \right ) $加以描述,请说明公式及其中符号的意义。**
| 符号 | 意义 |
| :------------------------: | ------------------------------------------------------------ |
| $\hat{W}$ | 要估计的最优单词序列即通过最大似然解码得到的最可能的单词序列 |
| $O$ | 对语音信号短时分析提取特征向量形成观察序列 |
| $W$ | 转写的文字序列 |
| $P\left (O\mid W \right )$ | 在给定单词序列$W$的条件下观测到语音信号$O$的概率对应于声学模型表示了语音信号与特定单词序列之间的关系 |
| $P\left ( W \right ) $ | 单词序列$W$出现的先验概率即在没有观测到语音信号的情况下对单词序列的先验估计对应于语言模型表示了单词序列的语言结构信息 |
整个公式$\hat{W}=\underset{W}{\mathrm{argmax}}P\left (O\mid W \right )P\left ( W \right ) $表示在所有可能的单词序列$W$找到使得声学模型概率与语言模型概率之积最大化的序列即为估计最优的单词序列
# 3. 问题3
> **Viterbi常应用于确定HMM最优状态序列请说明最优路径搜索及对应的最优完全路径概率计算过程。**
1. **初始化**
$$
\delta_1\left(i\right)=\pi_i b_i\left(y_1\right) \left(i=1, 2, \dots, L\right)
$$
- $\delta_1(i)$在时刻$t=1$,处于状态$i$的部分观察序列的最大概率。这是一个前向概率。
- $\pi_i$初始时刻状态$i$的概率
- $b_i(y_1)$在状态$i$下生成观察符号$y_1$的概率
2. **计算概率、最优路径**
$$
\begin{array}{c}
\delta_{n+1}\left(j\right) = \underset{i}{\mathrm{max}}\left(\delta_n\left(i\right)A_{ij}\right)\cdot b_j\left(y_{n+1}\right)\\
\varphi_{n+1}\left(j\right)= \underset{i}{\mathrm{argmax}}\left(\delta_n\left(i\right)A_{ij}\right) \left(i, j=1,2, \dots, L\right)
\end{array}
$$
- $\delta_{n+1}(j)$在时刻$t=n+1$,处于状态$j$的部分观察序列的最大概率。
- $\underset{i}{\mathrm{max}}\left(\delta_n(i)A_{ij}\right)$在时刻$t=n$的状态$i$到$t=n+1$的状态$j$的转移概率的最大值。
- $A_{ij}$从状态$i$转移到状态$j$的转移概率
- $b_j(y_{n+1})$在状态$j$下生成观察符号$y_{n+1}$的概率
- $\varphi_{n+1}(j)$在时刻$t=n+1$,处于状态$j$的部分观察序列的最大概率对应的状态$t=n$的最优路径的最后一个状态。
3. **确定最优完全路径**
$$
\hat{l}_N = \underset{j}{\mathrm{argmax}}\left(\delta_N\left(j\right)\right)
$$
- $\hat{l}_N$在时刻$t=N$,具有最大概率的状态。
4. **路径回溯**
$$
\hat{l}_n = \varphi_{n+1}\left(\hat{l}_{n+1}\right)
$$
- $\hat{l}_n$在时刻$t=n$,具有最大概率的状态。
- $\varphi_{n+1}(\hat{l}_{n+1})$在时刻$t=n+1$,具有最大概率的状态$t=n$的最优路径的最后一个状态。
# 4. 问题4
> **传统的语音识别系统由4个主要模块构成前端、声学模型、语言模型、解码。绘制由此构成的系统框图说明模块功能及之间的关系。**
<img src="p1.png" alt="p1" style="zoom:50%;" />
- **声学前端**:将输入的语音信号转化为可供后续处理的特征向量
- 进行预处理、分帧和特征提取
- **声学模型**:将语音信号的特征向量转化为注音符号
- 通常是基于HMM的统计模型
- **语言模型**:将注音符号转化为转写文字
- 为解码器提供根据上下文预测下一个单词/音素的能力
- **识别/解码**:搜索最大似然解
- 将声学模型和语言模型结合起来,根据这两个模型的输出进行最终的识别和解码

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.