8a4d629eb8dbcf9b165f8d15989053711de0b4b8
Muse - A Go-based Music Generator
Muse is my attempt at a digital music generator written in pure Go. Its is VERY experimental and is not intended for production use. Enjoy!
Features
- Define songs using a YAML file
- Multiple wave types (sine, square, saw, triangle)
- Built-in effects (reverb, delay, filter)
- Pattern-based sequencing
- Real-time audio generation
- Export to WAV format
Usage
./muse -input examples/example_song.yaml -output ./output
Project Structure
muse/
├── bin/
│ └── muse # Compiled binary
├── cmd/
│ └── muse/ # Main application
│ └── main.go
├── lib/
│ ├── audio/ # Audio generation and processing
│ │ ├── effects.go # Audio effects
│ │ ├── generator.go # Audio generation
│ │ ├── notes.go # Note to frequency conversion
│ │ └── oscillator.go # Waveform generation
│ └── config/ # Configuration and YAML parsing
│ └── parser.go
├── examples/ # Example songs
│ └── example.yaml
└── schema/ # Data schema
└── song_schema.go
License
This project is licensed under the AGPL 3.0 License - see the LICENSE file for details.
Releases
1
0.1.0 - Initial Release
Latest
Languages
Go
84.7%
Makefile
11.3%
Nix
4%