Toolkits for Real Time Digital Audio Signal Processing Teaching Laboratory
- 1 Department of Electrical and Electronics Engineering, University of Rwanda, Kigali, Rwanda
- 2 Department of Electrical and Electronics Engineering, University of Rwanda, Kigali, Rwanda
- 3 Department of Electrical and Electronics Engineering, University of Rwanda, Kigali, Rwanda
- 4 Department of Electrical and Electronics Engineering, University of Rwanda, Kigali, Rwanda
Abstract
This paper describes an audio digital signal-processing toolkit that the authors develop to supplement a lecture course on digital signal processing (DSP) taught at the department of Electrical and Electronics Engineering at the University of Rwanda. In engineering education, laboratory work is a very important component for a holistic learning experience. However, even though today there is an increasing availability of programmable DSP hardware that students can largely benefit from, many poorly endowed universities cannot afford a costly full-fledged DSP laboratory. To help remedy this problem, the authors have developed C#.NET toolkits, which can be used for real-time digital audio signal processing laboratory. These toolkits can be used with any managed languages, like Visual Basic, C#, F# and managed C++. They provide frequently used modules for digital audio processing such as filtering, equalization, spectrum analysis, audio playback, and sound effects. It is anticipated that by creating a flexible and reusable components, students will not only learn fundamentals of DSP but also get an insight into the practicability of what they have learned in the classroom.
- Feisel, L.D. and Rosa, A.J. (2005) The Role of the Laboratory in Undergraduate Engineering Educa-tion. Journal of Engineering Education, 94, 121-130.
- Rwanda Ministry of Finance and Economic Planning (2013) Economic Development and Poverty Reduction Strategy (EDPRS). The Republic of Rwanda, Kigali.
- Houston, B. and Ptersen, B. (2003) Exocortex.DSP: An Open Source C# Complex Number and FFT Library for Microsoft .NET [Online]. http://www.exocortex.org/dsp/
- Cook, P.R. and Scavone, G.P. (1999) The Synthesis ToolKit (STK). International Computer Music Conference, 196-199.
- Lazzarini, V. (2001) Sound Processing with the SndObj Library: An Overview. International Conference on Digital Audio Effect (DAFx), 4, 6-8.
- Heath, M. (2013) The NAudio Documentation Wiki [Online]. http://naudio.codeplex.com/documentation
- Papetti, S. (2000) The ICST DSP Library: A Versatile and Efficient Toolset for Audio Processing and Analysis Applications.
- Luck, I. (2005) Un4seen Developments - 2MIDI / BASS / MID2XM / MO3 / XM-EXE / XMPlay [Online]. http://www.un4seen.com/
- Niedergesäß, B. (2013) BASS.NET API for the Un4seen BASS Audio Library.
- Chapman, S.J. (2007) MATLAB Programming for Engineers. Cengage Learning, 3.
- Skeet, J. (2011) C# in Depth. 2nd Edition, Manning Publications Co., Greenwich, CT.
- Math.NET (2005) Math.NET Iiridium. http://iridium.mathdotnet.com/
- Anand, V. (2012) Dependency Injection Using Ninject. http://www.codeproject.com/Articles/424749/Dependency-Injection-Using-Ninject
- Moq: The Simplest Mocking Library for .NET and Silverlight. https://github.com/Moq/moq4
- Cwalina, K. and Abrams, B. (2008) Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable. Net Libraries, Addison-Wesley Professional, Boston.
- Hanmer, R. (2013) Pattern-Oriented Software Architecture for Dummies. John Wiley & Sons, Ltd., Hoboken.
- Fowler, M., Rice, D., Foemmel, M., Hieatt, E., Mee, R. and Stafford, R. (2002) Patterns of Enterprise Application Architecture. Addison Wesley, Boston.
- Gaddis, T. (2012) Starting out with Python. Addison-Wesley, Boston, 1.