FunASR icon indicating copy to clipboard operation
FunASR copied to clipboard

请问有没有paraformer实时和vad实时的一体的gpu调用方法,以及vad录音输入问题

Open EvilCalf opened this issue 1 year ago • 2 comments

同时我单独使用vad推理,利用sounddevice从麦克风读取数据,用以下

sample_rate = 16000  # 采样率
channels = 1  # 单声道
dtype = "int16"  # 数据类型
blocksize = 1024  # 块大小

def record_audio():
    with sd.InputStream(
        samplerate=sample_rate,
        channels=channels,
        dtype=dtype,
        blocksize=blocksize,
        callback=send_audio,
    ):
        print("开始录音...")
        while should_stop_asr.empty():
            pass  # 主循环,让程序持续运行
        print("停止录音...")


def send_audio(indata, frames, time, status):
    if status:
        print(status)
    send_audio_queue.put(indata)

这里我取到的数据我直接使用把数据作为speech_chunk一直输出的value只有[{'key': 'rand_key_DFUCd6ZAFDChf', 'value': []}]

 res = vad_mod.generate(
      input=audio_bytes,
      cache=cache,
      chunk_size=chunk_size,
      disable_pbar=True,
      fs=16000,
  )

但是我用如下就会soundfile.LibsndfileError: Error opening <_io.BytesIO object at 0x7f27f007de50>: Format not recognised.

audio_buffer = io.BytesIO(audio_bytes)
audio_data, samplerate = sf.read(audio_buffer)

EvilCalf avatar Aug 08 '24 10:08 EvilCalf