furnace/doc/7-systems/soundunit.md
2024-07-06 14:52:07 -05:00

2.4 KiB

tildearrow Sound Unit

a fantasy sound chip, used in the specs2 fantasy computer designed by tildearrow.

it has the following capabilities:

  • 8 channels of either waveform or sample
  • stereo sound
  • 8 waveforms (pulse, saw, sine, triangle, noise, periodic noise, XOR sine and XOR triangle)
  • 128 widths for the pulse wave
  • per-channel resonant filter
  • ring modulation
  • volume, frequency and cutoff sweep units (per-channel)
  • phase reset timer (per-channel)

effects

  • 10xx: set waveform.
    • 0: pulse wave
    • 1: sawtooth
    • 2: sine wave
    • 3: triangle wave
    • 4: noise
    • 5: periodic noise
    • 6: XOR sine
    • 7: XOR triangle
  • 12xx: set pulse width. range is 0 to 7F.
  • 13xx: set resonance of filter. range is 0 to FF.
    • despite what the internal effects list says (0 to F), you can use a resonance value from 0 to FF (255).
  • 14xx: set filter mode and ringmod.
    • bit 0: ring mod
    • bit 1: low pass
    • bit 2: high pass
    • bit 3: band pass
  • 15xx: set frequency sweep period low byte.
  • 16xx: set frequency sweep period high byte.
  • 17xx: set volume sweep period low byte.
  • 18xx: set volume sweep period high byte.
  • 19xx: set cutoff sweep period low byte.
  • 1Axx: set cutoff sweep period high byte.
  • 1Bxx: set frequency sweep boundary.
  • 1Cxx: set volume sweep boundary.
  • 1Dxx: set cutoff sweep boundary.
  • 1Exx: set phase reset period low byte.
  • 1Fxx: set phase reset period high byte.
  • 20xx: toggle frequency sweep.
    • bit 0-6: speed
    • bit 7: up direction
  • 21xx: toggle volume sweep.
    • bit 0-4: speed
    • bit 5: up direction
    • bit 6: loop
    • bit 7: alternate
  • 22xx: toggle cutoff sweep.
    • bit 0-6: speed
    • bit 7: up direction
  • 4xxx: set cutoff. range is 0 to FFF.

info

this chip uses the Sound Unit instrument editor.

chip config

the following options are available in the Chip Manager window:

  • CPU rate: sets the rate at which the chip will run.
  • Sample memory: sets the amount of memory available for samples.
  • DAC resolution: sets output resolution.
  • Enable echo: guess.
  • Swap echo channels: puts left into right and vice-versa.
  • Echo delay: set echo time.
  • Echo resolution: set echo resolution. sacrifices quality for time.
  • Echo feedback: guess.
  • Echo volume: yep, guess again.