Muse is a powerful and flexible music synthesis and composition system built with Common Lisp. Designed for real-time sound generation and algorithmic music creation, Muse offers musicians, composers, and audio programmers a comprehensive toolkit.
- ⚡ Real-Time Sound Generation: Muse supports live audio processing, making it ideal for performances and interactive installations.
- 🎼 Algorithmic Composition Tools: With built-in support for generative algorithms, users can automate the composition process and create intricate musical structures dynamically.
- 🎛️ Flexible Synthesis Modules: A wide range of synthesis techniques are available, allowing for both traditional and cutting-edge sound design.
- 🔌 Modular Architecture: Muse is designed to be highly extensible, enabling users to integrate their own custom modules and effects.
Muse requires a Common Lisp implementation. While it has been tested with several compilers, SBCL (Steel Bank Common Lisp) is recommended for optimal performance. Additionally, you'll need an audio library such as PortAudio or OpenAL.
- Clone the Muse repository from GitHub:
git clone https://github.com/Mignonne-Patterson/Muse.git cd Muse - Install the necessary dependencies. You can use a Common Lisp package manager like Quicklisp to manage them.
- Compile and load the Muse system:
(ql:quickload "muse")
To create a simple sine wave oscillator and play it, you can write the following Common Lisp code:
;; Load Muse
(ql:quickload "muse")
;; Define an oscillator with a frequency of 440 Hz (A4) and amplitude of 0.5
(let ((osc (make-oscillator :frequency 440 :amplitude 0.5)))
;; Start the oscillator and play it for 2 seconds
(with-sound ((duration 2))
(play osc)))For detailed information on how to use Muse, including advanced features and custom module development, please refer to the comprehensive documentation available in the doc directory of this repository.
We welcome contributions from the community! If you'd like to help improve Muse or add new features, please follow these guidelines:
- Fork the repository on GitHub.
- Create a new branch for your feature or bug fix.
- Commit your changes and push them to your fork.
- Submit a pull request detailing your changes.
If you have any questions, feedback, or need assistance with using Muse, please contact us via GitHub issues or email at muse-help@github.com.
We are grateful for the support and contributions from our community and acknowledge all contributors to the Muse project. Special thanks go to our early adopters who provided valuable feedback during the development phase.
Muse is released under the MIT License. You are free to use, modify, and distribute it as per the terms of this license.