summaryrefslogtreecommitdiffstats
path: root/Scripts/transcribe_v2.py
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2023-09-18 21:00:56 -0700
committeryum <yum.food.vr@gmail.com>2023-09-18 21:23:14 -0700
commitc2bc70c18d2fd1c3601b32f2a93b3b4a704786a5 (patch)
treed945752abe708c5634a50b7cd0e17f9bf39d8e64 /Scripts/transcribe_v2.py
parentb037e158065bec98d91231c0c6443b63f45ec7ea (diff)
Reimplement BrowserSource as a StreamingPlugin
BrowserSource now fades text out continuously over time. TODO * Delete C++ webserver, browsersource, transcript code * Add UI for text age fading
Diffstat (limited to 'Scripts/transcribe_v2.py')
-rw-r--r--Scripts/transcribe_v2.py26
1 files changed, 3 insertions, 23 deletions
diff --git a/Scripts/transcribe_v2.py b/Scripts/transcribe_v2.py
index e8d7ef6..2bf605d 100644
--- a/Scripts/transcribe_v2.py
+++ b/Scripts/transcribe_v2.py
@@ -1,3 +1,4 @@
+from browser_src import BrowserSource
from datetime import datetime
from emotes_v2 import EmotesState
from faster_whisper import WhisperModel
@@ -5,6 +6,7 @@ from functools import partial
from profanity_filter import ProfanityFilter
from pydub import AudioSegment
from sentence_splitter import split_text_into_sentences
+from transcribe_pipeline import StreamingPlugin, TranscriptCommit
import app_config
import argparse
@@ -458,19 +460,6 @@ class Whisper:
s.avg_logprob, s.no_speech_prob, s.compression_ratio))
return res
-class TranscriptCommit:
- def __init__(self,
- delta: str,
- preview: str,
- latency_s: int = None,
- thresh_at_commit: int = None,
- audio: bytes = None):
- self.delta = delta
- self.preview = preview
- self.latency_s = latency_s
- self.thresh_at_commit = thresh_at_commit
- self.audio = audio
-
def saveAudio(audio: bytes, path: str):
with wave.open(path, 'wb') as wf:
print(f"Saving audio to {path}", file=sys.stderr)
@@ -545,16 +534,6 @@ def install_in_venv(pkgs: typing.List[str]) -> bool:
print(f"`pip install {pkgs_str}` exited with {pip_proc.returncode}",
file=sys.stderr)
-class StreamingPlugin:
- def __init__(self):
- pass
-
- def transform(self, commit: TranscriptCommit) -> TranscriptCommit:
- return commit
-
- def stop(self):
- pass
-
class TranslationPlugin(StreamingPlugin):
def __init__(self, cfg):
lang_bits = cfg["language_target"].split(" | ")
@@ -1166,6 +1145,7 @@ def run(cfg):
ctrl.plugins.append(LowercasePlugin(cfg))
ctrl.plugins.append(ProfanityPlugin(cfg))
ctrl.plugins.append(UwuPlugin(cfg))
+ ctrl.plugins.append(BrowserSource(cfg))
ctrl.filters = []
ctrl.filters.append(TrailingPeriodFilter(cfg))