在线程中使用PyAudio为384000Hz

时间:2017-07-21 04:01:18

标签: python multithreading audio pyaudio

我正在尝试使用覆盆子pi 3上的m500-384麦克风录制超声波块。如果这是唯一的过程运行,我可以录制音频,但是当我尝试录制时出现问题在主线程中执行循环时,单独线程中的音频。音频线程无法跟上并错过读数。有没有更有效的方式来录制音频?

现在我正在使用PyAudio来录制音频,而我正在使用常规线程。

1 个答案:

答案 0 :(得分:0)

要确认您的录音采样率是384Khz,请向我们显示在您的某个录音文件上发出此信息的输出

例如:

Nonce

...输出说

ffprobe myaudiofile.wav

请告诉我们最后一行说的是什么?如上所示,我的文件的采样率为44100 Hz ......你看到384000赫兹吗?

如果像raspberry pi 3这样的SOC计算机可以提供384000 Hz的采样率,我会感到惊讶但是我想错了...为了以如此极高的采样率录制音频,硬件必须采样输入模拟音频曲线每2.60416微秒

发出此信息以查看您的硬件的功能(在ubuntu上发布)

ffprobe version N-86279-gac8dfcbd89 Copyright (c) 2007-2017 the FFmpeg developers
  built with gcc 6.3.0 (Ubuntu 6.3.0-12ubuntu2) 20170406
  configuration: 
  libavutil      55. 63.100 / 55. 63.100
  libavcodec     57. 96.101 / 57. 96.101
  libavformat    57. 72.101 / 57. 72.101
  libavdevice    57.  7.100 / 57.  7.100
  libavfilter     6. 90.100 /  6. 90.100
  libswscale      4.  7.101 /  4.  7.101
  libswresample   2.  8.100 /  2.  8.100
Input #0, wav, from 'Cesária_Évora_Live_au_Bataclan-jYGcobbQAnQ_mono.wav':
  Metadata:
    encoder         : Lavf57.72.101
  Duration: 00:00:21.51, bitrate: 705 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 1 channels, s16, 705 kb/s

在输出中这是重要的部分

cat /proc/asound/card0/codec#2

我的ubuntu笔记本电脑上面说...你看到384000吗?