Pyaudio - Алгоритм преобразования звуковых данных в строку

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

На мой взгляд, я использую неправильную библиотеку, но не смог найти правильную библиотеку/способ для своей цели.


person GLHF    schedule 03.06.2016    source источник


Ответы (1)


Похоже, вы просите совета по использованию python для преобразования «Речь (аудио) в текст (строка)». Есть несколько отличных API и библиотек python для преобразования речи в текст:

Начало работы с распознаванием речи и Python

Pygrs

Распознавание речи 3.4.6

person Jack    schedule 03.06.2016