我正在尝试将bytes
音频流转换为PyTorch张量,作为PyTorch的forward()
函数的输入。
(更具体地说,我使用Nemo
扬声器模型来识别扬声器:
audio_signal, audio_signal_length = torch.tensor([audio]), torch.tensor([audio_length])
)
有人知道怎么做吗?
这对我有效,尽管我相信有一种更简单的方法
import io
import numpy as np
import scipy as sc
import torch
import torchaudio
SAMPLE_RATE = 16000
def bytes_to_audio_tensor(audio_bytes:bytes) -> torch.Tensor:
bytes_io = io.BytesIO()
raw_data = np.frombuffer(
buffer=audio_bytes, dtype=np.int32
)
sc.io.wavfile.write(bytes_io, SAMPLE_RATE, raw_data)
audio, _ = torchaudio.load(bytes_io)
return audio.squeeze(0)