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')  #任务A

tts.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 Pin

aud = 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 audio

record = audio.Record()

record.start('recordfile.wav', 10)

你可能感兴趣的:(QuecPython,物联网,QuecPython,audio)