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
,我想对那个记录的数据的数据进行处理,最后将其转换为aaa
。 decoded
是一个巨大的浮点数列表,所以我找不到处理它的方法。我愿意听取有关库的建议以及实现此目标的正确算法。
我认为我使用了错误的库,但找不到适合我目标的正确 library/way。
听起来您是在征求有关使用 python 进行 'Speech (audio) to Text (string)' 转换的建议。有一些很棒的 API 和 python 库可用于执行语音到文本的转换:
Getting started with speech recognition and python
我正在使用 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
,我想对那个记录的数据的数据进行处理,最后将其转换为aaa
。 decoded
是一个巨大的浮点数列表,所以我找不到处理它的方法。我愿意听取有关库的建议以及实现此目标的正确算法。
我认为我使用了错误的库,但找不到适合我目标的正确 library/way。
听起来您是在征求有关使用 python 进行 'Speech (audio) to Text (string)' 转换的建议。有一些很棒的 API 和 python 库可用于执行语音到文本的转换:
Getting started with speech recognition and python