Skip to content

EP-353/EP-353

Repository files navigation

EP-353: Audio Programming in C

This repository hosts sample codes used in EP-353: Audio Programming in C, a class on digital signal processing and sound synthesis using the C programming language. EP-353 is a course at Berklee College of Music in the Electronic Production and Design department, taught by Akito van Troyer. Sample codes are provided as a resource for learning audio programming in C.

The repository is organized following the week-by-week schedule for the course. The first half demonstrates the basic C concepts and syntax knowledge. The second half focuses on audio programming both in non-real-time and real-time contexts.

Dependencies

Some programs in this repository require the following libraries:

Follow the tutorial on Getting started with the Projucer to run the sample code in 14.JUCE.

Reference

Books and websites referenced to develop sample codes in this repository:

Acknowledgements

This project would not have been possible without the support from people, including Richard Boulanger, Nikhil Singh, Ben Hogue, and Ariadne Lewis-Towbes.

Contributing

We welcome contributions and suggestions. Copyright for sample code belongs to the author(s). However, you are encouraged to fork and contribute minor corrections and updates under fair use.

How to Contribute

  1. Make sure you have a GitHub account.
  2. Fork the repository.
  3. Create a new branch on which to make your change.
  4. Commit your change. Include a commit message describing the correction. Please note that if your commit message is unclear, the correction will not be accepted.
  5. Submit a pull request.

Thank you for your contribution!

License

MIT License

Copyright (c) 2022 Akito van Troyer

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.