maix::audio
maix.audio module
This is
maix::audio
module of MaixCDK.
All of these elements are in namespacemaix::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()