小编Mis*_*ave的帖子

PyAudio - 前几个录音块为零

我在尝试同步播放设备和从设备(在本例中为我的笔记本电脑扬声器和麦克风)录制音频时遇到了一些问题。

问题

我尝试使用Python模块来实现这一点:“sounddevice”和“pyaudio”;但这两种实现都有一个奇怪的问题,即录制的音频的前几帧始终为零。还有其他人遇到过此类问题吗?这个问题似乎与所使用的块大小无关(即,其样本数量始终为零)。

我能做些什么来防止这种情况发生吗?

代码

import queue

import matplotlib.pyplot as plt
import numpy as np
import pyaudio
import soundfile as sf

FRAME_SIZE = 512
excitation, fs = sf.read("excitation.wav", dtype=np.float32)

# Instantiate PyAudio
p = pyaudio.PyAudio()
q = queue.Queue()

output_idx = 0
mic_buffer = np.zeros((excitation.shape[0] + FRAME_SIZE
                       - (excitation.shape[0] % FRAME_SIZE), 1))


def rec_play_callback(in_data, framelength, time_info, status):
    global output_idx

    # print status of playback in case of event
    if status:
        print(f"status: {status}")

    chunksize = min(excitation.shape[0] - output_idx, framelength)

    # write data …
Run Code Online (Sandbox Code Playgroud)

python latency signal-processing pyaudio

6
推荐指数
1
解决办法
725
查看次数

使用moment.js将时间(HH:mm:ss)转换为(HH:mm)

我想知道我是否可以使用moment.js将sql TIME(HH:mm:ss)转换为HH:mm.或者也许有一个简单的JavaScript/jQuery解决方案?

javascript jquery momentjs

3
推荐指数
1
解决办法
3040
查看次数