QuecPython+audio:实现音频的录制与播放

概述

QuecPython 作为专为物联网设计的开发框架,通过高度封装的 Python 接口为嵌入式设备提供了完整的音频处理能力。本文主要介绍如何利用 QuecPython 快速实现音频功能的开发。

核心优势

  • 极简开发:3行代码完成基础音频录制与播放。
  • 快速上手:无需音频专业知识即可快速上手。
  • 文档齐全:完整的技术文档和示例代码支持。

主要功能

TTS - 文本到语音播放

创建 TTS 对象

class audio.TTS(device)

参数详情请参考 audio.TTS。

语音播放

该方法用于开始语音播放。

TTS.play(priority, breakin, mode, str)

API 详情请参考 TTS.play。

音量设置

该方法用于设置播放音量大小,音量值应在区间[0 ~ 9],0表示静音。

TTS.setVolume(vol)

API 详情请参考 TTS.setVolume。

播放速度设置

该方法用于设置TTS播放速度,速度值应在区间[0 ~ 9]。

TTS.setSpeed(speed)

API 详情请参考 TTS.setSpeed。

示例代码

import audio
tts = audio.TTS(1)# case:正在播放任务A,且A允许被打断,此时任务B到来,且优先级高于任务A,那么A会被打断,直接播放B
tts.play(1, 1, 2, '111')  #任务Atts.play(2, 0, 2, '222')  #任务B

Audio - 音频播放

创建 Audio 对象

class audio.Audio(device)

参数详情请参考 audio.Audio。

设置 pa 引脚

该方法用于设置输出 pa 的 gpio。参照对应开发板的原理图,设置 pa 引脚,这样开发板的 SPK 接口才会有声音输出。

Audio.set_pa(gpio,num)

API 详情请参考 Audio.set_pa。

音频播放

该方法用于音频文件播放。支持 mp3、amr 和 wav 格式文件播放。

Audio.play(priority, breakin, filename)

API 详情请参考 Audio.play。

音量设置

该方法用于设置播放音量大小,音量值在区间[0 ~ 11],0表示静音。

Audio.setVolume(vol)

API 详情请参考 Audio.setVolume。

音频流播放

该方法用于音频流播放,支持 mp3、amr 和 wav 格式的音频流播放。

Audio.playStream(format, buf)

API 详情请参考 Audio.playStream。

示例代码

import audio
from machine import Pinaud = audio.Audio(0)# 设置pa
aud.set_pa(Pin.GPIO15,2)# 播放MP3
aud.play(2, 1, 'U:/music.mp3')

Record - 录音

创建 Record 对象

class audio.Record(device)

参数详情请参考 audio.Record。

开始录音

该方法用于开始录音。

Record.start(file_name,seconds)

API 详情请参考 Record.start。

音频流录制

该方法用于开始录音音频流。

注意:录制音频流的同时,应及时读取音频流。目前是采用循环 buf,不及时读取,会导致数据丢失。

Record.stream_start(format, samplerate, time)

API 详情请参考 Record.stream_start。

示例代码

import audiorecord = audio.Record()record.start('recordfile.wav', 10)

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

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

相关文章

企业架构之旅(3):TOGAF ADM架构愿景的核心价值

一、引言:为什么架构愿景是企业架构的「导航图」 在企业数字化转型的浪潮中,TOGAF ADM(架构开发方法)作为公认的企业架构「方法论圣经」,其首个关键阶段 —— 架构愿景(Architecture Vision)&a…

C++:Lambda表达式

C:Lambda表达式 C中lambda的基本语法1. 捕获列表(Capture List)2. 示例代码示例 1:简单的lambda示例 2:捕获变量示例 3:按引用捕获示例 4:捕获所有变量示例 5:作为函数参数 3. lambd…

被关在idea小黑屏里写spark程序

一、先在idea中添加Scala插件 二、使用Maven创建新项目 1.启动idea,选择新建项目。之后的设置如下: 2.将Scala添加到全局库中(注意:Scala的版本不宜太高,最好是2-12.否则后面会报下面这个错误 E:\tool接口\SparkCore_01\src\mai…

自动化立库/AGV物流仿真详细步骤

以下是一种可以在预算和周期内实现自动化立库及AGV 方案仿真分析的方法: 一、工具选择 软件工具FlexSim:这是一款流行的离散事件仿真软件。它具有直观的图形用户界面,通过简单的拖拽操作就可以构建自动化立库和 AGV 的模型。其内置的丰富的…

使用springboot+easyexcel实现导出excel并合并指定单元格

1:准备一个单元格合并策略类代码: import com.alibaba.excel.metadata.Head; import com.alibaba.excel.metadata.data.WriteCellData; import com.alibaba.excel.write.handler.CellWriteHandler; import com.alibaba.excel.write.metadata.holder.Writ…

Python三大Web框架对比:Django、Flask、Tornado的异步实现方式详解

目录 引言 一、框架基础概览 1.1 Django 1.2 Flask 1.3 Tornado 二、异步编程基础 2.1 同步 vs 异步 2.2 Python异步演进 三、框架异步实现对比 3.1 Django的异步进化 3.2 Flask的异步扩展 3.3 Tornado的异步范式 四、异步实现差异对比 4.1 实现机制对比 4.2 性…

深入理解Spring AI框架的核心概念

深入理解Spring AI框架的核心概念 前言 在当今人工智能飞速发展的时代,将AI技术集成到应用程序中已成为众多开发者关注的焦点。Spring AI框架为Java开发者提供了便捷的途径来实现这一目标。理解其核心概念对于充分发挥框架的潜力至关重要。本文将详细探讨Spring A…

LabVIEW基于VI Server的控件引用操作

本 VI 通过展示控件引用(Control References)的使用,借助 VI Server 实现对前面板对象的编程操作。 ​ 详细说明 隐式属性节点(Implicitly Linked Property Node):通过右键单击控件(或其控件终…

AI 边缘计算网关十大品牌

引言 在物联网与人工智能技术飞速发展的当下,数据量呈爆发式增长,对数据处理的实时性、准确性和安全性要求不断提高。AI边缘计算网关应运而生,它融合了人工智能、边缘计算与物联网技术,在靠近数据源或物理设备的网络边缘侧&#…

基于深度学习的视频目标跟踪算法研究

标题:基于深度学习的视频目标跟踪算法研究 内容:1.摘要 随着视频数据的爆炸式增长,视频目标跟踪在智能监控、自动驾驶、人机交互等领域有着广泛的应用需求。本文的目的是研究基于深度学习的视频目标跟踪算法,以提高跟踪的准确性和实时性。方法上&#x…

C++代码随想录刷题知识分享-----面试题链表相交

一、题目要求 题目:给定两条单链表 headA、headB,找出它们相交的起始节点(节点对象相同而非数值相等)。若无交点返回 null。 限制:链表无环;函数返回后链表结构不能被破坏。 图示两个链表在节点 c1 开始相…

修改输入框选择框颜色

项目场景: 提示:这里简述项目相关背景: 有时候需要改写element原来输入框/选择框的颜色 问题描述 提示:这里描述项目中遇到的问题: 输入框的话需要hover时边框颜色修改,选择值的时候边框颜色修改以及选…

8.学习笔记-Maven进阶(P82-P89)

(一)Maven-08-配置文件加载属性 通过maven可以做版本的集中管理,所以能不能通过maven进行配置文件(jdbc.properties)的集中管理。 (1)resource-》jdbc.properties 可以识别$符号 因为只能…

基于Springboot+Mysql的汉服推广网站(含LW+PPT+源码+系统演示视频+安装说明)

系统功能 管理员功能:首页、个人中心、汉服知识管理、服装展示管理、服装类别管理、用户相册管理、论坛交流、系统管理、订单管理;用户功能:首页、个人中心、用户相册管理、论坛交流、我的收藏管理、订单管理。 作者:计算机搬砖家…

Missashe考研日记-day30

Missashe考研日记-day30 0 写在前面 日记也是写到第30篇了哈哈,满月了,虽然过了不止30天中间有断更,但还是表扬一下自己坚持下来了。:) 1 专业课408 学习时间:2h30min学习内容: 今天有其他事…

HHsuite同源序列搜索数据库构建

HHsuite 可用的数据库格式简介 HHsuite 是用于蛋白质序列比对和同源性检测的工具套件,它使用特定的数据库格式以实现高效的数据存储和快速的检索。HHsuite 常用的数据库格式主要基于 FFINDEX(Flat-File Index),这是一种简单而高效的文件索引系统,它将数据文件(如蛋白质序…

基于HTML CANVAS和EXCEL的xlsx文件展示工具websheet

什么是WEBSHEET websheet基于HTML5的CANVAS和JAVASCRIPT开发的纯前端xlsx文件展示控件,该控件着重的页面展示,主要完成了文件导入、导出、文本展示、格式化文本、合并单元格、边框、底色、设置行列宽度高度,行列隐藏、视图锁定、基础表格、撤…

Android Studio for Platform(ASFP)真机调试

连接设备 由于ubuntu连接adb设备每次都需要配置usb权限,很麻烦。并且每次换设备还要重新配置,我多数设备都是用wifi的adb方式连接。 开发板显示 连接显示器配合usb鼠标或者遥控器操作(因为开发板默认开启了adb,我这里是使用有线…

基于springboot+vue的健康健身追踪系统

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9 系统展示 用户信息管理 健…

Ubuntu下安装vsode+qt搭建开发框架(一)

Ubuntu下安装vsode+qt搭建开发框架(一) g++的编译环境,这里不介绍,可点击这里查看 查看一下当前的g++环境 g++ --version g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 Copyright (C) 2021 Free Software Foundation, Inc. This is free software; see the source for copyin…