maix::audio

maix.audio module

This is maix::audio module of MaixCDK.
All of these elements are in namespace maix::audio.

For MaixCDK developer: DO NOT edit this doc file manually, this doc is auto generated!

Module

No module

Enum

Format

Audio type

item describe
values FMT_NONE: format invalid
FMT_S8: unsigned 8 bits
FMT_S16_LE: signed 16 bits, little endian
FMT_S32_LE: signed 32 bits, little endian
FMT_S16_BE: signed 16 bits, big endian
FMT_S32_BE: signed 32 bits, big endian
FMT_U8: unsigned 8 bits
FMT_U16_LE: unsigned 16 bits, little endian
FMT_U32_LE: unsigned 32 bits, little endian
FMT_U16_BE: unsigned 16 bits, big endian
FMT_U32_BE: unsigned 32 bits, big endian

C++ defination code:

enum Format
    {
        FMT_NONE = 0,       // format invalid
        FMT_S8,             // unsigned 8 bits
        FMT_S16_LE,         // signed 16 bits, little endian
        FMT_S32_LE,         // signed 32 bits, little endian
        FMT_S16_BE,         // signed 16 bits, big endian
        FMT_S32_BE,         // signed 32 bits, big endian
        FMT_U8,             // unsigned 8 bits
        FMT_U16_LE,         // unsigned 16 bits, little endian
        FMT_U32_LE,         // unsigned 32 bits, little endian
        FMT_U16_BE,         // unsigned 16 bits, big endian
        FMT_U32_BE,         // unsigned 32 bits, big endian
    }

Variable

Function

Class

Recorder

Recorder class

C++ defination code:

class Recorder

Recorder

Construct a new Recorder object. currectly only pcm and wav formats supported.

item description
type func
param path: record path. the path determines the location where you save the file, if path is none, the audio module will not save file.
sample_rate: record sample rate, default is 48000(48KHz), means 48000 samples per second.
format: record sample format, default is audio::Format::FMT_S16_LE, means sampling 16 bits at a time and save as signed 16 bits, little endian. see @audio::Format
channel: record sample channel, default is 1, means 1 channel sampling at the same time
block: block record, default is true, means block record, if false, record will not block
static False

C++ defination code:

Recorder(std::string path = std::string(), int sample_rate = 48000, audio::Format format = audio::Format::FMT_S16_LE, int channel = 1, bool block = true)

volume

Set/Get record volume

item description
type func
param value: volume value, If you use this parameter, audio will set the value to volume,
if you don't, it will return the current volume. range is [0, 100].
return the current volume
static False

C++ defination code:

int volume(int value = -1)

mute

Mute

item description
type func
param data: mute data, If you set this parameter to true, audio will set the value to mute,
if you don't, it will return the current mute status.
return Returns whether mute is currently enabled.
static False

C++ defination code:

bool mute(int data = -1)

reset

Reset record status

item description
type func
param start: start prepare audio data, default is True
static False

C++ defination code:

void reset(bool start = true)

record

Record, Read all cached data in buffer and return. If there is no audio data in the buffer, may return empty data.

item description
type func
note 1. Do not set the time too low, for example: 1ms, as the buffer may not be ready with audio data, which could corrupt the internal state.
2. In non-blocking mode, you need to actively execute reset() before you can start capturing audio.
Additionally, in non-blocking mode, if the buffer does not have enough data, only the currently prepared audio data will be returned.
As a result, the length of the actual output audio data may not match the length of the captured audio data.
param record_ms: Block and record audio data lasting record_ms milliseconds and save it to a file, the return value does not return audio data. Only valid if the initialisation path is set.
return pcm data. datatype @see Bytes. If you pass in record_ms parameter, the return value is an empty Bytes object.
static False

C++ defination code:

maix::Bytes *record(int record_ms = -1)

record_bytes

Record, Read all cached data in buffer and return. If there is no audio data in the buffer, may return empty data.

item description
type func
note 1. This interface is experimental and may be removed in the future.
2. In non-blocking mode, you need to actively execute reset() before you can start capturing audio.
Additionally, in non-blocking mode, if the buffer does not have enough data, only the currently prepared audio data will be returned.
As a result, the length of the actual output audio data may not match the length of the captured audio data.
param record_size: Record audio data of size record_size.
return pcm data. datatype @see Bytes. If you pass in record_ms parameter, the return value is an empty Bytes object.
static False

C++ defination code:

maix::Bytes *record_bytes(int record_size = -1)

finish

Finish the record, if you have passed in the path, this api will save the audio data to file.

item description
type func
return error code, err::ERR_NONE means success, others means failed
static False

C++ defination code:

err::Err finish()

frame_size

Returns the number of bytes for frame_count frames.

item description
type func
param frame_count: frame count
return frame bytes
static False

C++ defination code:

int frame_size(int frame_count = 1)

get_remaining_frames

Return the number of frames available for reading during recording, unit is frame.

item description
type func
note The number of bytes per frame can be calculated using frame_size().
return remaining frames
static False

C++ defination code:

int get_remaining_frames()

period_size

Set/Get the audio buffer size, unit: frame.

item description
type func
note 1. Generally, the buffer size needs to be modified during non-blocking operations.
2. The number of bytes per frame can be calculated using frame_size().
param period_size: When period_size is less than 0, the current value of period_size will be returned;
when period_size is greater than 0, period_size will be updated, and the size of period_size after setting will be returned.
return the current period size
static False

C++ defination code:

int period_size(int period_size = -1)

period_count

Set/Get the audio buffer count, unit: frame.

item description
type func
note Generally, the buffer size needs to be modified during non-blocking operations.
param period_count: When period_count is less than 0, the current value of period_count will be returned;
when period_count is greater than 0, period_count will be updated, and the size of period_count after setting will be returned.
return the current period size
static False

C++ defination code:

int period_count(int period_count = -1)

sample_rate

Get sample rate

item description
type func
return returns sample rate
static False

C++ defination code:

int sample_rate()

format

Get sample format

item description
type func
return returns sample format
static False

C++ defination code:

audio::Format format()

channel

Get sample channel

item description
type func
return returns sample channel
static False

C++ defination code:

int channel()

Player

Player class

C++ defination code:

class Player

Player

Construct a new Player object

item description
type func
param path: player path. the path determines the location where you save the file, if path is none, the audio module will not save file.
sample_rate: player sample rate, default is 48000(48KHz), means 48000 samples per second.
format: player sample format, default is audio::Format::FMT_S16_LE, means sampling 16 bits at a time and save as signed 16 bits, little endian. see @audio::Format
channel: player sample channel, default is 1, means 1 channel sampling at the same time
block: block record, default is true, means block record, if false, record will not block
static False

C++ defination code:

Player(std::string path = std::string(), int sample_rate = 48000, audio::Format format = audio::Format::FMT_S16_LE, int channel = 1, bool block = true)

volume

Set/Get player volume

item description
type func
param value: volume value, If you use this parameter, audio will set the value to volume,
if you don't, it will return the current volume. range is [0, 100].
return the current volume
static False

C++ defination code:

int volume(int value = -1)

play

Play

item description
type func
param data: audio data, must be raw data
return error code, err::ERR_NONE means success, others means failed
static False

C++ defination code:

err::Err play(maix::Bytes *data = maix::audio::Player::NoneBytes)

frame_size

Returns the number of bytes for frame_count frames.

item description
type func
param frame_count: frame count
return frame bytes
static False

C++ defination code:

int frame_size(int frame_count = 1)

get_remaining_frames

Return the number of idle frames available for writing during playback, unit: frame. if there are no idle frames, it will cause blocking.

item description
type func
note The number of bytes per frame can be calculated using frame_size().
return remaining frames
static False

C++ defination code:

int get_remaining_frames()

period_size

Set/Get the audio buffer size, unit: frame.

item description
type func
note 1. Generally, the buffer size needs to be modified during non-blocking operations.
2. The number of bytes per frame can be calculated using frame_size().
param period_size: When period_size is less than 0, the current value of period_size will be returned;
when period_size is greater than 0, period_size will be updated, and the size of period_size after setting will be returned.
return the current period size
static False

C++ defination code:

int period_size(int period_size = -1)

period_count

Set/Get the audio buffer count, unit: frame.

item description
type func
note Generally, the buffer size needs to be modified during non-blocking operations.
param period_count: When period_count is less than 0, the current value of period_count will be returned;
when period_count is greater than 0, period_count will be updated, and the size of period_count after setting will be returned.
return the current period size
static False

C++ defination code:

int period_count(int period_count = -1)

reset

Reset player status

item description
type func
param start: start play audio data, default is False
static False

C++ defination code:

void reset(bool start = false)

sample_rate

Get sample rate

item description
type func
return returns sample rate
static False

C++ defination code:

int sample_rate()

format

Get sample format

item description
type func
return returns sample format
static False

C++ defination code:

audio::Format format()

channel

Get sample channel

item description
type func
return returns sample channel
static False

C++ defination code:

int channel()