47 lines
1.3 KiB
Markdown
47 lines
1.3 KiB
Markdown
# Muse - Digital 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
|
|
|
|
```bash
|
|
./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](LICENSE) file for details.
|
|
|