Simple guitar soft synth written in Python, based on Real Python tutorial.
- No project management using
poetry - Several boilerplate classes are not used
- Use of
PyAudioto directly play sounds instead of writing files withpedalboard - Use of
clickto build the CLI instead ofargparse
Make sure to have PyAudio and PortAudio installed (see install istructions at https://people.csail.mit.edu/hubert/pyaudio/).
Then, after setting up your Python environment:
pip install -r requirements.txtFinally, run the CLI tool to display help and list of commands:
python src/cli.pyTo reproduce the sound sequence generated at the end of step 2, run:
python src/cli.py play-sequenceTo reproduce the blending of multiple notes:
python src/cli.py play-chord --delay 0To add 40 milliseconds of delay between notes:
python src/cli.py play-chord --delay 0.04To reverse the strumming direction:
python src/cli.py play-chord --delay 0.04 --reverse trueTo generate the sequence of pitches from the beginning of the step:
python src/cli.py play-pitchesTo generate the sequence of notes:
python src/cli.py play-notesTo generate the sounds of the 3 instruments:
python src/cli.py play-instrumentsTo generate the chorus of Jason Mraz's "I'm Yours":
python src/cli.py play-chorusTo generate the chorus of Jason Mraz's "I'm Yours" with special effects:
python src/cli.py play-chorus --effects true| Language | files | blank | comment | code |
|---|---|---|---|---|
| Python | 4 | 125 | 1 | 481 |
| YAML | 2 | 0 | 0 | 200 |
| Markdown | 1 | 43 | 0 | 61 |
| Text | 1 | 0 | 0 | 6 |
| -------- | -------- | -------- | -------- | -------- |
| SUM: | 8 | 168 | 1 | 748 |