Pyaudio - 将声音数据转换为字符串的算法

Pyaudio - Algorithm of converting a sound data to a string

我正在使用 Pyaudio 录制声音并从中提取数据。现在我录制一个声音并用 matplotlib.

显示它
import pyaudio,numpy
import matplotlib.pyplot as plt

FORMAT = pyaudio.paFloat32
SAMPLEFREQ = 44100
FRAMESIZE = 1024
NOFFRAMES = 220
p = pyaudio.PyAudio()
print('running')

stream = p.open(format=FORMAT,channels=1,rate=SAMPLEFREQ,input=True,frames_per_buffer=FRAMESIZE)
data = stream.read(NOFFRAMES*FRAMESIZE)
decoded = numpy.fromstring(data, 'Float32')
for x in decoded:
    if x != 0.0:   #
        print (x)  #--- decoded is very huge, I just print the first float number
        break      #


stream.stop_stream()
stream.close()
p.terminate()
print('done')
plt.plot(decoded)
plt.show()

此代码的示例输出是;

我的主要目标是找出 decoded 中的浮点数并将它们转换为字符串。比如我想检测我是否记录了aaa,我想对那个记录的数据的数据进行处理,最后将其转换为aaadecoded 是一个巨大的浮点数列表,所以我找不到处理它的方法。我愿意听取有关库的建议以及实现此目标的正确算法。

我认为我使用了错误的库,但找不到适合我目标的正确 library/way。

听起来您是在征求有关使用 python 进行 'Speech (audio) to Text (string)' 转换的建议。有一些很棒的 API 和 python 库可用于执行语音到文本的转换:

Getting started with speech recognition and python

Pygrs

SpeechRecognition 3.4.6