mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-22 12:35:11 +00:00
PowerNoise doc is now complete
This commit is contained in:
parent
b600be9b26
commit
b5ee0c22ef
1 changed files with 30 additions and 2 deletions
|
@ -24,7 +24,7 @@ the LFSR must be initialized before it can produce sound. the Load LFSR macro al
|
|||
|
||||
by default the LFSR is configured to produce square waves, by having a single tap in position 1 and an alternating LFSR pattern.
|
||||
|
||||
## Macros
|
||||
## Macros (noise)
|
||||
|
||||
- **Volume**: volume sequence.
|
||||
- **Arpeggio**: pitch sequence.
|
||||
|
@ -47,4 +47,32 @@ this tab allows you to change the base octave - important when you have set a lo
|
|||
|
||||
this channel has its own instrument type, as it does not use LFSR-based synthesis but instead generates saw waves.
|
||||
|
||||
I will finish this section later...
|
||||
it uses a custom algorithm which will be (roughly) described below.
|
||||
|
||||
the slope channel uses two "portions" - each with length, offset, invert and clip parameters.
|
||||
the channel alternates between these portions as it is cycled.
|
||||
|
||||
on every cycle, the offset of the current portion is either added or subtracted into the accumulator (depending on the invert parameter), effectively behaving like a multiplier.
|
||||
if the clip parameter is enabled, this will make sure the accumulator doesn't go past 0 or 127 (depending on the invert parameter, again). otherwise, the accumulator will be ANDed with 127.
|
||||
once an amount of cycles set by the portion length parameter have elapsed, the channel switches into the other portion.
|
||||
|
||||
the current value of the accumulator is output.
|
||||
|
||||
## Macros (slope)
|
||||
|
||||
- **Volume**: volume sequence.
|
||||
- **Arpeggio**: pitch sequence.
|
||||
- **Panning (left)**: output level for left channel.
|
||||
- **Panning (right)**: output level for right channel.
|
||||
- **Pitch**: fine pitch.
|
||||
- **Control**: channel settings:
|
||||
- **clip A**: sets clip parameter of first portion.
|
||||
- **clip B**: sets clip parameter of second portion.
|
||||
- **reset A**: resets the first portion.
|
||||
- **reset B**: resets the second portion.
|
||||
- **invert A**: sets invert parameter of first portion.
|
||||
- **invert B**: sets invert parameter of second portion.
|
||||
- **Portion A Length**: sets the duration of the first portion.
|
||||
- **Portion B Length**: sets the duration of the second portion.
|
||||
- **Portion A Offset**: sets the accumulator speed of the first portion.
|
||||
- **Portion B Offset**: sets the accumulator speed of the second portion.
|
||||
|
|
Loading…
Reference in a new issue