Skip to content

Commit

Permalink
Merge pull request #80 from Kautenja/SNES_Stuff
Browse files Browse the repository at this point in the history
Snes stuff
  • Loading branch information
Kautenja committed Nov 20, 2020
2 parents aa9f2fa + 9abb6f0 commit 4a6c45a
Show file tree
Hide file tree
Showing 210 changed files with 5,015 additions and 8,240 deletions.
22 changes: 11 additions & 11 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -255,30 +255,30 @@

- fix manual link for Boss Fight

## 1.9.0 (TBD)
## 1.9.0 (2020-11-20)

- new module: S-SMP(Echo)
- echo effect from the SNES (16-bit PCM @ 32kHz)
- new module: Super Echo
- echo effect from the SNES (16-bit PCM)
- Gaussian filter removed
- BRR down-sampling removed
- 2 channels of echo effect
- feedback and delay parameters with CV control
- stereo mix control with surround effect through phasing
- 8-tap FIR filter with coefficient parameterization and CV control
- new module: S-SMP(Gauss)
- Gaussian filter from the SNES
- low-pass filter locked to 16kHz with parameterized coefficients
- extended delay control up to _512ms_
- new module: Super VCA
- Gaussian interpolation filter from the SNES
- low-pass IIR filter with parameterized coefficients (for operational modes)
- designed to act as a low-pass gate / VCA without a VCF
- new module: S-SMP(ADSR)
- new module: Super ADSR
- Envelope generator from the SNES
- Attack, Decay, Sustain, and Release stages
- new module: S-SMP(BRR)
- Bit-Rate Reduction (BRR) based sampler/sample player
- Attack, Decay, Sustain, and Release rate stages
- new blank panels:
- illustration of Sony S-SMP IC
- illustration of envelope generation from Yamaha YM2612

## 1.10.0 (TBD)

- new module: S-SMP(BRR)
- Bit-Rate Reduction (BRR) based sampler/sample player
- new module: NES(DMC)
- DMC sampler from the Ricoh 2A03 audio processing chip
154 changes: 58 additions & 96 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -314,22 +314,22 @@ generator with a wave-table synthesizer.
See the [Manual][PalletTownWavesSystem] for more information about the features of this module.

<!-- ------------------------------------------------------------ -->
<!-- MARK: S-SMP(ADSR) -->
<!-- MARK: Super ADSR -->
<!-- ------------------------------------------------------------ -->

## S-SMP(ADSR)
<h2 align="center">
<img alt="Super ADSR Logo" src="manual/SuperADSR/img/Logo.svg">
</h2>

S-SMP(ADSR) is an emulation of the ADSR from the Sony S-SMP audio processing
Super ADSR is an emulation of the ADSR from the Sony S-SMP audio processing
unit in the [Super Nintendo Entertainment System (SNES)][SNES]. The envelope
generator has three stages, (1) an attack stage that ramps up linearly to the
total level, (2) a decay stage that ramps down exponentially to a sustain
level, and (3) a sustain/release stage that ramps down exponentially from the
sustain level to zero.

S-SMP(ADSR) provides the key features of the ADSR envelope generator of the
Super ADSR provides the key features of the ADSR envelope generator of the
S-SMP chip, namely,
- **_32KHz_ Sample Rate:** The S-SMP was designed to run at _32kHz_, so the
audio inputs and outputs of the module are locked to _32kHz_.
- **Stereo Processing:** Two envelope generators on one module for
stereo modulation, cross modulation, or both!
- **Total Level Control:** Control over the overall level of the envelope
Expand All @@ -338,61 +338,64 @@ S-SMP chip, namely,
control voltages.

<p align="center">
<img alt="S-SMP(ADSR)" src="manual/S_SMP_ADSR/img/Module.svg">
<img alt="Super ADSR" src="manual/SuperADSR/img/Module.svg">
</p>

### Features

See the [Manual][S_SMP_ADSR] for more information about the features of this module.
See the [Manual][SuperADSR] for more information about the features of this module.

<!-- ------------------------------------------------------------ -->
<!-- MARK: S-SMP(BRR) -->
<!-- MARK: Super VCA -->
<!-- ------------------------------------------------------------ -->

## S-SMP(BRR)
<h2 align="center">
<img alt="Super VCA Logo" src="manual/SuperVCA/img/Logo.svg">
</h2>

S-SMP(BRR) is an emulation of the Bit-Rate Reduction (BRR) sample playback
engine from the Sony S-SMP audio processing unit in the
[Super Nintendo Entertainment System (SNES)][SNES]. The sample playback engine
has a compression ratio of _32:9_ over standard 16-bit PCM, and includes a
reconstruction filter.
Super VCA is an emulation of the BRR filter & Gaussian interpolation filter
from the Sony S-SMP audio processing unit in the
[Super Nintendo Entertainment System (SNES)][SNES]. The four BRR filter modes
were applied to BRR sample blocks on the SNES and the Gaussian interpolation
filter was applied to output audio and removed high-frequency content from the
signal.

S-SMP(BRR) provides the key features of the BRR sample playback engine of the
S-SMP chip, namely,
- **_32KHz_ Sample Rate:** The S-SMP was designed to run at _32kHz_, so the
audio inputs and outputs of the module are locked to _32kHz_.
- **Multi-channel Processing:** 8 different mono sample playback channels.
- **Stereo Panning:** Split mono samples into the stereo field and introduce
surround sound effects.
- **Reconstruction Filter:** Four-mode reconstruction filter including a
bypass mode and three low-pass filter modes.
Super VCA provides the key features of the BRR filter and Gaussian filter
of the S-SMP chip, namely,
- **Stereo Processing:** Dual processing channels for stereo effects or other
create multi-tracking applications.
- **4 BRR Filter Modes:** 4 filter modes from the BRR sample playback engine
that act as low-pass filters.
- **Gaussian Interpolation Filter:** A filter that removes high-frequency
content and adds subtle distortion. This filter provides the muffling
character that fans of SNES audio will find familiar.

<p align="center">
<img alt="S-SMP(BRR)" src="manual/S_SMP_BRR/img/Module.svg">
<img alt="Super VCA" src="manual/SuperVCA/img/Module.svg">
</p>

### Features

See the [Manual][S_SMP_BRR] for more information about the features of this module.
See the [Manual][SuperVCA] for more information about the features of this module.

<!-- ------------------------------------------------------------ -->
<!-- MARK: S-SMP(Echo) -->
<!-- MARK: Super Echo -->
<!-- ------------------------------------------------------------ -->

## S-SMP(Echo)
<h2 align="center">
<img alt="Super Echo Logo" src="manual/SuperEcho/img/Logo.svg">
</h2>

S-SMP(Echo) is a Eurorack module that emulates the echo effect from the S-SMP
Super Echo is a Eurorack module that emulates the echo effect from the S-SMP
sound chip on the [Super Nintendo Entertainment System (SNES)][SNES].The Echo
effect of the S-SMP chip has _15_ different delay levels of _16ms_ each, a
_64KB_ echo buffer, an 8-tap FIR filter for shaping the sound of the echo,
parameterized feedback, and parameterized dry / wet mix level. The echo buffer
is stereo, although the echo parameters and coefficients of the FIR filter are
the same for both channels.

S-SMP(Echo) provides the key features of the echo module of the S-SMP chip,
Super Echo provides the key features of the echo module of the S-SMP chip,
namely,
- **_32KHz_ Sample Rate:** The S-SMP was designed to run at _32kHz_, so the
audio inputs and outputs of the module are locked to _32kHz_.
- **Stereo Processing:** Echo buffer for two independent inputs in stereo
configuration. The parameters are the same for both inputs, but the inputs
have their own dedicated echo buffers.
Expand All @@ -410,99 +413,60 @@ namely,
popular SNES games.

<p align="center">
<img alt="S-SMP(Echo)" src="manual/S_SMP_Echo/img/Module.svg">
<img alt="Super Echo" src="manual/SuperEcho/img/Module.svg">
</p>

### Features

See the [Manual][S_SMP_Echo] for more information about the features of this module.
See the [Manual][SuperEcho] for more information about the features of this module.

<!-- ------------------------------------------------------------ -->
<!-- MARK: S-SMP-Gauss -->
<!-- MARK: S-SMP(BRR) -->
<!-- ------------------------------------------------------------ -->

## S-SMP(Gauss)
<!-- ## S-SMP(BRR)
S-SMP(Gauss) is an emulation of the BRR filter & Gaussian interpolation filter
from the Sony S-SMP audio processing unit in the
[Super Nintendo Entertainment System (SNES)][SNES]. The four BRR filter modes
were applied to BRR sample blocks on the SNES and the Gaussian interpolation
filter was applied to output audio and removed high-frequency content from the
signal.
S-SMP(BRR) is an emulation of the Bit-Rate Reduction (BRR) sample playback
engine from the Sony S-SMP audio processing unit in the
[Super Nintendo Entertainment System (SNES)][SNES]. The sample playback engine
has a compression ratio of _32:9_ over standard 16-bit PCM, and includes a
reconstruction filter.
S-SMP(Gauss) provides the key features of the BRR filter and Gaussian filter
of the S-SMP chip, namely,
- **_32KHz_ Sample Rate:** The S-SMP was designed to run at _32kHz_, so the
audio inputs and outputs of the module are locked to _32kHz_.
- **Stereo Processing:** Dual processing channels for stereo effects or other
create multi-tracking applications.
- **4 BRR Filter Modes:** 4 filter modes from the BRR sample playback engine
that act as low-pass filters.
- **Gaussian Interpolation Filter:** A filter that removes high-frequency
content and adds subtle distortion. This filter provides the muffling
character that fans of SNES audio will find familiar.
S-SMP(BRR) provides the key features of the BRR sample playback engine of the
S-SMP chip, namely,
- **Multi-channel Processing:** 8 different mono sample playback channels.
- **Stereo Panning:** Split mono samples into the stereo field and introduce
surround sound effects.
- **Reconstruction Filter:** Four-mode reconstruction filter including a
bypass mode and three low-pass filter modes.
<p align="center">
<img alt="S-SMP(Gauss)" src="manual/S_SMP_Gauss/img/Module.svg">
<img alt="S-SMP(BRR)" src="manual/S_SMP_BRR/img/Module.svg">
</p>
### Features
See the [Manual][S_SMP_Gauss] for more information about the features of this module.
See the [Manual][S_SMP_BRR] for more information about the features of this module. -->

<!-- ------------------------------------------------------------ -->
<!-- MARK: S-SMP -->
<!-- ------------------------------------------------------------ -->

## S-SMP _(Coming Soon!)_
<!-- ## S-SMP _(Coming Soon!)_
S-SMP is an emulation of the Sony S-SMP audio processing unit from the
[Super Nintendo Entertainment System (SNES)][SNES].
The S-SMP is a complex module containing a DSP chip (the S-DSP), a CPU chip (
the SPC700), 64KB of total RAM storage, an amplifier, and a DAC.
<!-- <p align="center">
<p align="center">
<img alt="S-SMP" src="manual/S_SMP/img/Module.svg">
</p>
### Features
See the [Manual][S_SMP] for more information about the features of this module. -->

<!-- ------------------------------------------------------------ -->
<!-- MARK: Wave Creative Modulator -->
<!-- ------------------------------------------------------------ -->

## Wave Creative Modulator _(Coming Soon!)_

**Wave Creative Modulator** is an emulation of the
[Konami Sound Creative Chip (SCC)][KonamiSCC] audio processing unit.

<!-- <p align="center">
<img alt="Wave Creative Modulator" src="manual/SCC/img/Module.svg">
</p>
### Features
See the [Manual][WaveCreativeModulator] for more information about the features of this module. -->

<!-- ------------------------------------------------------------ -->
<!-- MARK: Grafx Turbillator -->
<!-- ------------------------------------------------------------ -->

## Grafx Turbillator _(Coming Soon!)_

**Grafx Turbillator** is an emulation of the [NEC TurboGrafx16][NECTurboGrafx16]
audio processing unit.

<!-- <p align="center">
<img alt="Grafx Turbillator" src="manual/TurboGrafx16/img/Module.svg">
</p>
### Features
See the [Manual][GrafxTurbillator] for more information about the features of this module. -->

<!-- ------------------------------------------------------------ -->
<!-- MARK: Links -->
<!-- ------------------------------------------------------------ -->
Expand Down Expand Up @@ -537,14 +501,12 @@ See the [Manual][GrafxTurbillator] for more information about the features of th
[Pulses]: https://github.com/Kautenja/PotatoChips/releases/latest/download/Pulses.pdf
[PalletTownWavesSystem]: https://github.com/Kautenja/PotatoChips/releases/latest/download/PalletTownWavesSystem.pdf
[StepSaw]: https://github.com/Kautenja/PotatoChips/releases/latest/download/StepSaw.pdf
[S_SMP_ADSR]: https://github.com/Kautenja/PotatoChips/releases/latest/download/S_SMP_ADSR.pdf
[S_SMP_Gauss]: https://github.com/Kautenja/PotatoChips/releases/latest/download/S_SMP_Gauss.pdf
[S_SMP_Echo]: https://github.com/Kautenja/PotatoChips/releases/latest/download/S_SMP_Echo.pdf
[SuperADSR]: https://github.com/Kautenja/PotatoChips/releases/latest/download/SuperADSR.pdf
[SuperVCA]: https://github.com/Kautenja/PotatoChips/releases/latest/download/SuperVCA.pdf
[SuperEcho]: https://github.com/Kautenja/PotatoChips/releases/latest/download/SuperEcho.pdf
[S_SMP_BRR]: https://github.com/Kautenja/PotatoChips/releases/latest/download/S_SMP_BRR.pdf
[S_SMP]: https://github.com/Kautenja/PotatoChips/releases/latest/download/S_SMP.pdf
[BossFight]: https://github.com/Kautenja/PotatoChips/releases/latest/download/BossFight.pdf
[MegaTone]: https://github.com/Kautenja/PotatoChips/releases/latest/download/MegaTone.pdf
[Jairasullator]: https://github.com/Kautenja/PotatoChips/releases/latest/download/Jairasullator.pdf
[PotKeys]: https://github.com/Kautenja/PotatoChips/releases/latest/download/PotKeys.pdf
[WaveCreativeModulator]: https://github.com/Kautenja/PotatoChips/releases/latest/download/WaveCreativeModulator.pdf
[GrafxTurbillator]: https://github.com/Kautenja/PotatoChips/releases/latest/download/GrafxTurbillator.pdf
2 changes: 1 addition & 1 deletion manual/InfiniteStairs/manual.tex
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ \subsection{Sync}

\subsection{Outputs}

Each voice produces an output signal of at most $10V_{pp}$ when the amplifier is maxed out. The individual oscillators cannot be overdriven to produce clipping, distortion, or aliasing. However, outputs are normalled forward into a sum mix where hard clipping \textit{can} occur. Excess clipping will introduce an aliasing effect to the mix. Outputs in the mix are clipped \textit{before} being normalled to the next output. VU meter lights measure the output of individual channels going from off ($-\infty dB$ to $0dB$), to green ($-12dB$ to $0dB$), and lastly to red ($0dB$ to $3dB$) when clipping begins to occur.
Each voice produces an output signal of at most $10V_{pp}$ when the amplifier is maxed out. The individual oscillators cannot be overdriven to produce clipping, distortion, or aliasing. However, outputs are normalled forward into a sum mix where hard clipping \textit{can} occur. Excess clipping will introduce an aliasing effect to the mix. Outputs in the mix are clipped \textit{before} being normalled to the next output. VU meter lights measure the output of individual channels going from off ($-\infty dB$ to $-12dB$), to green ($-12dB$ to $0dB$), and lastly to red ($0dB$ to $3dB$) when clipping begins to occur.

% -------------------
% MARK: Data Sheet
Expand Down
2 changes: 1 addition & 1 deletion manual/Jairasullator/manual.tex
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ \subsection{Voice Mode}

When the \textbf{ENV} switch is pointing up, the global envelope generator is enabled for the voice. When pointing down, the noise generator is disabled for the voice. The \textbf{ENV} input port acts like a gate that goes high at $2V$ and inverts the value of the \textbf{ENV} switch. The envelope generator can be used to envelope a voice when tone and/or noise are enabled, or it can be used as a global LFO when both tone and noise are disabled for the voice.

Each voice produces an output signal of at most $10V_{pp}$ when the amplifier is maxed out. The individual oscillators cannot be overdriven to produce clipping, distortion, or aliasing. However, outputs are normalled forward into a sum mix where hard clipping \textit{can} occur. Excess clipping will introduce an aliasing effect to the mix. Outputs in the mix are clipped \textit{before} being normalled to the next output. VU meter lights measure the output of individual channels going from off ($-\infty dB$ to $0dB$), to green ($-12dB$ to $0dB$), and lastly to red ($0dB$ to $3dB$) when clipping begins to occur\footnote{This includes LFO modes}.
Each voice produces an output signal of at most $10V_{pp}$ when the amplifier is maxed out. The individual oscillators cannot be overdriven to produce clipping, distortion, or aliasing. However, outputs are normalled forward into a sum mix where hard clipping \textit{can} occur. Excess clipping will introduce an aliasing effect to the mix. Outputs in the mix are clipped \textit{before} being normalled to the next output. VU meter lights measure the output of individual channels going from off ($-\infty dB$ to $-12dB$), to green ($-12dB$ to $0dB$), and lastly to red ($0dB$ to $3dB$) when clipping begins to occur\footnote{This includes LFO modes}.

\subsection{Envelope and Noise Generator}

Expand Down
6 changes: 5 additions & 1 deletion manual/KautenjaDSP.sty
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,10 @@
% MARK: Declarations
% ----------------------------------------------------------------------------

\let\tempone\itemize
\let\temptwo\enditemize
\renewenvironment{itemize}{\tempone\addtolength{\itemsep}{-0.5\baselineskip}}{\temptwo}

% setup captions for tables
\captionsetup[table]{%
labelfont={bf},
Expand Down Expand Up @@ -107,7 +111,7 @@
\setlength{\headheight}{15pt}
\pagestyle{fancy}
\lhead{KautenjaDSP}
\rhead{\itshape {\KautenjaDSP@moduleName} v1.8.3}
\rhead{\itshape {\KautenjaDSP@moduleName} v1.9.0}
\cfoot{\thepage}

% ----------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion manual/MegaTone/manual.tex
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ \subsection{Amplifier}

\subsection{Outputs}

Each voice produces an output signal of at most $10V_{pp}$ when the amplifier is maxed out. The individual oscillators cannot be overdriven to produce clipping, distortion, or aliasing. However, outputs are normalled forward into a sum mix where hard clipping \textit{can} occur. Excess clipping will introduce an aliasing effect to the mix. Outputs in the mix are clipped \textit{before} being normalled to the next output. VU meter lights measure the output of individual channels going from off ($-\infty dB$ to $0dB$), to green ($-12dB$ to $0dB$), and lastly to red ($0dB$ to $3dB$) when clipping begins to occur.
Each voice produces an output signal of at most $10V_{pp}$ when the amplifier is maxed out. The individual oscillators cannot be overdriven to produce clipping, distortion, or aliasing. However, outputs are normalled forward into a sum mix where hard clipping \textit{can} occur. Excess clipping will introduce an aliasing effect to the mix. Outputs in the mix are clipped \textit{before} being normalled to the next output. VU meter lights measure the output of individual channels going from off ($-\infty dB$ to $-12dB$), to green ($-12dB$ to $0dB$), and lastly to red ($0dB$ to $3dB$) when clipping begins to occur.

% -------------------
% MARK: Data Sheet
Expand Down
Loading

0 comments on commit 4a6c45a

Please sign in to comment.