python语言录制声音和保存wav文件的库文件是什么

Python018

python语言录制声音和保存wav文件的库文件是什么,第1张

是pyaudio。

因为录音,是由计算机内部声卡实现的,所以我们需要利用pyaudio库调用声卡进行声音录制,而保存音频文件我们可以使用python自带的wave库来将音频保存为wav音频文件,所以python语言录制声音和保存wav文件的库文件是pyaudio。

语言录音又称对白录音,有声影片电影录音的主要工作内容之一,根据影片的内容和艺术要求,把演员的对白、旁白和内心独白记录下来的过程。

Pydub可以让你用简单的方式处理音频。

Pydub提供了简洁的高层接口,极大的扩展了python处理音频文件的能力。

GitHub链接: pydub-github

GitHub:

pydub的使用必须安装对应的依赖软件 ffmpeg 或 avconv

验证是否安装成功:

Open a WAV file

Open a mp3 file

Open a other file

切割音频

分贝操作

分贝(decibel)是量度两个相同单位之数量比例的计量单位,主要用于度量声音强度,常用dB表示。

音频链接

将一个文件添加到另一个文件的末尾

音频长度

淡入淡出

重复音频

再次淡入淡出

直接保存

所有ffmpeg支持的都支持

用标签保存结果(元数据)

实例:

将mp3文件转换成wav文件:

Python音频处理库 pydub

1.读取wav文件

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

import wave

import pylab as pl

import numpy as np

# 打开WAV文档

f = wave.open(r"c:\WINDOWS\Media\ding.wav", "rb")

# 读取格式信息

# (nchannels, sampwidth, framerate, nframes, comptype, compname)

params = f.getparams()

nchannels, sampwidth, framerate, nframes = params[:4]

# 读取波形数据

str_data = f.readframes(nframes)

f.close()

#将波形数据转换为数组

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

wave_data.shape = -1, 2

wave_data = wave_data.T

time = np.arange(0, nframes) * (1.0 / framerate)

# 绘制波形

pl.subplot(211)

pl.plot(time, wave_data[0])

pl.subplot(212)

pl.plot(time, wave_data[1], c="g")

pl.xlabel("time (seconds)")

pl.show()

2.观察信号频谱

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

import numpy as np

import pylab as pl

sampling_rate = 8000

fft_size = 512

t = np.arange(0, 1.0, 1.0/sampling_rate)

x = np.sin(2*np.pi*156.25*t) + 2*np.sin(2*np.pi*234.375*t)

xs = x[:fft_size]

xf = np.fft.rfft(xs)/fft_size

freqs = np.linspace(0, sampling_rate/2, fft_size/2+1)

xfp = 20*np.log10(np.clip(np.abs(xf), 1e-20, 1e100))

pl.figure(figsize=(8,4))

pl.subplot(211)

pl.plot(t[:fft_size], xs)

pl.xlabel(u"时间(秒)")

pl.title(u"156.25Hz和234.375Hz的波形和频谱")

pl.subplot(212)

pl.plot(freqs, xfp)

pl.xlabel(u"频率(Hz)")

pl.subplots_adjust(hspace=0.4)

pl.show()