ecasound 2.7.2 (2010) package. ubuntu's ecasound package is only at ecasound 2.2 way back from 2003. had to modify ecacontrol.py to use subprocess module instead of deprecated popen2

This commit is contained in:
Naomi 2011-03-05 13:24:27 -05:00
parent 4b4174fe50
commit e2406e2501
430 changed files with 168506 additions and 0 deletions

View file

@ -0,0 +1,42 @@
#!/usr/bin/env python
# -----------------------------------------------------------------------
# Implementation of the following:
#
# 1. Setup ECI to read audio from file, apply a 100Hz lowpass filter, and
# send it to the soundcard (/dev/dsp).
# 2. Every second, check the current position. If the stream has
# been running for over 15 seconds, exit immediately. Also,
# every second, increase the lowpass filter's cutoff frequency
# by 500Hz.
# 3. Stop the stream (if not already finished) and disconnect the
# chainsetup. Print chain operator status info.
# -----------------------------------------------------------------------
import time
from pyeca import *
e = ECA_CONTROL_INTERFACE()
e.command("cs-add play_chainsetup")
e.command("c-add 1st_chain")
e.command("ai-add foo.wav")
e.command("ao-add /dev/dsp")
e.command("cop-add -efl:100")
e.command("cop-select 1")
e.command("copp-select 1")
e.command("cs-connect")
e.command("start")
cutoff_inc = 500.0
while 1:
time.sleep(1)
e.command("engine-status")
if e.last_string() != "running": break
e.command("get-position")
curpos = e.last_float()
if curpos > 15: break
e.command("copp-get")
next_cutoff = cutoff_inc + e.last_float()
e.command_float_arg("copp-set", next_cutoff)
e.command("stop")
e.command("cs-disconnect")
e.command("cop-status")
print "Chain operator status: ", e.last_string()