ubuntu python播放MP3,wav音频和录音

目录

    • 一.利用pygame(略显麻烦,有时候播放不太正常)
      • 1.安装依赖库
      • 2.代码
    • 二.利用mpg123(简洁方便,但仅争对mp3)
      • 1.安装依赖库
      • 2.代码
    • 三.利用sox(简单方便,支持的文件格式多)
      • 1.安装依赖库
      • 2.代码
    • 四.语音识别(录音)
      • (1)查看录音设备
      • (2)定时录音命令
      • (3)不定时录音命令
      • (4)python脚本控制

一.利用pygame(略显麻烦,有时候播放不太正常)

1.安装依赖库

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pygame==2.5.2

2.代码

import pygamedef play_audio(audio_file):pygame.mixer.init() # 初始化pygame.mixer.music.load(audio_file) # 加载文件pygame.mixer.music.play() # 播放while pygame.mixer.music.get_busy(): # 等待播放完毕pygame.time.Clock().tick(10)if __name__ == '__main__':audio_file = 'path/to/your/audio/file.mp3' # mp3的路径play_audio(audio_file)

二.利用mpg123(简洁方便,但仅争对mp3)

1.安装依赖库

sudo apt-get install mpg123  # 安装环境

2.代码

import os
os.system('mpg123 /home/pi/Desktop/music/爱你.mp3') # 这里MP3文件路径
# 注意:只有播放完音频才往后执行。

三.利用sox(简单方便,支持的文件格式多)

1.安装依赖库

sudo apt-get install sox  # 安装环境

2.代码

import os
os.system('play /home/pi/Desktop/music/爱你.mp3') # 这里MP3文件路径
# 注意:只有播放完音频才往后执行。

四.语音识别(录音)

(1)查看录音设备

arecord -l

在这里插入图片描述

(2)定时录音命令

arecord -D "plughw:2,0" -f S16_LE -r 16000 -d 5 question1.wav
# 参数介绍
-D "plughw:2,0"   2,0 表示card2  device 0
-f S16_LE 指定录音格式
-r 16000 指定了采样率,单位时Hz
-d 指定录音的时长,单位时秒
question1.wav 文件名称及格式

(3)不定时录音命令

arecord -D "plughw:2,0" -f S16_LE -r 16000  question1.wav
# 按ctrl + C来结束录音。

(4)python脚本控制

import os
import threadingdef print_time(t):t= t+1os.system('clear') # 清除上一条命令print("times:", t,"s, (Ctrl + C to Stop!)")timer = threading.Timer(1, lambda: print_time(t))timer.start()timer = threading.Timer(1, lambda: print_time(0))
timer.setDaemon(True) # 设置随主程序的关闭而关闭
timer.start()os.system('arecord -D "plughw:2,0" -f S16_LE -r 16000  question1.wav')
print("录音结束!")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/308079.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YOLO训练results.csv文件可视化(原模型与改进模型对比可视化)

一、单独一个文件可视化(源码对应utils文件夹下的plots.py文件的plot_results类) from pathlib import Path import matplotlib.pyplot as plt import pandas as pd def plot_results(fileruns/train/exp9/results.csv, dir):# Plot training results.c…

图像的颜色及Halcon颜色空间转换transfrom_rgb/trans_to_rgb/create_color_trans lut

图像的颜色及Halcon颜色空间转换 文章目录 图像的颜色及Halcon颜色空间转换一. 图像的色彩空间1. RGB颜色 2. 灰度图像3. HSV/ HSI二. Bayer 图像三. 颜色空间的转换1. trans_from_rgb算子2. trans_to_rgb算子3. create_color_trans_lut算子 图像的颜色能真实地反映人眼所见的真…

python+django网上购物商城系统o9m4k

语言:Python 框架:django/flask可以定制 软件版本:python3.7.7 数据库:mysql 数据库工具:Navicat 开发工具pycharm/vscode都可以 前端框架:vue.js 系统使用过程主要涉及到管理员和用户两种角色,主要包含个…

Android MVVM 写法

前言 Model:负责数据逻辑 View:负责视图逻辑 ViewModel:负责业务逻辑 持有关系: 1、ViewModel 持有 View 2、ViewModel 持有 Model 3、Model 持有 ViewModel 辅助工具:DataBinding 执行流程:View &g…

[NCTF 2022] web题解

[NCTF 2022]calc 考点:python环境变量注入 打开题目,F12有hint 访问一下得到源码 app.route("/calc",methods[GET]) def calc():ip request.remote_addrnum request.values.get("num")log "echo {0} {1} {2}> ./tmp/log…

@PersistenceContext和@Autowired在EntityManager上应用的不同

首先PersistenceContext是jpa专有的注解,而Autowired是spring自带的注释 上方图片的意思就是EntityManager不是线程安全的,当多个请求进来的时候,spring会创建多个线程,而PersistenceContext就是用来为每个线程创建一个EntityMana…

如何编写一个javaAgent jar工具包超详细教程

介绍 Java Agent技术 Java Agent技术是JDK提供的用来编写Java工具的技术,使用这种技术生成一种特殊的jar包,这种jar包可以让Java程序 运行其中的代码。 Java Agent技术的两种模式 Java Agent技术实现了让Java程序执行独立的Java Agent程序中的代码…

Spring boot:3.X + Security OAuth2 自定义登录页面、登出后跳转到登录页

本文描述了基于 Spring Oauth2 的 code 模式&#xff0c;实现登陆同时授权、自定义登录界面、登出页面的功能。 1.Maven依赖&#xff1a; <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactI…

如何在 NAS 上安装 ONLYOFFICE 文档?

文章作者&#xff1a;ajun 导览 ONLYOFFICE 文档 是一款开源办公套件&#xff0c;其是包含文本文档、电子表格、演示文稿、表单、PDF 查看器和转换工具的协作性编辑工具。它高度兼容微软 Office 格式&#xff0c;包括 .docx、.xlsx 、.pptx 、pdf等文件格式&#xff0c;并支持…

55.网游逆向分析与插件开发-游戏增加自动化助手接口-自动药水设定功能的逆向分析

内容来源于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;项目需求与需求拆解-CSDN博客 之前在找到过一个虚函数&#xff0c;每个按钮的都有一个实现机制&#xff0c;参考这里游戏结束过程的逆向分析 实际上找起来会不会用上不知道&#xff0c;接下来开始逆…

抬头举手阅读YOLOV8NANO

首先用YOLOV8NANO得到PT模型&#xff0c;转换成ONNX,OPENCV调用&#xff0c;PYTHON,C,ANDROID都可以举手写字阅读YOLOV8NANO

Kafka:本地设置

这是设置 Kafka 将数据从 Elasticsearch 发布到 Kafka 主题的三部分系列的第一部分;该主题将被 Neo4j 使用。第一部分帮助您在本地设置 Kafka。第二部分将讨论如何设置Elasticsearch将数据发布到Kafka主题。最后 将详细介绍如何使用连接器订阅主题并使用数据。 Kafka Kafka 是…