File size: 838 Bytes
f8a1702
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
"""Live-style local example. Input: your own mono 16 kHz English WAV."""
import argparse
import json
import soundfile as sf
from streampa import StreamPAPipeline

p=argparse.ArgumentParser()
p.add_argument('--bundle-dir',required=True); p.add_argument('--audio',required=True)
p.add_argument('--device',default='cpu')
a=p.parse_args()
pipeline=StreamPAPipeline(a.bundle_dir,device=a.device)
session=pipeline.create_session()
with sf.SoundFile(a.audio) as audio:
    if audio.samplerate!=16000 or audio.channels!=1: raise ValueError('Expected mono 16-kHz WAV')
    while True:
        block=audio.read(1600,dtype='float32')
        if not len(block): break
        for result in session.append(block): print(json.dumps(result))
print(json.dumps(session.finish()))
session.reset()
assert session.current() is None and session.state is None