Granular synthesis: Difference between revisions

From XPUB & Lens-Based wiki
(Created page with " Max Dovey is working on manipulating audio recordings about the limits of time. <source lang="python"> import sys, struct c = 0 samples = [] numsample...")
 
No edit summary
Line 1: Line 1:
[[User:Max_Dovey | Max Dovey]] is working on manipulating audio recordings about the limits of time.
[[User:Max_Dovey | Max Dovey]] is working on manipulating audio recordings about the limits of time.


samplebits.py
<source lang="python">
<source lang="python">
import sys, struct  
import sys, struct  


Line 31: Line 31:
         out = struct.pack("H"*numsamples, *samples)
         out = struct.pack("H"*numsamples, *samples)
         sys.stdout.write(out)
         sys.stdout.write(out)
</source>
2raw.sh
<source lang="bash">
#!/bin/bash
sox $1 -t raw -e unsigned-integer -r 44100 -c 1 -
</source>
</source>

Revision as of 11:22, 14 October 2014

Max Dovey is working on manipulating audio recordings about the limits of time.

samplebits.py

import sys, struct 

c = 0
samples = []
numsamples = 17640 # 0.4 sec
# numsamples = 1764  # 0.040 sec == 40 ms == 0.040 * 44100 => 1764
# numsamples = 176 # 0.004 sec == 4 ms == 0.004 * 44100
# numsamples = 44 # 0.001 sec == 1 ms == 0.001 * 44100
# numsamples = 441 #0.01 sec == 1dec == 0.01 * 44100 = 441
# numsamples = 44 #0.001 sec == 1centi == 0.001 * 44100 = 44.1
# numsamples = int(4.41) #0.0001 sec == 1milli == 0.0001 * 44100 = 4.41
# numsamples = int(1) #0.000001 sec == 1micro == 0.000001 * 44100 = 0.0441

loop = 10

while True:
    sample = sys.stdin.read(2*numsamples)
    if not sample:
        break

    samples = struct.unpack("H"*numsamples, sample)

    # sys.stderr.write(str(n)+"/n")
    # o = max(35000,n)
    # take your slice and repeat
    for i in range(loop):
        out = struct.pack("H"*numsamples, *samples)
        sys.stdout.write(out)

2raw.sh

#!/bin/bash
sox $1 -t raw -e unsigned-integer -r 44100 -c 1 -