BeagleBoard/GSoC/2021 Proposal/Bela Browser-based Workbench
Bela Browser-based workbench
Student: Leo Aimone
Mentors: (Possibly) Giulio Moro
Status: proposal | Project type: cool stuff
Requirements have been completed listed on the ideas page and fill out this template.
School: Queen Mary University of London
Course: Master in Sound and Music Computing Country: UK
Primary language: French, English, Spanish
Typical work hours: 8AM-11PM GMT
GSoC participation: Excited to participate to 2021 GSoC to have the opportunity to build a tool that can benefit to audio explorers like me.
About your project
Project name: A Bela Browser-based Workbench
Never heard of Bela?
Bela is an audio cape adding the features of a powerful programmable audio system to the BeagleBoard Black. Running its own Linux kernel, allocating its highest priority thread to audio handling, it achieves ultra-low latency for real-time audio processing while giving a neat browser-based IDE supporting C++, Pure Data, Supercollider and Csound.
But, what can I do with Bela?
Bela being built on top of the BeagleBoard Black, it manages to combines the easy access of the BB's peripherals (GPIO, USB, ethernet, SD card) with its fast audio processing, allowing to create fun and innovative projects such as:
- Digital audio effects
- Virtual and physical musical instruments
- Interactive sound installations
- And much more here
Why should I care about oscilloscopes?
When working with signals, oscilloscopes are one of the most important tools to have. While sound gives an auditive feedback of processing signals, an oscilloscope give a their visual feedback. Oscilloscopes enables to visualise subtle changes that the human ear cannot pick up, hence the priority to make it as performant and complete as possible.
Doesn't Bela already have an oscilloscope?
Yes it does, and it's great. It gives you the option to quickly visualise any signals and even performs FFT to visual frequency content in real-time. However, it is a few features away from being a full-fledge workbench.
This project aims at adding some of the capabilities of a professional oscilloscope to the current Bela web-browser oscilloscope. Adding features such as an enhanced time-division visualisation, cursors measurements or automatic-setting option could really benefit the community of audio tinkerers of any skills level.
Here are the objective tasks for this projects:
Enhanced options for scaling the plot in each axis
- Adjustable cursors for reading off measurements in time or amplitude
- Automatic detection of amplitude or frequency from the plot
- More options for triggering
- XY mode
- Updated visual appearance
In 10-20 sentences, what are you making, for whom, why and with what technologies (programming languages, etc.)? (We are looking for open source SOFTWARE submissions.)
Provide a development timeline with a milestone each of the 11 weeks and any pre-work. (A realistic timeline is critical to our selection process.)
|May 17||Proposal accepted or rejected|
|Jun 07||Pre-work complete, Coding officially begins!|
|Jun 17||Milestone #1, Introductory YouTube video|
|June 24||Milestone #2|
|June 30||Milestone #3|
|July 12 18:00 UTC||Milestone #4, Mentors and students can begin submitting Phase 1 evaluations|
|July 16 18:00 UTC||Phase 1 Evaluation deadline|
|July 23||Milestone #5|
|July 30||Milestone #6|
|Aug 06||Milestone #7|
|August 10||Milestone #8, Completion YouTube video|
|August 16 - 26 18:00 UTC||Final week: Students submit their final work product and their final mentor evaluation|
|August 23 - 30 18:00 UTC||Mentors submit final student evaluations|
Experience and approach
In 5-15 sentences, convince us you will be able to successfully complete your project in the timeline you have described.
What will you do if you get stuck on your project and your mentor isn’t around?
If successfully completed, what will its impact be on the BeagleBoard.org community? Include quotes from BeagleBoard.org community members who can be found on http://beagleboard.org/discuss and http://bbb.io/gsocchat.
Please complete the requirements listed on the ideas page. Provide link to pull request.
Is there anything else we should have asked you?