~ubuntu-branches/debian/sid/python-pyo/sid

« back to all changes in this revision

Viewing changes to examples/synthesis/05_ring_mod_class.py

  • Committer: Package Import Robot
  • Author(s): Tiago Bortoletto Vaz
  • Date: 2012-06-08 20:35:45 UTC
  • Revision ID: package-import@ubuntu.com-20120608203545-4z7kcf2lgvpsk18y
Tags: upstream-0.6.1
ImportĀ upstreamĀ versionĀ 0.6.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env python
 
2
# encoding: utf-8
 
3
"""
 
4
Ring modulators used as exciter of a waveguide bank.
 
5
 
 
6
"""
 
7
from pyo import *
 
8
 
 
9
s = Server().boot()
 
10
 
 
11
tab_m = HarmTable([1,0,0,0,0,.3,0,0,0,0,0,.2,0,0,0,0,0,.1,0,0,0,0,.05]).normalize()
 
12
tab_p = HarmTable([1,0,.33,0,.2,0,.143,0,.111])
 
13
 
 
14
class Ring:
 
15
    def __init__(self, fport=250, fmod=100, amp=.3):
 
16
        self.mod = Osc(tab_m, freq=fmod, mul=amp)
 
17
        self.port = Osc(tab_p, freq=fport, mul=self.mod)
 
18
 
 
19
    def out(self):
 
20
        self.port.out()
 
21
        return self
 
22
    
 
23
    def sig(self):
 
24
        return self.port
 
25
 
 
26
lf = Sine(.03, mul=.5, add=1)
 
27
rg = Ring(fport = [random.choice([62.5,125,187.5,250]) * random.uniform(.99,1.01) for i in range(8)],
 
28
          fmod = lf * [random.choice([25,50,75,100]) * random.uniform(.99,1.01) for i in range(8)],
 
29
          amp = 0.1)
 
30
 
 
31
res = Waveguide(rg.sig(), freq=[30.1,60.05,119.7,181,242.5,303.33], dur=30, mul=.1).out()
 
32
 
 
33
s.gui(locals())
 
 
b'\\ No newline at end of file'