树莓派 python 录音_树莓派 录音问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

我用Python库里的pyaudio录制语音 录制频率8000的语音会报错。

IOError: [Errno Invalid sample rate] -9997

录制频率48000的语音 正常录制

附上代码:

# -*- coding: utf-8 -*-

import pyaudio

import wave

import numpy as np

def Monitor():

CHUNK = 512

FORMAT = pyaudio.paInt16

CHANNELS = 1

RATE = 48000

RECORD_SECONDS = 5

WAVE_OUTPUT_FILENAME = "cache.wav"

p = pyaudio.PyAudio()

stream = p.open(format=FORMAT,

channels=CHANNELS,

rate=RATE,

input=True,

frames_per_buffer=CHUNK)

print("开始缓存录音")

frames = []

while (True):

print 'begin '

for i in range(0, 100):

data = stream.read(CHUNK)

frames.append(data)

audio_data = np.fromstring(data, dtype=np.short)

large_sample_count = np.sum( audio_data > 800 )

temp = np.max(audio_data)

if temp > 800 :

print "检测到信号"

print '当前阈值:',temp

break

stream.stop_stream()

stream.close()

p.terminate()

wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')

wf.setnchannels(CHANNELS)

wf.setsampwidth(p.get_sample_size(FORMAT))

wf.setframerate(RATE)

wf.writeframes(b''.join(frames))

wf.close()

if __name__ == '__main__':

Monitor()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值