您如何真正将语音等声音转换为文本?(过程本身)



当然,我们有可用的API。

但是,如果您不打算使用 API,我们可以只将声音归因于特定文本吗?

您如何实际确定声音与用户发出的声音相同?

计算机在听到声音时会听到或读到什么?它如何翻译成计算机语言?

如果您不打算使用 API,我们是否可以将声音归因于 具体文本 ?

是的,如果您使用的是一组有限的可用声音数据(文件,如 wav 文件)和相关文本转录字典。

A.wav <-> "a"
Aaa.wav <-> "aaa"
B.wav <-> "b"
Bee.wav <-> "bee"
...

,如果您通过麦克风录制声音或以相同或类似的方式直播您的声音。


你怎么能真正确定声音与声音相同 由用户说出?

这就是为什么

您无法在不使用 API 的情况下提供 lambda 示例声音并将其转录为有效文本的原因。API 是一组工具,用于读取声音数据的离散(数字/二进制)值流,对其进行分析,并通过大量计算,尝试确定哪种字符、单词或"可转换为文本数据的语音"最适合。

看:

011110110110101010101010001010101101001010101010101010101010...

^^这是声音数据,在 2D 中(可能)如下所示:

 /
/             /
    _    /  /
        /  /
       /

。它(模糊地)类似于"a"的签名(只是一个例子,实际上这不是真的)。然后,API 输出"a"。

API 还会尝试丢弃具有干扰签名的数据。像"pops"和"sssh"工件一样,同时保留它们,当当前处理的数据具有某些字符的签名,如"p","s","t","tr","tch"......


计算机在听到声音时听到或读到什么?

计算机什么也听不到。它只是处理数据:

011110110110101010101010001010101101001010101010101010101010...

它如何翻译成计算机语言?

这已经是二进制格式,这是计算机语言。当您在麦克风中讲话时,麦克风内的硬件设备会将空气传递的振动转换为二进制数据。该数据通过电缆(连接到计算机的3.5插孔)从麦克风设备传输到计算机,然后您的声卡完成其工作。

声音/视频文件已经是二进制数据。计算机不会将数字数据转换回可听的声音,这是扬声器的工作。


最后:

没有任何简单的方法来获得一个工作Voice recognition系统(这是事物的适当命名)。没有一个可用的 API 是 100% 完美且故障安全的。但他们中的大多数人都做得很好。

实现此类 API 所需的知识量永远不会轻易适合 SO 的单个主题......

最新更新