An open API service indexing awesome lists of open source software.

https://github.com/franzbonaparta/soundmaker

🎹 SoundMaker is a small interactive synthesizer developed in Love2D
https://github.com/franzbonaparta/soundmaker

love2d lua music-generation

Last synced: about 1 month ago
JSON representation

🎹 SoundMaker is a small interactive synthesizer developed in Love2D

Awesome Lists containing this project

README

          

# 🎹 SoundMaker

Created by **Jojopov**
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0.html)
[![Built with Love2D](https://img.shields.io/badge/Built%20with-Love2D-ff69b4)](https://love2d.org/)

2025

**SoundMaker** is a small interactive synthesizer built with Love2D.
Play on a virtual keyboard, tweak sound parameters, and record/replay your own melodies.
Now with **WAV export** and **MIDI export (beta)**.

## πŸ“· Screenshots


Main interface
Edit instrument
Save partition
Load partition

---

## πŸ“¦ Latest updates

- πŸ’Ύ **Export to WAV** β€” Save your current melody as an uncompressed `.wav` file (shortcut: **W**).
- 🎼 **Export to MIDI (beta)** β€” Save your melody as a Standard MIDI File `.mid` (shortcut: **M**).
_Note:_ uses default program/channel/velocity/tempo for now; a proper instrument/track picker is planned.
- πŸ“œ **Partition viewer overhaul** β€” Correct scrollbar + clear β€œvisible lines” window for long scores.
- 🧼 **General polish & fixes** β€” Small UI tweaks and stability improvements during record/playback.

_(Previous)_

- πŸ“ **Per-note editing** β€” Buttons on each note to adjust its duration.
- πŸ’Ύ **Save/Load** β€” Instruments and partitions can be saved and reloaded.

---

## ✨ Features

- 🎹 Virtual keyboard (white & black keys, plus a rest key)
- 🎚️ Adjustable note frequencies via sliders
- πŸ”Š Waveform selection (sine, square, triangle, etc.)
- πŸ“ Recordable score β†’ replay your melodies and edit each note’s duration
- 🎢 Visual highlighting of played notes
- πŸ’Ύ Export: **WAV** (stable) & **MIDI** (beta)

---

## ⌨️ Key bindings

### 🎹 Piano controls

- **Left Click** β€” Play a black note
- **Middle Click** β€” Play a white note
- **Right Click** β€” Play a quaver (short note)

### πŸ“ Partition controls

- **Tab** β€” Play the current partition
- **Backspace** β€” Remove the last note
- **Delete** β€” Clear the entire partition
- **Right Click** β€” On a note’s **+ / βˆ’** buttons to edit that note’s duration

### πŸ“€ Export

- **W** β€” Export current melody to **WAV**
- **M** β€” Export current melody to **MIDI** _(beta)_

### 🎧 Programmatic sounds (demo)

- **Space**, **A**, **Z**, **E**, **R**, **T**, **Y**, **1**, **2**, **3** β€” Trigger custom/synth sounds

---

## πŸ›  Requirements

- Any code editor
- **Windows Vista and later** or **Linux**
- **Love2D** (for development or running the `.love` on Linux)

> πŸ“₯ Pre-built Windows zips are available in **Releases**.
> Linux users can run the project directly with Love2D.

---

## πŸš€ Run / Install

### Linux (development or run `.love`)
```bash
# Ensure Love2D 11.5 is installed
git clone https://github.com/FranzBonaparta/SoundMaker.git
cd SoundMaker
love .