Permalink
Browse files

First pass alias osc

  • Loading branch information...
hecanjog committed Feb 6, 2019
1 parent 5e4fda8 commit 2b93a049c3d082c5a167fe4f74d524476273a279
Showing with 41 additions and 5 deletions.
  1. +1 −0 README.md
  2. +31 −4 pippi/oscs.c
  3. +1 −0 pippi/oscs.pyx
  4. +1 −0 setup.py
  5. +7 −1 tests/test_oscs.py
@@ -94,6 +94,7 @@ to clean all the build files first just run:
- `Fold` an implementation of an infinite wavetable folder
- `Pluck` a basic implementation of a plucked string physical model which can be fed with an arbitrary wavetable impulse
- `DSS` an implementation of dynamic stochastic synthesis (in progress)
- `Alias` a single-sample aliasing pulsetrain osc
- Total rewrite of `grains.GrainCloud`, now `grains.Cloud` (and `SoundBuffer.cloud`)
- Uses `mincer` for pitch shifting
- Grainlength and grain density are no longer tightly coupled: no more `density` param. It is replaced with a `grainlength` value/wavetable and a `grid` value/wavetable.

Some generated files are not rendered by default. Learn more.

Oops, something went wrong.
@@ -7,3 +7,4 @@ from pippi.osc2d import Osc2d
from pippi.pulsar import Pulsar
from pippi.pulsar2d import Pulsar2d
from pippi.pluck import Pluck
from pippi.alias import Alias
@@ -34,6 +34,7 @@
Extension('pippi.pulsar', ['pippi/pulsar.pyx']),
Extension('pippi.pulsar2d', ['pippi/pulsar2d.pyx']),
Extension('pippi.pluck', ['pippi/pluck.pyx']),
Extension('pippi.alias', ['pippi/alias.pyx']),

Extension('pippi.rhythm', ['pippi/rhythm.pyx']),
Extension('pippi.rand', ['pippi/rand.pyx']),
@@ -1,7 +1,7 @@
import random
from unittest import TestCase

from pippi.oscs import Osc, Osc2d, Pulsar, Pulsar2d
from pippi.oscs import Osc, Osc2d, Pulsar, Pulsar2d, Alias
from pippi.soundbuffer import SoundBuffer
from pippi import dsp

@@ -75,5 +75,11 @@ def test_create_pulsar2d(self):
out.write('tests/renders/osc_pulsar2d.wav')
self.assertEqual(len(out), int(length * out.samplerate))

def test_create_alias(self):
osc = Alias(freq=200.0)
length = 1
out = osc.play(length)
out.write('tests/renders/osc_alias.wav')
self.assertEqual(len(out), int(length * out.samplerate))


0 comments on commit 2b93a04

Please sign in to comment.