Showing the changes to python (1 of 1 file). Show all
Unified · Split
| @@ -0,0 +1,26 @@ | |||
| 1 | #! /usr/bin/env python | ||
| 2 | |||
| 3 | def record_sink(sink_path): | ||
| 4 | """Record an audio file using pysoundcard.""" | ||
| 5 | |||
| 6 | from aubio import sink | ||
| 7 | from pysoundcard import Stream | ||
| 8 | |||
| 9 | hop_size = 256 | ||
| 10 | duration = 5 # in seconds | ||
| 11 | s = Stream(block_length = hop_size) | ||
| 12 | g = sink(sink_path, samplerate = s.sample_rate) | ||
| 13 | |||
| 14 | s.start() | ||
| 15 | total_frames = 0 | ||
| 16 | while total_frames < duration * s.sample_rate: | ||
| 17 | vec = s.read(hop_size) | ||
| 18 | # mix down to mono | ||
| 19 | mono_vec = vec.sum(-1) | ||
| 20 | g(mono_vec, hop_size) | ||
| 21 | total_frames += hop_size | ||
| 22 | s.stop() | ||
| 23 | |||
| 24 | if __name__ == '__main__': | ||
| 25 | import sys | ||
| 26 | record_sink(sys.argv[1]) | ||