1#! /usr/bin/env python
2
3def play_source(source_path):
4    """Play an audio file using pysoundcard."""
5
6    from aubio import source
7    from pysoundcard import Stream
8
9    hop_size = 256
10    f = source(source_path, hop_size = hop_size)
11    samplerate = f.samplerate
12
13    s = Stream(samplerate = samplerate, blocksize = hop_size)
14    s.start()
15    read = 0
16    while 1:
17        vec, read = f()
18        s.write(vec)
19        if read < hop_size: break
20    s.stop()
21
22if __name__ == '__main__':
23    import sys
24    play_source(sys.argv[1])
25