Я использую 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
— это огромный список чисел с плавающей запятой, поэтому я не мог найти способ работать с ним. Я открыт для предложений о библиотеках и правильном алгоритме для этой цели.
На мой взгляд, я использую неправильную библиотеку, но не смог найти правильную библиотеку/способ для своей цели.