From a308a5425f6f7bed7fc15ba43d9bf3f1894083fa Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Sat, 27 Jul 2013 22:38:22 +0000 Subject: remove extra stuff --- (limited to 'pysamples/csound.py') diff --git a/pysamples/csound.py b/pysamples/csound.py deleted file mode 100644 index a935674..0000000 --- a/pysamples/csound.py +++ /dev/null @@ -1,148 +0,0 @@ -#Copyright (c) 2011 Walter Bender - -# This procedure is invoked when the user-definable block on the -# "extras" palette is selected. - -# Usage: Import this code into a Python (user-definable) block and -# pass a sound name Python block. The sound will play. -# Alternatively, pass a pitch, amplitude, and duration, e.g., 440, 5000, 1 - -# Note: Assumes TamTam suite is installed in ~/Activities - - -def myblock(tw, sound): - ''' Plays a sound file ''' - - from TurtleArt.tautils import get_path - import os - - dirs = [os.path.join( - os.environ['HOME'], - 'Activities/TamTamMini.activity/common/Resources/Sounds/')] - orchlines = [] - scorelines = [] - instrlist = [] - - def finddir(): - for d in dirs: - if os.path.isdir(d): - return d - - def playSine(pitch=1000, amplitude=5000, duration=1, starttime=0, - pitch_envelope='default', amplitude_envelope='default'): - """ Create a score to play a sine wave. """ - _play(pitch, amplitude, duration, starttime, pitch_envelope, - amplitude_envelope, 1) - - def _play(pitch, amplitude, duration, starttime, pitch_envelope, - amplitude_envelope, instrument): - if pitch_envelope == 'default': - pitenv = 99 - else: - pitenv = pitch_envelope - - if amplitude_envelope == 'default': - ampenv = 100 - else: - ampenv = amplitude_envelope - - if not 1 in instrlist: - orchlines.append("instr 1\n") - orchlines.append("kpitenv oscil 1, 1/p3, p6\n") - orchlines.append("aenv oscil 1, 1/p3, p7\n") - orchlines.append("asig oscil p5*aenv, p4*kpitenv, p8\n") - orchlines.append("out asig\n") - orchlines.append("endin\n\n") - instrlist.append(1) - - scorelines.append("i1 %s %s %s %s %s %s %s\n" % - (str(starttime), str(duration), str(pitch), - str(amplitude), str(pitenv), str(ampenv), - str(instrument))) - - def playWave(sound='horse', pitch=1, amplitude=1, loop=False, duration=1, - starttime=0, pitch_envelope='default', - amplitude_envelope='default'): - """ Create a score to play a wave file. """ - - if '/' in sound: - fullname = sound - else: - fullname = finddir() + str(sound) - - if loop: - lp = 1 - else: - lp = 0 - - if pitch_envelope == 'default': - pitenv = 99 - else: - pitenv = pitch_envelope - - if amplitude_envelope == 'default': - ampenv = 100 - else: - ampenv = amplitude_envelope - - if not 9 in instrlist: - orchlines.append("instr 9\n") - orchlines.append("kpitenv oscil 1, 1/p3, p8\n") - orchlines.append("aenv oscil 1, 1/p3, p9\n") - orchlines.append("asig diskin p4, p5*kpitenv, 0, p7\n") - orchlines.append("out asig*p6*aenv\n") - orchlines.append("endin\n\n") - instrlist.append(9) - - scorelines.append('i9 %f %f "%s" %s %s %s %s %s\n' % - (float(starttime), float(duration), fullname, - str(pitch), str(amplitude), str(lp), str(pitenv), - str(ampenv))) - - def audioWrite(file): - """ Compile a .csd file. """ - - csd = open(file, "w") - csd.write("\n\n") - csd.write("\n") - csd.write("-+rtaudio=alsa -odevaudio -m0 -d -b256 -B512\n") - csd.write("\n\n") - csd.write("\n\n") - csd.write("sr=16000\n") - csd.write("ksmps=50\n") - csd.write("nchnls=1\n\n") - # csd.write(orchlines.pop()) - for line in orchlines: - csd.write(line) - csd.write("\n\n\n") - csd.write("\n\n") - csd.write("f1 0 2048 10 1\n") - csd.write("f2 0 2048 10 1 0 .33 0 .2 0 .143 0 .111\n") - csd.write("f3 0 2048 10 1 .5 .33 .25 .2 .175 .143 .125 .111 .1\n") - csd.write("f10 0 2048 10 1 0 0 .3 0 .2 0 0 .1\n") - csd.write("f99 0 2048 7 1 2048 1\n") - csd.write("f100 0 2048 7 0. 10 1. 1900 1. 132 0.\n") - csd.write(scorelines.pop()) - csd.write("e\n") - csd.write("\n\n") - csd.write("\n") - csd.close() - - if type(sound) == float: - playSine(pitch=float(sound)) - elif type(sound) == list: # Create a score by computing a sinewave. - if len(sound) == 1: - playSine(pitch=float(sound[0])) - elif len(sound) == 2: - playSine(pitch=float(sound[0]), amplitude=float(sound[1])) - else: - playSine(pitch=float(sound[0]), amplitude=float(sound[1]), - duration=float(sound[2])) - else: # Create a score from a prerecorded Wave file. - playWave(sound) - if tw.running_sugar: - path = os.path.join(get_path(tw.activity, 'instance'), 'tmp.csd') - else: - path = os.path.join('/tmp', 'tmp.csd') - audioWrite(path) # Create a csound file from the score. - os.system('csound ' + path) # Play the csound file. -- cgit v0.9.1