У меня есть скрипт на python, в котором я получаю байты, соответствующие аудио (я делаю вызов API другой программы, которая возвращает аудио байты в формате wav). Я хочу сделать некоторую обработку сигнала, используя numpy на этом аудио. В настоящее время я записываю байты в файл и загружаю файл wav обратно с помощью librosa. Но из-за промежуточного дискового ввода-вывода существует задержка. Могу ли я получить ndarray из этих аудио байтов без записи в файл?
Ниже мой код, в котором я пишу в файл и читаю ndarray
def func1():
audioBytes = api_call_to_another_program()
fp = open("tmp.wav", "wb")
fp.write(audioBytes)
return path
def func2(path, sample_rate=someNumber):
myNdArray = librosa.core.load(path, sr=sample_rate)[0]
# some signal processing stuff..
Я хочу что-то вроде этого
def func1():
audioBytes = api_call_to_another_program()
interRep = someFunction(audioBytes) # an intermediate representation for compressing the data a bit
return interRep
def func2(interRep):
myNdArray = inverseOfSomeFunction(interRep)
# some signal processing stuff..