在计算机理解语音内容之前,它首先需要将声音的物理现象转换成它能理解的语言:数字。我们发出的声音是连续的模拟波,在空气中传播时压力有无数种变化。然而,计算机处理的是离散的、有限的数据。将模拟声音转换为数字信息的流程是所有语音识别的根本。这种转换包含两个主要步骤:采样和量化。从模拟波形到数字信号设想一个模拟声波就像一条平滑、连续的线,表示声音压力随时间的变化。要将其转换为数字格式,我们无法存储构成该线的无限个点。相反,我们必须通过在固定、离散的时间间隔内进行测量来近似它。{"layout":{"title":{"text":"模拟波形与数字采样点对比"},"xaxis":{"title":"时间","showgrid":false,"zeroline":false},"yaxis":{"title":"振幅","showgrid":false,"zeroline":false},"legend":{"orientation":"h","yanchor":"bottom","y":1.02,"xanchor":"right","x":1},"template":"plotly_white","shapes":[{"type":"line","x0":0,"y0":0,"x1":10,"y1":0,"line":{"color":"#adb5bd","width":1,"dash":"dot"}}]},"data":[{"x":[0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,8.5,9,9.5,10],"y":[0,0.59,0.95,0.95,0.59,0,-0.59,-0.95,-0.95,-0.59,0,0.59,0.95,0.95,0.59,0,-0.59,-0.95,-0.95,-0.59,0],"mode":"markers","name":"采样点","marker":{"color":"#fa5252","size":10}},{"x":[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9,3,3.1,3.2,3.3,3.4,3.5,3.6,3.7,3.8,3.9,4,4.1,4.2,4.3,4.4,4.5,4.6,4.7,4.8,4.9,5,5.1,5.2,5.3,5.4,5.5,5.6,5.7,5.8,5.9,6,6.1,6.2,6.3,6.4,6.5,6.6,6.7,6.8,6.9,7,7.1,7.2,7.3,7.4,7.5,7.6,7.7,7.8,7.9,8,8.1,8.2,8.3,8.4,8.5,8.6,8.7,8.8,8.9,9,9.1,9.2,9.3,9.4,9.5,9.6,9.7,9.8,9.9,10],"y":[0,0.12,0.25,0.36,0.47,0.59,0.68,0.77,0.85,0.91,0.95,0.98,0.99,0.98,0.95,0.9,0.84,0.77,0.68,0.59,0.48,0.36,0.25,0.12,0,-0.12,-0.25,-0.36,-0.47,-0.59,-0.68,-0.77,-0.85,-0.91,-0.95,-0.98,-0.99,-0.98,-0.95,-0.9,-0.84,-0.77,-0.68,-0.59,-0.48,-0.36,-0.25,-0.12,0,0.12,0.25,0.36,0.47,0.59,0.68,0.77,0.85,0.91,0.95,0.98,0.99,0.98,0.95,0.9,0.84,0.77,0.68,0.59,0.48,0.36,0.25,0.12,0,-0.12,-0.25,-0.36,-0.47,-0.59,-0.68,-0.77,-0.85,-0.91,-0.95,-0.98,-0.99,-0.98,-0.95,-0.9,-0.84,-0.77,-0.68,-0.59,-0.48,-0.36,-0.25,-0.12,0],"mode":"lines","name":"模拟波形","line":{"color":"#4c6ef5","width":2}}]}模拟波形是连续信号。数字化是在离散的时间点捕获其振幅。采样:在时间中截取片段第一步,采样,是在固定的时间间隔内测量模拟波形振幅的行为。把它想象成电影摄影机快速捕捉一系列静态照片,以制造运动的错觉。在音频中,我们捕获的是一系列快速的振幅“快照”。在计算机能理解所说的内容之前,它必须首先将声音的物理现象转换为它能理解的语言:数字。我们发出的声音是连续的模拟波,在空气中以无限的压力变化传播。然而,计算机处理的是离散的有限数据。将模拟声音转换为数字信息是语音识别的一个主要过程。此转换主要包括两个步骤:采样和量化。采样率很重要,因为它决定了可以准确捕获的频率范围。根据奈奎斯特-香农采样定理,采样率必须至少是信号中最高频率的两倍。由于人类语音的频率范围通常低于8 kHz,16 kHz的采样率在语音识别中很常用,因为它提供了足够的余量。量化:测量振幅采样告诉我们何时测量之后,量化告诉我们为每个测量值分配什么数值。模拟波形的振幅仍然是连续的,这表示它可以在一个范围内取任何值。量化通过将其映射到有限离散电平集合中最接近的值来近似这种连续振幅。可用电平的数量由位深决定。更高的位深提供更多电平,从而更准确地表示振幅。一个8位音频文件使用$2^8 = 256$个离散电平来表示振幅。一个16位音频文件使用$2^{16} = 65,536$个离散电平,提供更高的保真度。这是大多数ASR应用的通用标准。digraph G { rankdir=TB; node [shape=plaintext, fontsize=12]; subgraph cluster_0 { label = "量化"; bgcolor="#e9ecef"; style="rounded"; "node_A" [label="模拟\n振幅\n(1.68)"]; "node_B" [label="量化\n值\n(1.7)"]; "node_A" -> "node_B" [label="四舍五入到\n最接近的电平", fontcolor="#495057"]; "ruler" [label=< <TABLE BORDER="0" CELLBORDER="0" CELLSPACING="0"> <TR><TD>1.8</TD></TR> <TR><TD BGCOLOR="#ced4da">1.7</TD></TR> <TR><TD>1.6</TD></TR> <TR><TD>1.5</TD></TR> </TABLE> >]; "point" [shape=point, color="#f03e3e"]; "point_quantized" [shape=point, color="#7048e8"]; // 定位节点以创建视觉效果 edge [style=invis]; "node_A" -> "ruler" -> "node_B"; } }量化将连续的振幅值映射到可用的最接近的离散电平,这由位深决定。结果:一串数字采样和量化的结合将连续的声波转换成一串数字。序列中的每个数字代表声音在某个特定时间点上的量化振幅。对于一个1秒钟、以16 kHz采样率和16位深采样的音频片段,结果是一个包含16,000个整数的数组,每个整数的值介于-32,768和32,767之间。这一串数字,通常被称为波形,是计算机可以存储和处理的原始数字音频。它是我们ASR流程的第一个输入。尽管它是声音的忠实数字表示,但它尚未处于适合的格式,以便机器学习模型找出模式。在下一章中,我们将学习如何处理这种原始波形,成为更有用的特征。