diff options
| author | yum <yum.food.vr@gmail.com> | 2023-05-24 23:07:07 -0700 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2023-05-24 23:07:07 -0700 |
| commit | eed2e8915d83796679c0b7a3ea9121d329ceddab (patch) | |
| tree | 3a3e9d5fb009d651051bcc9cc9f8f22cc940cd8c /Scripts/transcribe.py | |
| parent | 3dd5e839449f5056ca9493c0eab6a3e02fe1e86e (diff) | |
Add more text filters
Add 3 filters:
* Remove trailing period
* Convert to uppercase
* Convert to lowercase
All may be composed. Upper/lower just overwrite each other so just use
one.
Diffstat (limited to 'Scripts/transcribe.py')
| -rw-r--r-- | Scripts/transcribe.py | 53 |
1 files changed, 49 insertions, 4 deletions
diff --git a/Scripts/transcribe.py b/Scripts/transcribe.py index 49dcc81..7ba80dc 100644 --- a/Scripts/transcribe.py +++ b/Scripts/transcribe.py @@ -217,7 +217,14 @@ def transcribe(audio_state, model, frames, use_cpu: bool): return "".join(s.text for s in segments) -def transcribeAudio(audio_state, model, use_cpu: bool, enable_uwu_filter: bool): +def transcribeAudio(audio_state, + model, + use_cpu: bool, + enable_uwu_filter: bool, + remove_trailing_period: bool, + enable_uppercase_filter: bool, + enable_lowercase_filter: bool, + ): last_transcribe_time = time.time() while audio_state.run_app == True: # Pace this out @@ -267,6 +274,13 @@ def transcribeAudio(audio_state, model, use_cpu: bool, enable_uwu_filter: bool): uwu_text = uwu_text.replace("\n", "") uwu_text = uwu_text.replace("\r", "") filtered_text = uwu_text + if remove_trailing_period: + if len(filtered_text) > 0 and filtered_text[-1] == '.': + filtered_text = filtered_text[0:len(filtered_text)-1] + if enable_uppercase_filter: + filtered_text = filtered_text.upper() + if enable_lowercase_filter: + filtered_text = filtered_text.lower() audio_state.filtered_text = filtered_text now = time.time() @@ -484,6 +498,9 @@ def transcribeLoop(mic: str, use_cpu: bool, use_builtin: bool, enable_uwu_filter: bool, + remove_trailing_period: bool, + enable_uppercase_filter: bool, + enable_lowercase_filter: bool, button: str, estate: EmotesState, window_duration_s: int, @@ -516,7 +533,9 @@ def transcribeLoop(mic: str, transcribe_audio_thd = threading.Thread( target = transcribeAudio, - args = [audio_state, model, use_cpu, enable_uwu_filter]) + args = [audio_state, model, use_cpu, enable_uwu_filter, + remove_trailing_period, enable_uppercase_filter, + enable_lowercase_filter]) transcribe_audio_thd.daemon = True transcribe_audio_thd.start() @@ -581,6 +600,9 @@ if __name__ == "__main__": parser.add_argument("--cpu", type=int, help="If set to 1, use CPU instead of GPU") parser.add_argument("--use_builtin", type=int, help="If set to 1, use the text box built into the game.") parser.add_argument("--enable_uwu_filter", type=int, help="If set to 1, transcribed text will be passed through an uwu filter :3.") + parser.add_argument("--remove_trailing_period", type=int, help="If set to 1, trailing period will be removed.") + parser.add_argument("--enable_uppercase_filter", type=int, help="If set to 1, transcriptions will be converted to UPPERCASE.") + parser.add_argument("--enable_lowercase_filter", type=int, help="If set to 1, transcriptions will be converted to lowercase.") parser.add_argument("--button", type=str, help="The controller button used to start/stop transcription. E.g. \"left joystick\"") parser.add_argument("--emotes_pickle", type=str, help="The path to emotes pickle. See emotes_v2.py for details.") parser.add_argument("--gpu_idx", type=str, help="The index of the GPU device to use. On single GPU systems, use 0.") @@ -636,6 +658,21 @@ if __name__ == "__main__": else: args.enable_uwu_filter = False + if args.remove_trailing_period == 1: + args.remove_trailing_period = True + else: + args.remove_trailing_period = False + + if args.enable_uppercase_filter == 1: + args.enable_uppercase_filter = True + else: + args.enable_uppercase_filter = False + + if args.enable_lowercase_filter == 1: + args.enable_lowercase_filter = True + else: + args.enable_lowercase_filter = False + estate = EmotesState() estate.load(args.emotes_pickle) @@ -646,8 +683,16 @@ if __name__ == "__main__": print(f"PATH: {os.environ['PATH']}") - transcribeLoop(args.mic, args.language, args.model, args.enable_local_beep, - args.cpu, args.use_builtin, args.enable_uwu_filter, args.button, + transcribeLoop(args.mic, + args.language, + args.model, + args.enable_local_beep, + args.cpu, args.use_builtin, + args.enable_uwu_filter, + args.remove_trailing_period, + args.enable_uppercase_filter, + args.enable_lowercase_filter, + args.button, estate, window_duration_s, args.gpu_idx, args.keybind) |
