python实现录音小程序

下面我将为你详细讲解“python实现录音小程序”的完整攻略,过程中包含以下几个步骤:

  1. 安装PyAudio和wave库
  2. 录音
  3. 保存录音文件
  4. 示例说明

1. 安装PyAudio和wave库

要实现录音功能,我们需要使用到PyAudio和wave库。在终端中输入以下命令来安装:

pip install pyaudio wave 

2. 录音

在Python中实现录音,需要用到PyAudio库。以下是录音代码范例:

import pyaudio 

# 配置录音参数
CHUNK = 1024  
FORMAT = pyaudio.paInt16  
CHANNELS = 1  
RATE = 16000  
RECORD_SECONDS = 5  

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()
p.terminate()

3. 保存录音文件

录取完声音之后,我们需要将录音保存成文件格式,常用的是wav格式。示例代码如下:

import wave

wf = wave.open("output.wav", 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()

以上就是实现Python录音小程序的完整攻略。下面给出两个具体示例:

  1. 录制5秒钟的音频并保存为wav格式文件
import pyaudio 
import wave

# 配置录音参数
CHUNK = 1024  
FORMAT = pyaudio.paInt16  
CHANNELS = 1  
RATE = 16000  
RECORD_SECONDS = 5  

p = pyaudio.PyAudio()  

# 配置录音文件输出
wf = wave.open("output.wav", 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)

# 开始录音
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)
    wf.writeframes(data)

print("* done recording")

stream.stop_stream()
stream.close()
p.terminate()

wf.close()
  1. 录制15秒钟的音频并保存为wav格式文件
import pyaudio 
import wave

# 配置录音参数
CHUNK = 1024  
FORMAT = pyaudio.paInt16  
CHANNELS = 1  
RATE = 16000  
RECORD_SECONDS = 15  

p = pyaudio.PyAudio()  

# 配置录音文件输出
wf = wave.open("output.wav", 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)

# 开始录音
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)
    wf.writeframes(data)

print("* done recording")

stream.stop_stream()
stream.close()
p.terminate()

wf.close()

以上两个示例可以在一些需要录制音频的应用场景中使用,如语音识别、语音合成、声音转文字等等。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现录音小程序 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • 如何取一个新号码并运行相同的进程python

    【问题标题】:How to take a new number and run the same process python如何取一个新号码并运行相同的进程python 【发布时间】:2023-04-04 22:43:01 【问题描述】: 我正在尝试制作一个脚本来计算著名的“3x+1”方程,我希望 python 由用户输入一个数字,然后确定它是偶数还是奇数…

    Python开发 2023年4月6日
    00
  • 利用python实现可视化大屏

    利用Python实现可视化大屏的攻略 1、选择可视化库 Python中有很多可视化库可以用来制作可视化大屏,其中比较受欢迎的包括Matplotlib、Seaborn、Plotly等。你可以根据自己的需求选择适合的可视化库。以下是三个库的简介: Matplotlib:以Python为基础的绘图库,提供了各种绘图工具,可快速制作出静态图像。 Seaborn:是基…

    python 2023年5月19日
    00
  • Python实现读取字符串按列分配后按行输出示例

    下面是Python实现读取字符串按列分配后按行输出的完整攻略。 步骤一:字符串读取 我们可以使用Python中的input()函数来实现字符串的读取。 # 输入字符串 strs = input() 步骤二:字符串按列分配 将一行字符串按列分配可以采用遍历字符串的方式,然后将字符按列填充到新的字符串列表中。 # 将字符串按列填充到字符串列表中 string_l…

    python 2023年6月5日
    00
  • python requests模块的使用示例

    以下是关于Python requests模块的使用示例: Python requests模块的使用示例 requests是Python中一个流行的HTTP库,可以用于向Web服务器发送HTTP请求和接收响应。以下是Python requests模块的使用示例: 发送GET请求 以下是使用requests发送GET请求的示例: import requests …

    python 2023年5月14日
    00
  • Python读写文件基础知识点

    当涉及Python文件读写时,我们需要了解几个基本知识点。 文件打开/关闭 我们需要使用open()方法打开文件。open()方法接受文件路径和打开模式等参数。打开模式有读模式(r),写模式(w)和追加模式(a)。 # 以读模式打开文件 file = open(‘file.txt’, ‘r’) # 以写模式打开文件 file = open(‘file.txt…

    python 2023年6月5日
    00
  • 详解PyQt5中textBrowser显示print语句输出的简单方法

    在PyQt5中,我们可以使用textBrowser来显示print语句输出的内容,具体步骤如下: 步骤一:导入PyQt5模块 首先我们需要导入PyQt5模块: import sys from PyQt5.QtGui import QTextCursor from PyQt5.QtWidgets import QApplication, QMainWindow…

    python 2023年6月5日
    00
  • Python实现代码统计工具(终极篇)

    Python实现代码统计工具(终极篇)攻略 代码统计工具是一种用于统计代码行数、注释行数、空行数等信息的工具。在本篇攻略中,我们将使用Python实现一个代码计工具,可以统指定目录下的所有代码文件的行数信息。 步骤一:导入库 首先,我们需要导入需的库。我们将使用os库来遍历目录,使用re库来匹配代码行、注和空行。 import os import re 步骤…

    python 2023年5月13日
    00
  • Python使用sftp实现上传和下载功能

    下面是使用Python实现sftp上传和下载的完整攻略。 1. 安装必要的依赖 使用Python实现sftp上传和下载,需要先安装Paramiko模块。可以通过以下命令来进行安装: pip install paramiko 2. 导入模块并建立链接 在Python中使用sftp,需要导入Paramiko模块,然后建立sftp链接。建立链接的过程需要输入远程主…

    python 2023年6月5日
    00
合作推广
合作推广
分享本页
返回顶部