List the 14 instrument presets in Instruments (#329)
The Preset menu now has playable instruments on top and the sfxr sounds below a separator. - Instruments: the menu is described in two parts, with a table of the 14 instruments and what each one sounds like. - Development: the check count is 1848. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent
57df8825bc
commit
fbe7d68b22
2 files changed
+34
-7
No files matched your search
+1
-1
@@ -18,7 +18,7 @@ php tests/php/accounts.test.php # the API's accoun
|
||||
# has and the web server's container has not (SKIP there)
|
||||
php tests/php/snapshots.test.php # the snapshot store (#231), the same way
|
||||
php tests/php/releases.test.php # the release store (#266), the same way
|
||||
node tools/seed-e2e.mjs && node tools/e2e.mjs # 1847 editor checks, screenshots in /tmp/gm-e2e-*.png
|
||||
node tools/seed-e2e.mjs && node tools/e2e.mjs # 1848 editor checks, screenshots in /tmp/gm-e2e-*.png
|
||||
GM_STEPS=20 node tools/e2e.mjs # or 1-12, or 6,20 — a subset while working on one step
|
||||
./e2e.sh start [GM_STEPS] # the same run detached, see below
|
||||
./e2e.sh status # live progress, or the last run's result
|
||||
|
||||
+33
-6
@@ -223,12 +223,16 @@ heard at once on what is playing. Those values are the tab's own and never writt
|
||||
Three buttons in the header make 8-bit sounds the way sfxr does (#329). Each is one undo step and
|
||||
plays the note last played at once (C4 before any), for up to 2 s.
|
||||
|
||||
- **Preset** opens a menu: *Pickup*, *Laser*, *Explosion*, *Powerup*, *Hit*, *Jump*, *Blip*. It
|
||||
puts a new graph in place of the instrument's: Notes for all 128 notes → [Chip](#chips) →
|
||||
Envelope → Filter → Bitcrusher → Output. Groups and notes on the canvas stay. Every click draws
|
||||
the sound anew within its kind, with sfxr's generator for it. The Chip plays at its own
|
||||
frequency, *Follow note* off, so every key plays the same sound, as an effect does; turn it on to
|
||||
play the sound as a melody. The Envelope has *Sustain* 0, so the sound ends by itself.
|
||||
- **Preset** opens a menu in two parts. Either kind puts a new graph in place of the
|
||||
instrument's; groups and notes on the canvas stay.
|
||||
- **Instruments** to play tunes on, at the top (see the table below). Their [Chips](#chips)
|
||||
follow the note, so every key plays at its own pitch, and most hold the note while the key is
|
||||
held. They come out the same every time they are picked: Randomize and Mutate make a variant.
|
||||
- **Effects** below the line: *Pickup*, *Laser*, *Explosion*, *Powerup*, *Hit*, *Jump*, *Blip*.
|
||||
Each is Notes for all 128 notes → Chip → Envelope → Filter → Bitcrusher → Output. Every click
|
||||
draws the sound anew within its kind, with sfxr's generator for it. The Chip plays at its own
|
||||
frequency, *Follow note* off, so every key plays the same sound, as an effect does; turn it on
|
||||
to play the sound as a melody. The Envelope has *Sustain* 0, so the sound ends by itself.
|
||||
- **Randomize** draws every number of the Chips, Envelopes, Filters and Bitcrushers in the graph
|
||||
anew, as sfxr's randomizer does: most of them wild. It leaves the wave, *Follow note*, the type
|
||||
of a Filter, the *Mix* of a Bitcrusher, an Envelope's *From* and *To* and every other node as
|
||||
@@ -241,6 +245,29 @@ plays the note last played at once (C4 before any), for up to 2 s.
|
||||
plays the note last played again, 150 ms after it rests, so dragging a number is heard once you
|
||||
let it be. Moving a node is no change.
|
||||
|
||||
The instruments, all on every note unless the table says otherwise:
|
||||
|
||||
| Preset | Made of | Note |
|
||||
|---|---|---|
|
||||
| *Square Lead* | Square with a slight vibrato → Envelope → Low-pass 6 kHz | held |
|
||||
| *Pulse Lead* | Square at duty 0.13 (about an eighth), thin and nasal, with vibrato → Envelope | held |
|
||||
| *Echo Lead* | Square at duty 0.25 → Envelope → Delay, a dotted eighth, ping-pong | held |
|
||||
| *Octave Arp* | Square that jumps an octave up and back 12.5 times a second (Arpeggio 12, Repeat 0.08 s) | held |
|
||||
| *Synth Brass* | Saw → Envelope with a slow attack → Low-pass that an Envelope opens from 400 Hz to 3.5 kHz | held |
|
||||
| *Detuned Saws* | Two saws a tenth of a semitone apart (Pitch 0.1) → Mix → Envelope → Low-pass 7 kHz | held |
|
||||
| *String Pad* | As *Detuned Saws* with vibrato, attack 0.5 s, release 1 s, Low-pass 2.2 kHz | held |
|
||||
| *Organ* | Square and the square an octave up → Mix → Envelope at full sustain → Low-pass 4.5 kHz | held |
|
||||
| *Flute* | Triangle with vibrato, a breath of noise through a Band-pass at 2.5 kHz → Mix → Envelope | held |
|
||||
| *Bell* | Two sines 17.6 semitones apart (a ratio of 2.76), each with its own Envelope → Mix → Delay | dies away in 2 s |
|
||||
| *Pluck* | Square at duty 0.3 → Envelope → Low-pass that snaps shut from 6 kHz to 600 Hz | dies away |
|
||||
| *Triangle Bass* | The triangle of the NES → Envelope at full sustain | held |
|
||||
| *Pluck Bass* | Saw → Envelope → resonant Low-pass that snaps open to 2.4 kHz and falls back towards 180 Hz | held |
|
||||
| *Drum Kit* | *Single notes* 36 to 46: Kick on C2, Snare on D2, Closed hat on F#2, Open hat on A#2, as in General MIDI | each ends by itself |
|
||||
|
||||
The kick is a sine that drops from 160 Hz until it is below 30 Hz, the snare a falling triangle and
|
||||
high-passed noise, the hi-hats noise above 6 or 7 kHz, short and long. A filter that sweeps has its
|
||||
own Envelope under it, wired to *Cutoff*: its *From* and *To* are the cutoff at rest and at the top.
|
||||
|
||||
sfxr counts its sliders from 0 to 1; the presets turn them into Hz, semitones and seconds with
|
||||
sfxr's own formulas. Its envelope holds a sound and lets it fall in a straight line, an Envelope
|
||||
falls away quick at first, so the decay is three times sfxr's hold and fall. sfxr's punch and its
|
||||
|
||||
Reference in new issue
Block a user