Explore chapters and articles related to this topic
Conclusions
Published in Charlie Cullen, Learn Audio Electronics with Arduino, 2020
It is also recommended to progress your learning of programming through a strictly typed language like C/C#/C++, as these languages enforce memory management (unlike languages such as JAVA that provide automatic garbage collection). When working with microcontrollers, maximizing the available resources is crucial and so learning to think of data in terms of its size is a very useful approach. In addition, if you wish to progress into audio digital signal processing (DSP) then memory allocation (and pointers) becomes fundamental to processing and rendering – the C language is still widely used in audio callback structures due to its simplicity and speed. There are many Arduino audio DSP examples available, but this book has avoided working directly with digital audio as the Arduino is arguably not powerful enough for any useful DSP processing of a digital input signal. For more advanced audio programming, the JUCE platform (https://juce.com/) provides open-source, cross-platform resources for audio DSP – alongside a growing developer community.
SSVEP-based brain–computer interface for music using a low-density EEG system
Published in Assistive Technology, 2022
Satvik Venkatesh, Eduardo Reck Miranda, Edward Braund
In EEG recordings, we observed a high magnitude under 1 Hz and a peak at 50 Hz. High-pass and notch filters at 4 Hz and 50 Hz, respectively, were applied to EEG data. Both were Butterworth filters, and zero-phase filtering was performed. The filter was designed in MATLAB, and code generator was used to translate the code to C++ for the JUCE application. In visual-based BCIs, a visual latency of 7 to 15 ms is generally observed (Russo & Spinelli, 1999). Therefore, this study discarded the first 20 ms of EEG data after the onset of the stimulus.