Alan Christie - Building a real-time embedded audio sampling application with MicroPython

preview_player
Показать описание
"Building a real-time embedded audio sampling application with MicroPython
[EuroPython 2017 - Talk - 2017-07-10 - Arengo]
[Rimini, Italy]

While demonstrating the pyboard to a group of colleagues, a challenge was set to produce a practical demonstration of the device that would provide automatic and continuous voice recording and playback of short spoken phrases similar to that found in a number of talking toys.

This talk covers the process of designing and testing the embedded real-time Python solution and includes the architecture, test methodologies and recordings as the stages progressed to the final source code. The talk concludes with a live demonstration of the final application. The solution uses MicroPython (an embedded implementation of Python 3), the pyboard and its AMP Audio skin.

MicroPython is a lean implementation of Python 3 that is optimised to run in a very small footprint on micro-controllers and in constrained environments. It was created by the Australian programmer and physicist Damien George, after a successful Kickstarter backed campaign in 2013.

The pyboard is the original reference hardware created to host MicroPython. It is a compact low-power board based on an ARM processor with a heap of approximately 100kBytes that can run at 168MHz. It has sufficient hardware services and real-time capabilities to control all kinds of electronic projects.

The AMP Audio skin is a small additional module that attaches to the pyboard that adds a small power amplifier, speaker and a microphone with a pre-amp.

Рекомендации по теме
Комментарии
Автор

Nice talk. Making such an application would be much simpler these days, thanks to advances both in MicroPython and in microcontroller hardware. On for example a ESP32 one can use digital audio input and output using I2S. It will do the buffering for you, so no need to deal with real time. And the quality will be as good as on your mobile phone.

Jononor
Автор

is it possible to use a DMA, which would increase the sampling rate and efficiency?

babotvoj
Автор

Good talk. However, everything is tiny.

Tyrone-Ward