QuecPython + audio: Implement Audio Recording and Playback

python dev.to

Overview

As a development framework designed specifically for the Internet of Things, QuecPython provides complete audio processing capabilities for embedded devices through highly encapsulated Python interfaces. This article mainly describes how to quickly implement audio function development with QuecPython.

Core Advantages

• Minimalist Development: Complete basic audio recording and playback with just 3 lines of code.

• Quick Start: Get started rapidly without professional audio knowledge.

• Complete Documentation: Supported by full technical documentation and sample code.

Main Functions

TTS - Text to Speech Playback

Create TTS Object

class audio.TTS(device)

For parameter details, please refer to audio.TTS.

Speech Playback

This method is used to start speech playback.

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

For API details, please refer to TTS.play.

Volume Setting

This method is used to set the playback volume. The volume value must be in the range [0 ~ 9], where 0 means mute.

TTS.setVolume(vol)

For API details, please refer to TTS.setVolume.

Playback Speed Setting

This method is used to set the TTS playback speed. The speed value must be in the range [0 ~ 9].

TTS.setSpeed(speed)

For API details, please refer to TTS.setSpeed.

Sample Code

import audio tts = audio.TTS(1) # Case: Task A is playing and allows interruption. When Task B with a higher priority arrives, Task A will be interrupted and Task B will be played directly tts.play(1, 1, 2, '111') # Task A tts.play(2, 0, 2, '222') # Task B

Audio - Audio Playback

Create Audio Object

class audio.Audio(device)

For parameter details, please refer to audio.Audio.

Set PA Pin

This method is used to configure the GPIO of the output PA. Refer to the schematic of the corresponding development board to set the PA pin, so that the SPK interface of the development board can output sound.

Audio.set_pa(gpio,num)

For API details, please refer to Audio.set_pa.

Audio Playback

This method is used to play audio files, supporting playback of files in mp3, amr and wav formats.

Audio.play(priority, breakin, filename)

For API details, please refer to Audio.play.

Volume Setting

This method is used to set the playback volume. The volume value must be in the range [0 ~ 11], where 0 means mute.

Audio.setVolume(vol)

For API details, please refer to Audio.setVolume.

Audio Stream Playback

This method is used for audio stream playback, supporting playback of audio streams in mp3, amr and wav formats.

Audio.playStream(format, buf)

For API details, please refer to Audio.playStream.

Sample Code

import audio from machine import Pin aud = audio.Audio(0) # Set PA pin aud.set_pa(Pin.GPIO15,2) # Play MP3 file aud.play(2, 1, 'U:/music.mp3')

Record - Audio Recording

Create Record Object

class audio.Record(device)

For parameter details, please refer to audio.Record.

Start Recording

This method is used to start audio recording.

Record.start(file_name,seconds)

For API details, please refer to Record.start.

Audio Stream Recording

This method is used to start audio stream recording.

Note: While recording the audio stream, you must read the audio stream in a timely manner. A circular buffer is currently used, and failure to read in time will result in data loss.

Record.stream_start(format, samplerate, time)

For API details, please refer to Record.stream_start.

Sample Code

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

Source: dev.to

arrow_back Back to Tutorials