diff options
Diffstat (limited to 'Lib/irix5/auds.py')
-rwxr-xr-x | Lib/irix5/auds.py | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/Lib/irix5/auds.py b/Lib/irix5/auds.py deleted file mode 100755 index fb992a9594..0000000000 --- a/Lib/irix5/auds.py +++ /dev/null @@ -1,106 +0,0 @@ -import audio - -RATE = 8192 - -# Initialize the audio stuff -audio.setrate(3) -audio.setoutgain(100) # for speaker - -play = audio.write - -def samp(n): - savegain = audio.getoutgain() - try: - audio.setoutgain(0) - x = raw_input('Hit Enter to sample ' + `n` + ' seconds: ') - return audio.read(n*RATE) - finally: - audio.setoutgain(savegain) - -def echo(s, delay, gain): - return s[:delay] + audio.add(s[delay:], audio.amplify(s, gain, gain)) - -def save(s, file): - f = open(file, 'w') - f.write(s) - -def load(file): - return loadfp(open(file, 'r')) - -def loadfp(fp): - s = '' - while 1: - buf = fp.read(16*1024) - if not buf: break - s = s + buf - return s - -def unbias(s): - if not s: return s - a = audio.chr2num(s) - sum = 0 - for i in a: sum = sum + i - bias = (sum + len(a)/2) / len(a) - print 'Bias value:', bias - if bias: - for i in range(len(a)): - a[i] = a[i] - bias - s = audio.num2chr(a) - return s - -# Stretch by a/b. -# Think of this as converting the sampling rate from a samples/sec -# to b samples/sec. Or, if the input is a bytes long, the output -# will be b bytes long. -# -def stretch(s, a, b): - y = audio.chr2num(s) - m = len(y) - out = [] - n = m * b / a - # i, j will walk through y and out (step 1) - # ib, ja are i*b, j*a and are kept as close together as possible - i, ib = 0, 0 - j, ja = 0, 0 - for j in range(n): - ja = ja+a - while ib < ja: - i = i+1 - ib = ib+b - if i >= m: - break - if ib == ja: - out.append(y[i]) - else: - out.append((y[i]*(ja-(ib-b)) + y[i-1]*(ib-ja)) / b) - return audio.num2chr(out) - -def sinus(freq): # return a 1-second sine wave - from math import sin, pi - factor = 2.0*pi*float(freq)/float(RATE) - list = range(RATE) - for i in list: - list[i] = int(sin(float(i) * factor) * 127.0) - return audio.num2chr(list) - -def softclip(s): - if '\177' not in s and '\200' not in s: - return s - num = audio.chr2num(s) - extremes = (-128, 127) - for i in range(1, len(num)-1): - if num[i] in extremes: - num[i] = (num[i-1] + num[i+1]) / 2 - return audio.num2chr(num) - -def demo(): - gday = load('gday')[1000:6000] - save(gday, 'gday0') - gg = [gday] - for i in range(1, 10): - for g in gg: play(g) - g = stretch(gday, 10, 10-i) - save(g, 'gday' + `i`) - gg.append(g) - while 1: - for g in gg: play(g) |