录音

import wave
import pyaudio

定义数据流块

CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100

录音时间

RECORD_SECONDS = 5

要写入的文件名

WAVE_OUTPUT_FILENAME = “output.wav”

创建PyAudio对象

p = pyaudio.PyAudio()

打开数据流

stream = p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK)

print("* recording")

开始录音

frames = []
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
frames.append(data)

print("* done recording")

停止数据流

stream.stop_stream()
stream.close()

关闭PyAudio

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()

import wave
import numpy
from pyaudio import PyAudio
import matplotlib.pyplot as plt

只读方式打开WAV文件

wf = wave.open(’./output.wav’, ‘rb’)

创建PyAudio对象

p = PyAudio()
stream = p.open(format = p.get_format_from_width(wf.getsampwidth()),
channels = wf.getnchannels(),
rate = wf.getframerate(),
output = True)
nframes = wf.getnframes()
framerate = wf.getframerate()

读取完整的帧数据到str_data中,这是一个string类型的数据

str_data = wf.readframes(nframes)
wf.close()

将波形数据转换成数组

wave_data = numpy.fromstring(str_data, dtype=numpy.short)

将wave_data数组改为2列,行数自动匹配

wave_data.shape = -1,2

将数组转置

wave_data = wave_data.T

def time_plt():
# time也是一个数组,与wave_data[0]或wave_data[1]配对形成系列点坐标
time = numpy.arange(0, nframes)*(1.0/framerate)
# 绘制波形图
plt.subplot(211)
plt.plot(time, wave_data[0], c=‘r’)
plt.subplot(212)
plt.plot(time, wave_data[1], c=‘g’)
plt.xlabel(‘time (seconds)’)
plt.show()

def freq():
# 采样点数,修改采样点数和起始位置进行不同位置和长度的音频波形分析
N = 44100
start = 0 # 开始采样位置
df = framerate/(N-1) # 分辨率
freq = [df*n for n in range(0, N)] # N个元素
wave_data2 = wave_data[0][start:start+N]
c = numpy.fft.fft(wave_data2)*2/N
# 常规显示采样频率一半的频谱
d = int(len©/2)
# 仅显示频率在4000以下的频谱
while freq[d] > 4000:
d -= 10
plt.plot(freq[:d-1], abs(c[:d-1]), ‘r’)
plt.show()

def main():
time_plt()
freq()

if name == ‘main’:
main()

Python音频特征提取——pyAudioAnalysis工具包
阅读数 5410
语音识别等应用离不开音频特征的提取,最近在看音频特征提取的内容,用到一个python下的工具包——pyAudioAnalysis:AnOpen-SourcePythonLibraryforAudioS…
博文
来自: 赵至柔的博客

想对作者说点什么
使用python写了一个简单的音频分析小程序(pyaudio+numpy+matplotlib)
阅读数 2164
程序源码在这里拿,不谢!https://github.com/simondavier/hm_day/tree/master/pyaudio 想联系作者,有时比较忙,无法及时回复请见谅:微信:13521…
博文
来自: simondavier的专栏
推荐《利用Python进行数据分析》附下载链接
阅读数 294
从pandas库的数据分析工具开始利用高性能工具对数据进行加载、清理、转换、合并以及重塑;利用matpIotlib创建散点图以及静态或交互式的可视化结果;利用pandas的groupby功能对数据集进…
博文
来自: qq_38455637的博客
python通过pyaudio实现卡拉OK,同时进行小小的音频数据整理 03-07
建议别下载,直接去我的博客复制源码。这个就是一个用pyaudio实现一个现录现播的小代码,同时带一丁点的音频数据修改,小白所做。没有做回音方面的处理。 下载
pyaudio:基于pyaudio利用Python编程从电脑端录制音频保存到指定文件夹+将录音上传服务器+录音进行识别并转为文本保存
阅读数 3979
pyaudio:基于pyaudio利用Python编程从电脑端录制音频保存到指定文件夹+将录音上传服务器+录音进行识别并转为文本保存输出结果代码实现#--coding:utf-8--#pyaudi…
博文
来自: 一个处女座的程序猿
使用MATLAB和声卡录音并分析波形和频谱 05-19
使用MATLAB和声卡录音,然后做FFT,绘制声音的波形图和频谱图 下载
录音文件信噪比计算,实现语音活动检测 06-19
功能:实现语音活动检测 算法实现:可参见文献 输入参数说明:语音信号 返回参数说明:语音是否活动的标志,信噪比 下载
python-利用pyaudio进行声音录制及简单实例代码分享
阅读数 1万+
一、关于pyaudio的安装现在pyaudio的版本为:PyAudiov0.2.9,若想安装其他版本,请参考以下链接:http://people.csail.mit.edu/hubert/pyaudi
博文
来自: 攻城狮成长日志
Matlab 实时录音(声卡)及频谱显示
阅读数 8974
Matlab实时录音及频谱显示本次主要使用Matlab进行GUI编程,以实现实时录音及频谱显示。界面简单高效。一:创建GUI界面设计matlab—>在命令行执行guide—>出现gui编辑界面,选择一…
博文
来自: airlcade 的博客
python分析音频的小程序 09-04
个人写的一个分析音频的小程序,能够分析音量大小及频率,使用普通的耳机和micphone就能实现简单的声音分析了。 下载
利用Python进行录音和音频分析 - qq_42370150的博客 - CSDN博客
6-4
利用Python进行录音和音频分析2019年06月03日 16:13:58 qq_42370150 阅读数:5 import wave import pyaudio # 定义数据流块 CHUNK = 1024 FORMAT = pyaudio.pa
python音频处理用到的操作 - qq_21210467的博客 - CSDN博客
5-14
本文主要记录python下音频常用的操作,以.wav格式文件为例。其实网上有很多现成的音频工具包,如果仅仅调用,工具包是更方便的。 更多pyton下的操作可以参考: 用pyt…
ASR:基于pyaudio利用python进行语音生成、语音识别总结及其案例详细攻略
阅读数 4046
ASR:基于pyaudio利用python进行语音生成、语音识别总结及其案例详细攻略利用python进行语音生成T1、调用win系统自带程序将文字转为语音读出T2、利用python的pyaudio库进…
博文
来自: 一个处女座的程序猿
一个处女座的程序猿关注
一个处女座的程序猿
1231篇文章
排名:47
郭 璞关注
郭 璞
455篇文章
排名:182
KrisFei关注
KrisFei
708篇文章
排名:624
Peter盼关注
Peter盼
360篇文章
排名:千里之外
…用于语音识别 python - qq_42815385的博客 - CSDN博客…
4-9
2.概念——声谱图:对原始信号进行分帧加窗后,可以…Librosa是一个用于音频、音乐分析、处理的python工具…时傅里叶变换STFT) 博文 来自: qq_43679627的博客…
python实现录音功能,可随时停止录音 - qq_29934825的博…_CSDN博客
5-26
博文 来自: zzZ_CMing的博客 python录音 09-20 python录音源代码,录音格式为wav格式… 下载 pyaudio:基于pyaudio利用Python编程实现播放音频mp3、wav等格式…
基于Python语言的音频捕获及频谱分析设计 03-06
基于Python语言的音频捕获及频谱分析设计 下载
AudioCompare比较两个音频的相似度
阅读数 1万+
AudioCompare比较两个音频的相似度项目最近遇到一个问题,两段音频,它们的大小仅相差几个字节,导致文件的md5值不一样,但实际上它们又是相同的音频,需求就是要把这样的音频找出来。从网上找了下,…
博文
来自: benhuo931115的博客
Python播放音频 - qq_18395603的博客 - CSDN博客
10-23
#!/usr/bin/python # -- coding: UTF-8 -- import os os.system(“paplay BEEP1.WAV”)
用python 对音乐(音频)进行处理,画出相应的音谱图 - qq…_CSDN博客
2-26
  现有一个BPSK.wav的音频文件,要求使用Python读取该文件画出其波形和频谱…java对音频文件的频谱分析MP3音频录音机M… 博文 来自: ye_xiao_yu的博客 …
音频fft频谱分析 11-14
录音的时候实时显示时域波形,并记录频率与分贝。录音结束可进行fft变换分析以及自相关函数变换。对音频的实时处理起到了非常好的效果。 下载

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值