# 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.

