Describe the Chip node as a device with wave and pitch (#386)
- Instruments: the device, its buttons, lever, knobs and both screens. "Not yet" no longer lacks a view of the waveform. - Architecture: ChipPanel, ChipFace and chipView. - README and Development: 1962 checks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent
b4cfdc3c54
commit
fc86403c75
3 files changed
+24
-3
No files matched your search
+3
-1
@@ -430,7 +430,9 @@ src/editor/soundfx/ SoundFxEditor (#311: the graph, a sound to try it on, Pla
|
||||
out apart from the drawing), CompressorFace + nodeFaces (#380: the panel as what a
|
||||
Compressor node shows in the graph, #381 the EQ's as well), GainPanel + GainFace (#384:
|
||||
the Gain as an orange plate with one knob, `drawPlate` shared with the Compressor),
|
||||
nodeParamDrag (a knob's drag as one undo
|
||||
ChipPanel + ChipFace + chipView (#386: the Chip of an instrument as a device, its
|
||||
wave and its pitch over a note worked out apart from the drawing, the
|
||||
Compressor's `Lever` for "follow note"), nodeParamDrag (a knob's drag as one undo
|
||||
step, for the tab and the node), nodeTabs (which nodes open a tab of their own)
|
||||
src/editor/instrument/ InstrumentEditor (#331: the graph over the keys, Preset, Randomize, Mutate, Audition),
|
||||
PianoKeyboard + keys (the keys drawn, played by the pointer and the computer keyboard)
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ php tests/php/accounts.test.php # the API's accoun
|
||||
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
|
||||
php tests/php/files.test.php # uploaded files in a folder per account (#344), the same way
|
||||
node tools/seed-e2e.mjs && node tools/e2e.mjs # 1961 editor checks, screenshots in /tmp/gm-e2e-*.png
|
||||
node tools/seed-e2e.mjs && node tools/e2e.mjs # 1962 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
|
||||
|
||||
+20
-1
@@ -193,6 +193,25 @@ from 0 to 1, the Chip counts in Hz, semitones and seconds.
|
||||
same module. Every sample is worked out 8 times and averaged, as sfxr does, which takes the worst
|
||||
of the aliasing off a raw wave. Without the worklet a Chip is silent and its note ends at once.
|
||||
The frequency follows sfxr (Tomas Pettersson, MIT licence) as jsfxr (public domain) ports it.
|
||||
- **The node is a device** (#386), 840x280 like the Compressor's, in the warm grey of a handheld
|
||||
console. The inputs are on the left, `out` on the right, and everything is set right in the graph:
|
||||
- a **button for each wave** at the top, the one playing lit, and the **Follow note** lever
|
||||
beside them;
|
||||
- two green screens. **Wave** draws two periods of the wave as loud as it plays, a square at its
|
||||
duty. **Pitch over a note** draws what slide, delta slide, vibrato, arpeggio and repeat make of
|
||||
the pitch, in semitones from where it starts: three rounds of a repeat, else at least a second,
|
||||
and a quarter past the end when the note falls below *Min frequency*, with that line dashed and
|
||||
the time it ends written at the top. It starts from *Frequency*, or from A4 while it follows the
|
||||
note, which only moves where it ends;
|
||||
- a **chrome knob** for every number, grouped *Oscillator*, *Slide*, *Vibrato*, *Arpeggio* and
|
||||
*Repeat*. A drag is one undo step, a double-click goes back to the default, the wheel zooms the
|
||||
graph. Frequencies and times give their low end most of the turn; *Duty sweep*, the slide and
|
||||
the arpeggio have 0 straight up and the small numbers either way near it. *Min frequency* and
|
||||
*Repeat* at 0 read `off`.
|
||||
|
||||
What does nothing as things stand is faded, a connected number is greyed and can not be turned.
|
||||
The screens are drawn from the settings, not listened to, so they also show a Chip nothing plays.
|
||||
The [presets](#presets-randomize-and-mutate) give a Chip five columns of room.
|
||||
- **Measured** (2026-10-06, e2e 34, Chrome offline on the Windows runner): a square at 220 Hz with
|
||||
a Pitch of 12 and a duty of 0.25, started at 0.25 s, was silent up to sample 12000 and then made
|
||||
329 periods in 0.75 s, up 0.249 of each, peak 0.5. Sliding from 440 Hz down two octaves a second
|
||||
@@ -352,6 +371,6 @@ the game's, so a slow frame or a busy page never moves a note. The Pattern tab p
|
||||
|
||||
## Not yet
|
||||
|
||||
No swing (#372). No view of the waveform a Chip makes, no import of sfxr or jsfxr codes, no WAV
|
||||
No swing (#372). No import of sfxr or jsfxr codes, no WAV
|
||||
export (#340). An Envelope shapes notes of an instrument only, not a sound played through a sound
|
||||
FX. Notes can not be played from an `.mid` file or a MIDI keyboard.
|
||||
Reference in new issue
Block a user