More Bifurcator doc work.

Oooooh, a pretty picture!
This commit is contained in:
Electric Keet 2025-07-21 15:08:49 -07:00
parent 4c9704c71d
commit f3223ea70d
2 changed files with 10 additions and 13 deletions

View file

@ -6,27 +6,24 @@ this is a fantasy sound chip which uses a unique sound generation method: [logis
the core of the Bifurcator is the (iterative) logistic map function:
<!-- LaTeX -->
$x_{n+1}=\lambda x_n (1-x_n)$
_x_<sub>_n_+1</sub> = _rx_<sub>_n_</sub>(1 - _x_<sub>_n_</sub>)
<!-- MD/HTML -->
_x_<sub>_n_+1</sub> = _λx_<sub>_n_</sub>(1 - _x_<sub>_n_</sub>)
which when iterated across 2 ≤ _r_ ≤ 4 produces this graph:
which when iterated across $2\leq\lambda\leq4$ produces this graph:
_{{ IMAGE HERE will look sort of like [this](https://en.wikipedia.org/wiki/Logistic_map#/media/File:Logistic_Bifurcation_map_High_Resolution.png) but matching house style }}_
![logistic map](logisticmap.png)
in Bifurcator the current output (and initial "load value") ranges from 0 to 65535, which maps directly to _x_ in the range 0.0 to 1.0. the parameter ranges from 0 to 65535, which maps directly to _λ_ in the range 2.0 to 4.0.
in Bifurcator the current output (and initial "load value") ranges from 0 to 65535, which maps directly to _x_ in the range 0.0 to 1.0. the parameter ranges from 0 to 65535, which maps directly to _r_ in the range 2.0 to approximately 4.0.
### load value
the first value of $x$ is set with the **load value**. it must be set to a non-zero value, otherwise the next iteration would also be zero... and the next one too... and so on, generating silence. default is 1.
the first value of _x_ is set with the **load value**. it must be set to a non-zero value, otherwise the next iteration would also be zero... and the next one too... and so on, generating silence. default is 1.
different load values will cause different "attack" sounds before the iterations stabilize (if they do).
### parameter
by varying the parameter, the values of $x$ may change drastically, producing a variety of sounds. the higher the parameter, the more "chaos" is present, effectively yielding noise.
by varying the parameter, the values of _x_ may change drastically, producing a variety of sounds. the higher the parameter, the more "chaos" is present, effectively yielding noise.
for most parameter values below 32768 the output converges to a single value (effectively no sound).
@ -36,10 +33,10 @@ the default parameter value is 47360.
## effects
- `10xx`: **set low byte of channel sample state.**
- `11xx`: **set high byte of channel sample state.**
- `12xx`: **set parameter low byte.**
- `13xx`: **set parameter high byte.**
- `10xx`: **set low byte of load state.**
- `11xx`: **set high byte of load state.**
- `12xx`: **set low byte of parameter.**
- `13xx`: **set high byte of parameter.**
## info

Binary file not shown.

After

Width:  |  Height:  |  Size: 429 KiB