Beispiel #1
0
 def __init__(self, notes=[], tempo=96):
     self.notes = [note.frequency for note in notes]
     self.times = [note.time(tempo) for note in notes]
     self.amps = [note.amp for note in notes]
     self.tempo = tempo
     self._metro = Metro()
     self.amp = Iter(self._metro, self.amps, init=self.amps[0])
     self.time = Iter(self._metro, self.times, init=self.times[0])
     self._metro.setTime(self.time)
     self.signal = Iter(self._metro, self.notes)
     #triggers are only sent when amp is >0
     self.trigger = Ceil(self.amp * self._metro)
Beispiel #2
0
        self._reson1Env.play(dur, delay)
        self._reson2Env.play(dur, delay)
        self._amp1Env.play(dur, delay)
        self._amp2Env.play(dur, delay)
        return PyoObject.out(self, chnl, inc, dur, delay)


# Run this script to test the Aqueous class.
if __name__ == "__main__":
    from pyo import Delay, Metro, Server, Snap, TrigXnoiseMidi, WGVerb, Pattern

    s = Server(duplex=0).boot()
    s.setAmp(1.0)
    s.start()
    t = 3.776
    metroAqueous = Metro(time=t * 2).play()
    noteAqeous = TrigXnoiseMidi(metroAqueous, dist=0, mrange=(42, 83))
    snapAqueous = Snap(noteAqeous, choice=[0, 2, 4, 5, 7, 9, 11], scale=1)
    a = Aqueous(snapAqueous, dur=t * 0.75, mul=0.9)

    def noteOn():
        a.play()

    playAqueous = Pattern(function=noteOn, time=t * 2).play()
    delay = Delay(a,
                  delay=t * 0.75,
                  feedback=0.6,
                  maxdelay=t * 0.75,
                  mul=0.445)
    wetdry = delay + a
    d = WGVerb(wetdry,
Beispiel #3
0
ESC = 27
PLUS = 43
MINUS = 45

notes1 = ['a', 'b', 'c']
notes2 = ['d', 'g', 'h']
notes3 = ['e', 'f', 'i', 'j']

screen = pygame.display.set_mode((800, 600))

run = True

server = Server().boot()
server.start()

met = Metro(.125, 12).play()

players.append(Player(met, notes1))
players.append(Player(met, notes2))
players.append(Player(met, notes3))

while run:
    for event in pygame.event.get():
        if event.type == pygame.KEYUP:
            for player in players:
                player.note_off(chr(event.key))

            if event.key == ESC:
                run = False
                break
            if event.key == PLUS:
Beispiel #4
0
# <http://code.google.com/p/pyo>.
# Latest version always available at <http://gist.github.com/tildebyte>.
# Copyright (C) 2014  Ben Alkov <*****@*****.**>

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version <http://www.gnu.org/licenses/>.
from pyo import Delay, Snap, Metro, TrigXnoiseMidi, WGVerb

from ground_state.pyo.instruments.whale import Whale
from ground_state.pyo.utils.tempo import Tempo
from ground_state.pyo.utils.dbToAmp import dbToAmp
from ground_state.pyo.utils.serverSetup import serverSetup


t = Tempo(63.5)
# OSX
s = serverSetup(2, 192, 'coreaudio')

metro = Metro(time=t.whole * 4).play()
note = TrigXnoiseMidi(metro, dist=0, mrange=(30, 41))
snap = Snap(note, choice=[0, 2, 4, 5, 7, 9, 11], scale=1)
w = Whale(snap, metro, dur=t.whole, mul=0.9)
delay = Delay(w, delay=t.whole, feedback=0.64,
              maxdelay=t.whole, mul=dbToAmp(-6))
wetdry = delay + w
d = WGVerb(wetdry, feedback=[0.73, 0.76], cutoff=5000,
           bal=dbToAmp(-12.04), mul=dbToAmp(-10.5)).out()
s.gui(locals())
Beispiel #5
0
# (at your option) any later version <http://www.gnu.org/licenses/>.
from pyo import Delay, Metro, Pattern, Snap, STRev, TrigXnoiseMidi

# iPython: %cd \path\to\pyo\files
from ground_state.pyo.instruments.aqueous import Aqueous
from ground_state.pyo.instruments.whale import Whale
from ground_state.pyo.utils.tempo import Tempo
from ground_state.pyo.utils.dbToAmp import dbToAmp
from ground_state.pyo.utils.serverSetup import serverSetup

t = Tempo(63.5)  # q=944ms, w=3.776s
# Windows
# server = serverSetup(10, 700)
# OSX
server = serverSetup(2, 192, 'coreaudio')
metroWhale = Metro(time=t.whole * 4).play()
metroAqueous = Metro(time=t.whole).play()
noteWhale = TrigXnoiseMidi(metroWhale, dist=0, mrange=(30, 41))
noteAqeous = TrigXnoiseMidi(metroAqueous, dist=0, mrange=(42, 83))
snapWhale = Snap(noteWhale, choice=[0, 2, 4, 5, 7, 9, 11], scale=1)
snapAqueous = Snap(noteAqeous, choice=[0, 2, 4, 5, 7, 9, 11], scale=1)
whale = Whale(snapWhale, metroWhale, dur=t.whole, mul=dbToAmp(-9.0))
aqueous = Aqueous(snapAqueous, dur=t.whole * 2, mul=dbToAmp(-12.0))


def noteOn():
    aqueous.play()


playAqueous = Pattern(function=noteOn, time=t.whole * 2).play()
delayWhale = Delay(whale,