Update app.py
Browse files
app.py
CHANGED
@@ -49,21 +49,21 @@ def pcm16_to_float32(pcm_data: bytes) -> np.ndarray:
|
|
49 |
float_data = int_data.astype(np.float32) / 32768.0
|
50 |
return float_data
|
51 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
@app.websocket("/ws/transcribe")
|
53 |
async def websocket_endpoint(websocket: WebSocket):
|
54 |
await websocket.accept()
|
55 |
|
56 |
-
# Initialize models.
|
57 |
-
model_name = "moonshine/tiny"
|
58 |
-
transcriber = Transcriber(model_name=model_name, rate=SAMPLING_RATE)
|
59 |
-
vad_model = load_silero_vad(onnx=True)
|
60 |
-
vad_iterator = VADIterator(
|
61 |
-
model=vad_model,
|
62 |
-
sampling_rate=SAMPLING_RATE,
|
63 |
-
threshold=0.5,
|
64 |
-
min_silence_duration_ms=300,
|
65 |
-
)
|
66 |
-
|
67 |
caption_cache = []
|
68 |
lookback_size = LOOKBACK_CHUNKS * CHUNK_SIZE
|
69 |
speech = np.empty(0, dtype=np.float32)
|
@@ -154,7 +154,7 @@ async def get_home():
|
|
154 |
mediaStream = await navigator.mediaDevices.getUserMedia({ audio: true });
|
155 |
audioContext = new AudioContext({ sampleRate: 16000 });
|
156 |
const source = audioContext.createMediaStreamSource(mediaStream);
|
157 |
-
scriptProcessor = audioContext.createScriptProcessor(
|
158 |
scriptProcessor.onaudioprocess = function(event) {
|
159 |
const inputData = event.inputBuffer.getChannelData(0);
|
160 |
const pcm16 = floatTo16BitPCM(inputData);
|
|
|
49 |
float_data = int_data.astype(np.float32) / 32768.0
|
50 |
return float_data
|
51 |
|
52 |
+
# Initialize models.
|
53 |
+
model_name = "moonshine/tiny"
|
54 |
+
transcriber = Transcriber(model_name=model_name, rate=SAMPLING_RATE)
|
55 |
+
vad_model = load_silero_vad(onnx=True)
|
56 |
+
vad_iterator = VADIterator(
|
57 |
+
model=vad_model,
|
58 |
+
sampling_rate=SAMPLING_RATE,
|
59 |
+
threshold=0.5,
|
60 |
+
min_silence_duration_ms=300,
|
61 |
+
)
|
62 |
+
|
63 |
@app.websocket("/ws/transcribe")
|
64 |
async def websocket_endpoint(websocket: WebSocket):
|
65 |
await websocket.accept()
|
66 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
caption_cache = []
|
68 |
lookback_size = LOOKBACK_CHUNKS * CHUNK_SIZE
|
69 |
speech = np.empty(0, dtype=np.float32)
|
|
|
154 |
mediaStream = await navigator.mediaDevices.getUserMedia({ audio: true });
|
155 |
audioContext = new AudioContext({ sampleRate: 16000 });
|
156 |
const source = audioContext.createMediaStreamSource(mediaStream);
|
157 |
+
scriptProcessor = audioContext.createScriptProcessor(512, 1, 1);
|
158 |
scriptProcessor.onaudioprocess = function(event) {
|
159 |
const inputData = event.inputBuffer.getChannelData(0);
|
160 |
const pcm16 = floatTo16BitPCM(inputData);
|