the use of audio
Detailed API reference: audio API
Instructions
MaixAmigo, MaixCube needs Initialize ES8374 audio decoder chip before using audio
- Create audio object
import audio
player = audio.Audio(path = "/sd/6.wav")
- Create I2S objects (used to process audio objects)
from Maix import I2S
# init i2s(i2s0)
wav_dev = I2S(I2S.DEVICE_0)
# config i2s according to audio info
wav_dev.channel_config(wav_dev.CHANNEL_1, I2S.TRANSMITTER,resolution = I2S.RESOLUTION_16_BIT ,cycles = I2S.SCLK_CYCLES_32, align_mode = I2S.RIGHT_JUSTIFYING_MODE)
- Get audio object information and associate I2S object
# read audio info
wav_info = player.play_process(wav_dev)
print("wav file head information: ", wav_info)
- Configure I2S objects according to audio information
sample_rate = wav_info[1]
wav_dev.set_sample_rate(sample_rate)
- Use the associated I2S object to play audio
# loop to play audio
while True:
ret = player.play()
if ret == None:
print("format error")
break
elif ret==0:
print("end")
break
- End playback
player.finish()
Routine
Test audio address: 6.wav
- Play wav files: play_wav
- Record audio as a wav file and save: record_wav