Describe the Mix node and ways of a sound FX
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent
fd874aed6e
commit
69c18477d4
3 files changed
+15
-8
No files matched your search
+1
-1
@@ -4,7 +4,7 @@
|
||||
| **Asset** | Named thing with a type (`scene`, `camera`, `clip`, `sprite`, `text`, `behavior`, `collider`, `container`, `texture`, `animation`, `statemachine`, `shader`, `shaderfunction`, `font`, `sound`, `soundfx`, `particles`, `variables`) and typed properties. Assets have **no position**. |
|
||||
| **Texture** | An uploaded image. Scenes, textures, animations, state machines, shaders, fonts, sounds and Variables assets are the eight types that cannot be placed: a texture has no position, it is *worn* by a sprite through the ordinary property `texture`. See [Textures](Textures). |
|
||||
| **Font** | An uploaded typeface, worn by a text through the ordinary property `font`; no font means the editor's own. Uploaded and picked exactly like a texture, and stored the same way. See [Fonts](Fonts). |
|
||||
| **Sound** | An uploaded audio file. Uploaded, picked and stored exactly like a typeface — but nothing *wears* it: it is neither on screen nor in the scene, and a graph plays it with `Play sound`. Its own rows say how loud it is and whether it loops; the node scales the one and can overrule the other either way. A **sound FX** asset is a graph of effects (gain, pitch, EQ) a `Play sound` can send it through. See [Sounds](Sounds). |
|
||||
| **Sound** | An uploaded audio file. Uploaded, picked and stored exactly like a typeface — but nothing *wears* it: it is neither on screen nor in the scene, and a graph plays it with `Play sound`. Its own rows say how loud it is and whether it loops; the node scales the one and can overrule the other either way. A **sound FX** asset is a graph of effects (gain, pitch, EQ, mix) a `Play sound` can send it through. See [Sounds](Sounds). |
|
||||
| **State machine** | A named set of **states**, edited as nodes in its own tab. A behavior puts it into a state with `Set state`, moves it along a named transition with `State transition` and branches on it with `State branch`. Its **Scope** says where the current state lives: **Local** gives every behavior instance one of its own, **Global** keeps a single one for the whole run. See [State machines](State-machines). |
|
||||
| **Shader** | A node graph that becomes the GLSL a sprite is drawn with, edited in its own tab. A sprite, a text or a particle source wears it through `shader`; the numbers the graph declares are rows below that dropdown. A **shader function** is a part of such a graph kept on its own and used as a node in other shaders. See [Shaders](Shaders). |
|
||||
| **Particles** | A node graph that says what *one* particle is as a function of its age and of a random number drawn once for it — no forces, no simulation. Unlike the other graph assets it **is** placeable: the object made from it is a source, whose rows say how many go out and for how long they live. Because a particle is a formula, the same second always draws the same picture and the tab's slider can jump to any of them exactly. See [Particles](Particles). |
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ Live: <https://nockal.com/game-maker/> · Widget playground: <https://nockal.com
|
||||
| [Vector art](Vector-Art) | The vector art asset, canvas and shapes, the Pen and Select tools, the shape list, how a drawing is worn |
|
||||
| [Pixel art](Pixel-Art) | The pixel art asset and its palette, the tools, layers and frames, onion skin and the preview, resizing, how frames are worn and where the pixels are stored |
|
||||
| [Fonts](Fonts) | Uploading a typeface, what a text wears, what the editor falls back to |
|
||||
| [Sounds](Sounds) | Uploading a sound, what the asset says, `Play sound` and `Stop sound`, sound FX (gain, pitch, EQ), what a pause and a stop do to a voice |
|
||||
| [Sounds](Sounds) | Uploading a sound, what the asset says, `Play sound` and `Stop sound`, sound FX (gain, pitch, EQ, mix), what a pause and a stop do to a voice |
|
||||
| [Animations](Animations) | Animation assets, the Animation tab, how they run |
|
||||
| [Curves](Curves) | Easings drawn by hand, the Curve tab, using one on a key or a `Lerp` |
|
||||
| [Tiles](Tiles) | The tile asset, plain tiles and the two autotile kinds, the pictures as animation steps, the Tile tab |
|
||||
|
||||
+13
-6
@@ -98,12 +98,13 @@ Input and the Output once each; their pins carry sound and fit nothing but each
|
||||
| Node | What it does |
|
||||
| --- | --- |
|
||||
| **Gain** | Louder or quieter, in dB (`Gain (dB)`): 0 leaves it alone, -6 is about half as loud, +6 twice. Above 0 the sound can clip. |
|
||||
| **Pitch** | Higher or lower, in semitones (12 is an octave, 0.5 a quarter tone). The sound **keeps its length**, and the pitch applies to the **whole** sound wherever the node sits. |
|
||||
| **Pitch** | Higher or lower, in semitones (12 is an octave, 0.5 a quarter tone). The sound **keeps its length**. The pitch is worked out on the sound as it starts, so an effect before the Pitch acts as if it came after it. |
|
||||
| **5-Band-EQ** | Five bands in dB: 80 Hz and 12 kHz as shelves, 250 Hz, 1 kHz and 4 kHz as peaks. A band at 0 does nothing. |
|
||||
| **Mix** | Blends the sounds at `a` and `b`: at 0 only `a` is heard, at 1 only `b`, at 0.5 half of each (0.5 is the default). |
|
||||
|
||||
Every number of these nodes is an **input**: typed in while nothing is connected, or fed from a
|
||||
parameter of the Input. Each is held to its range (Gain -120 to +24 dB, Pitch -64 to +64, the EQ
|
||||
bands -60 to +24 dB), whichever way the value arrives.
|
||||
bands -60 to +24 dB, Mix 0 to 1), whichever way the value arrives.
|
||||
|
||||
**How Pitch keeps the length.** The sound is first read faster or slower, which sets the pitch,
|
||||
and then stretched back to its length by WSOLA: short frames (40 ms) laid over each other, each
|
||||
@@ -113,10 +114,16 @@ starts — about 15 ms per second of a 48 kHz channel — and kept for the next
|
||||
Far from 0 it gets rough: a pitch that lands above half the sample rate folds back down, and a
|
||||
very low one smears, since a frame is shorter than one period of what is left.
|
||||
|
||||
**It is a line, not a mixer.** An input takes one edge, so the way from Input to Output never forks;
|
||||
a node hanging off the line is simply not heard. A node on the way with nothing coming in, or a
|
||||
graph without an Output, does not compile: the node says why, and the tab's header says it too
|
||||
(otherwise it counts the effects on the line).
|
||||
**Ways and the Mix.** An input takes one edge, but an output feeds as many as you like: the Input
|
||||
can start two ways with effects of their own, and a **Mix** joins them again. Only a Mix joins
|
||||
ways, and a node whose sound never reaches the Output is simply not heard. A node on the way with
|
||||
nothing coming in (a Mix needs both `a` and `b`), or a graph without an Output, does not compile:
|
||||
the node says why, and the tab's header says it too (otherwise it counts the effects on the way).
|
||||
|
||||
**A Pitch on one way only** works: the voice starts one copy of the sound per pitch, all at the
|
||||
same moment and all of the same length, and each runs through its own way. Two ways at the same
|
||||
pitch share one copy. A Pitch behind the Mix goes to both of its sounds. A Mix that ends up at
|
||||
exactly 0 or 1 leaves the silent way out, so that one is not even worked out.
|
||||
|
||||
**Listening in the tab.** The header picks one of the project's sounds and plays it through the
|
||||
graph as it stands — the same library as a running game, so it sounds the way the game will.
|
||||
|
||||
Reference in new issue
Block a user