当前位置: 首页 > news >正文

淘宝客如何新建网站网络营销优秀案例

淘宝客如何新建网站,网络营销优秀案例,软件怎么做出来的,域名 做网站和邮箱『开发技巧』Python音频操作工具PyAudio上手教程​0.引子当需要使用Python处理音频数据时,使用python读取与播放声音必不可少,下面介绍一个好用的处理音频PyAudio工具包。PyAudio是Python开源工具包,由名思义,是提供对语音操作的工…

『开发技巧』Python音频操作工具PyAudio上手教程

   referrerpolicy=

   referrerpolicy=

0.引子

当需要使用Python处理音频数据时,使用python读取与播放声音必不可少,下面介绍一个好用的处理音频PyAudio工具包。

PyAudio是Python开源工具包,由名思义,是提供对语音操作的工具包。提供录音播放处理等功能,可以视作语音领域的OpenCv。

1.简介

PyAudio为跨平台音频I / O库PortAudio提供Python 绑定。使用PyAudio,您可以轻松地使用Python在各种平台上播放和录制音频,例如GNU / Linux,Microsoft Windows和Apple Mac OS X / macOS。

PyAudio的灵感来自:

pyPortAudio / fastaudio:PortAudio v18 API的Python绑定。

tkSnack:Tcl / Tk和Python的跨平台声音工具包。

2.安装

目前的版本是PyAudio v0.2.11。在大多数平台上使用pip安装PyAudio。对于v0.2.9之前的版本,PyAudio分发安装二进制文件,这些文件 存档在这里。

微软Windows

使用pip安装:

python -m pip install pyaudio

笔记:

如果pip尚未与您的Python安装捆绑在一起,请在此处获取 。

pip将获取并安装PyAudio轮(预先打包的二进制文件)。目前,有车轮兼容Python 2.7,3.4,3.5和3.6 的 官方发行版。对于这些版本,可以使用32位和64位车轮。

这些二进制文件包括使用MinGW构建的PortAudio v19 v190600_20161030。它们仅支持Windows MME API,不包括对DirectX,ASIO等的支持。如果需要支持未包含的API,则需要编译PortAudio和PyAudio。

Apple Mac OS X.

使用Homebrew安装必备的portaudio库,然后使用pip安装PyAudio:

brew install portaudio

pip install pyaudio

笔记:

如果尚未安装,请下载 Homebrew。

pip将下载PyAudio源代码并为您的Python版本构建它。

Homebrew和构建PyAudio还需要安装Xcode命令行工具(更多信息)。

Debian / Ubuntu

使用包管理器安装PyAudio:

sudo apt-get install python-pyaudio python3-pyaudio

如果没有最新版本的PyAudio,请使用pip安装它:

pip install pyaudio

笔记:

pip将下载PyAudio源并为您的系统构建它。请务必事先安装portaudio库开发包(portaudio19-dev)和python开发包(python-all-dev)。

为了更好地隔离系统包,请考虑在virtualenv中安装PyAudio 。

PyAudio来源

源代码可从Python Package Index(PyPI)下载:pypi.python.org/pypi/PyAudio。

或克隆git存储库:

要从源代码构建PyAudio,您还需要构建 PortAudio v19。有关为各种平台构建PyAudio的一些说明,请参阅编译提示。要使用Microsoft Visual Studio构建PyAudio,请查看Sebastian Audet的说明。

3.示例

1).采集音频

下面以一段代码演示如何从计算机麦克风采集一段音频,采集音频时长 4s,保存文件 output.wav

使用了tqdm模块,可以方便显示出来读取过程,如下:

* recording

100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 172/172 [00:03<00:00, 43.40it/s]

* done recording

   referrerpolicy=

import pyaudio

import wave

from tqdm import tqdm

def record_audio(wave_out_path,record_second):

CHUNK = 1024

FORMAT = pyaudio.paInt16

CHANNELS = 2

RATE = 44100

p = pyaudio.PyAudio()

stream = p.open(format=FORMAT,

channels=CHANNELS,

rate=RATE,

input=True,

frames_per_buffer=CHUNK)

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

wf.setnchannels(CHANNELS)

wf.setsampwidth(p.get_sample_size(FORMAT))

wf.setframerate(RATE)

print("* recording")

for i in tqdm(range(0, int(RATE / CHUNK * record_second))):

data = stream.read(CHUNK)

wf.writeframes(data)

print("* done recording")

stream.stop_stream()

stream.close()

p.terminate()

wf.close()

record_audio("output.wav",record_second=4)

   referrerpolicy=

要使用PyAudio,首先使用pyaudio.PyAudio()(1)实例化PyAudio ,它设置portaudio系统。

要录制或播放音频,请使用pyaudio.PyAudio.open() (2)在所需设备上打开所需音频参数的流。这设置了pyaudio.Stream播放或录制音频。

请注意,在“阻止模式”中,每个pyaudio.Stream.write()或 pyaudio.Stream.read()阻止直到所有给定/请求的帧都被播放/记录。或者,要动态生成音频数据或立即处理录制的音频数据,请使用下面概述的“回调模式”。

2).播放音频

下面使用播放的功能来播放1)中保存的音频 output.wav

通过tqdm,显示播放进度条,如下:

100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 172/172 [00:03<00:00, 43.40it/s]

   referrerpolicy=

"""PyAudio Example: Play a WAVE file."""

import pyaudio

import wave

from tqdm import tqdm

def play_audio(wave_path):

CHUNK = 1024

wf = wave.open(wave_path, 'rb')

# instantiate PyAudio (1)

p = pyaudio.PyAudio()

# open stream (2)

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),

channels=wf.getnchannels(),

rate=wf.getframerate(),

output=True)

# read data

data = wf.readframes(CHUNK)

# play stream (3)

datas = []

while len(data) > 0:

data = wf.readframes(CHUNK)

datas.append(data)

for d in tqdm(datas):

stream.write(d)

# stop stream (4)

stream.stop_stream()

stream.close()

# close PyAudio (5)

p.terminate()

play_audio("output.wav")

   referrerpolicy=

2).以回调方式播放音频

当需要在执行其他程序时同时播放音频,可以使用回调的方式播放,示例代码如下:

"""PyAudio Example: Play a WAVE file."""

import pyaudio

import wave

from tqdm import tqdm

import time

def play_audio_callback(wave_path):

CHUNK = 1024

wf = wave.open(wave_path, 'rb')

# instantiate PyAudio (1)

p = pyaudio.PyAudio()

def callback(in_data, frame_count, time_info, status):

data = wf.readframes(frame_count)

return (data, pyaudio.paContinue)

# open stream (2)

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),

channels=wf.getnchannels(),

rate=wf.getframerate(),

output=True,

stream_callback=callback)

# read data

stream.start_stream()

while stream.is_active():

time.sleep(0.1)

# stop stream (4)

stream.stop_stream()

stream.close()

# close PyAudio (5)

p.terminate()

play_audio_callback("output.wav")

   referrerpolicy=

Reference:

http://www.wooajung.com/news/34152.html

相关文章:

  • 重庆做网站建设公司哪家好西安seo教程
  • 怀化网站制作南宁网站推广哪家好
  • 网站页面设计公司推荐google seo是什么意思
  • 商城网站建设报价表北京百度快照推广公司
  • 阳泉建设局网站市场营销策划方案案例
  • 淮北做网站的公司适合发表个人文章的平台
  • 网站加入地图河北百度seo点击软件
  • 重庆市住房城乡建设委员会官方网站网络营销总监岗位职责
  • 国内网站制作公司排名广告牌
  • wordpress流量统计插件企业seo整站优化方案
  • 网站建设百度小程序产品推销
  • 医院网站绿色模板企业网络推广软件
  • go语言有啥好的网站开发框架微信引流获客软件
  • 电子政务门户网站建设湖南seo优化
  • 威海团购网站建设大兴今日头条新闻
  • 在深圳怎么进大公司网站今日新闻内容摘抄
  • 做网站每年包多少流量百度手机版网页
  • 做美食推广的网站沧州网站建设优化公司
  • 广州专业做网站如何自己制作网站
  • wps上怎么做网站点击分析表快速排名服务平台
  • 霸州网站建设谷歌seo搜索
  • 可不可以自己做网站关键词出价计算公式
  • 山东网站建站建设宝鸡seo外包公司
  • 做名片的网站叫什么来着抚州网络推广
  • 谷歌独立站建站公司网页设计与制作模板
  • 个人做网站需要多少钱关于华大18年专注seo服务网站制作应用开发
  • 企业网站源码 java合肥优化排名推广
  • 网站建设幽默北京seo推广外包
  • 武汉门户网站建设苏州网站
  • 怎么制作网站应用市场推广策略 包括哪些