Skip to content

Commit 77d11bc

Browse files
committed
Update about page w image.
1 parent 0e21607 commit 77d11bc

File tree

3 files changed

+7
-1
lines changed

3 files changed

+7
-1
lines changed

css/index.scss

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,4 +354,8 @@ h1 {
354354
max-width: 436px;
355355
}
356356
}
357+
img {
358+
margin: 0 auto;
359+
display: block;
360+
}
357361
}

images/interpolated-waves.png

21 KB
Loading

src/views/Modals/AboutModal.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ AboutModal
33
*/
44
import React from 'react'
55
import ReactModal from 'react-modal'
6+
import interpolatedWaves from '../../../images/interpolated-waves.png'
67

78
export default class AboutModal extends React.Component {
89

@@ -23,7 +24,8 @@ export default class AboutModal extends React.Component {
2324
</p>
2425
<h2 className='text-center'>Wavetable Synthesis</h2>
2526
<p>A wavetable, in the simplest use of the term, is a list of samples for one period of a wave. In practice, we store an array of 600 numbers for each waveform. The more complicated use of the term "wavetable" synthesis refers to interpolating from one table to another over time. Interpolating between these tables made it possible for digital synthesizers of the 1980s to generate complex and evolving sounds using very little processing power and memory.</p>
26-
<p>All the interpolated values are precomputed into a potentially fairly long waveform ( what you see beneath each pair of waveform samples ). The "cycles" slider controls the amount of time it takes to change from one waveform to another. The plus, minus, divide, and multiply buttons control the slope of interpolation. Since we're not interpolating in real-time the loop time of each oscillator will change depending on pitch. We would like to find a way to do this without it being dependent on pitch, if you happen to know please contact us!
27+
<img src={interpolatedWaves} />
28+
<p>We precompute all the interpolated values from one table to another into a new, and potentially much longer, waveform. The "cycles" slider controls the length of the interpolated waveform, this is how long it will take for the oscillator to smoothly change from one waveform to another. The plus, minus, divide, and multiply buttons control the slope of interpolation. Since we're not interpolating in real-time the loop time of each oscillator will change depending on pitch. We would like to find a way to do this without it being dependent on pitch, if you happen to know please contact us!
2729
</p>
2830
<h2 className='text-center'>By No Means Perfect</h2>
2931
<p>To add texture in a few places we add a bit of randomness. On each note, the pitch is altered randomly between 0 and 6 cents per oscillator. Also, our square LFO uses a custom square waveform sample versus the preset square available in the web audio api, which does some very subtle ramping up and down and has some wobble to it. Our filter is actually using 10 filters in sequence, we figured it's a computer, so why not use 10 filters?</p>

0 commit comments

Comments
 (0)