GameSentenceMiner 2.15.3__py3-none-any.whl → 2.15.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- GameSentenceMiner/config_gui.py +53 -26
- GameSentenceMiner/gsm.py +2 -2
- GameSentenceMiner/locales/en_us.json +4 -0
- GameSentenceMiner/locales/ja_jp.json +4 -0
- GameSentenceMiner/locales/zh_cn.json +4 -0
- GameSentenceMiner/obs.py +234 -226
- GameSentenceMiner/ocr/owocr_helper.py +80 -15
- GameSentenceMiner/owocr/owocr/ocr.py +15 -3
- GameSentenceMiner/owocr/owocr/run.py +82 -60
- GameSentenceMiner/util/configuration.py +1 -0
- GameSentenceMiner/util/get_overlay_coords.py +0 -1
- GameSentenceMiner/vad.py +7 -3
- {gamesentenceminer-2.15.3.dist-info → gamesentenceminer-2.15.5.dist-info}/METADATA +3 -2
- {gamesentenceminer-2.15.3.dist-info → gamesentenceminer-2.15.5.dist-info}/RECORD +18 -18
- {gamesentenceminer-2.15.3.dist-info → gamesentenceminer-2.15.5.dist-info}/WHEEL +0 -0
- {gamesentenceminer-2.15.3.dist-info → gamesentenceminer-2.15.5.dist-info}/entry_points.txt +0 -0
- {gamesentenceminer-2.15.3.dist-info → gamesentenceminer-2.15.5.dist-info}/licenses/LICENSE +0 -0
- {gamesentenceminer-2.15.3.dist-info → gamesentenceminer-2.15.5.dist-info}/top_level.txt +0 -0
GameSentenceMiner/config_gui.py
CHANGED
@@ -379,6 +379,7 @@ class ConfigApp:
|
|
379
379
|
self.ai_enabled_value = tk.BooleanVar(value=self.settings.ai.enabled)
|
380
380
|
self.ai_provider_value = tk.StringVar(value=self.settings.ai.provider)
|
381
381
|
self.gemini_model_value = tk.StringVar(value=self.settings.ai.gemini_model)
|
382
|
+
self.use_cpu_for_inference_value = tk.BooleanVar(value=self.settings.vad.use_cpu_for_inference)
|
382
383
|
self.groq_model_value = tk.StringVar(value=self.settings.ai.groq_model)
|
383
384
|
self.gemini_api_key_value = tk.StringVar(value=self.settings.ai.gemini_api_key)
|
384
385
|
self.groq_api_key_value = tk.StringVar(value=self.settings.ai.groq_api_key)
|
@@ -592,6 +593,7 @@ class ConfigApp:
|
|
592
593
|
language=self.language_value.get(),
|
593
594
|
cut_and_splice_segments=self.cut_and_splice_segments_value.get(),
|
594
595
|
splice_padding=float(self.splice_padding_value.get()) if self.splice_padding_value.get() else 0.0,
|
596
|
+
use_cpu_for_inference=self.use_cpu_for_inference_value.get(),
|
595
597
|
),
|
596
598
|
advanced=Advanced(
|
597
599
|
audio_player_path=self.audio_player_path_value.get(),
|
@@ -1137,12 +1139,11 @@ class ConfigApp:
|
|
1137
1139
|
ttk.Entry(vad_frame, textvariable=self.splice_padding_value).grid(row=self.current_row, column=3, sticky='EW', pady=2)
|
1138
1140
|
self.current_row += 1
|
1139
1141
|
|
1140
|
-
|
1141
|
-
|
1142
|
-
|
1143
|
-
|
1144
|
-
|
1145
|
-
return vad_frame
|
1142
|
+
# Force CPU for Whisper
|
1143
|
+
use_cpu_i18n = vad_i18n.get('use_cpu_for_inference', {})
|
1144
|
+
HoverInfoLabelWidget(vad_frame, text=use_cpu_i18n.get('label', 'Force CPU'), tooltip=use_cpu_i18n.get('tooltip', 'Even if CUDA is installed, use CPU for Whisper'), row=self.current_row, column=0)
|
1145
|
+
ttk.Checkbutton(vad_frame, variable=self.use_cpu_for_inference_value, bootstyle="round-toggle").grid(row=self.current_row, column=1, sticky='W', pady=2)
|
1146
|
+
self.current_row += 1
|
1146
1147
|
|
1147
1148
|
@new_tab
|
1148
1149
|
def create_paths_tab(self):
|
@@ -1224,8 +1225,10 @@ class ConfigApp:
|
|
1224
1225
|
|
1225
1226
|
self.add_reset_button(paths_frame, "paths", self.current_row, 0, self.create_paths_tab)
|
1226
1227
|
|
1227
|
-
for col in range(3):
|
1228
|
-
|
1228
|
+
for col in range(3):
|
1229
|
+
paths_frame.grid_columnconfigure(col, weight=0)
|
1230
|
+
for row in range(self.current_row):
|
1231
|
+
paths_frame.grid_rowconfigure(row, minsize=30)
|
1229
1232
|
|
1230
1233
|
return paths_frame
|
1231
1234
|
|
@@ -1368,8 +1371,10 @@ class ConfigApp:
|
|
1368
1371
|
|
1369
1372
|
self.add_reset_button(anki_frame, "anki", self.current_row, 0, self.create_anki_tab)
|
1370
1373
|
|
1371
|
-
for col in range(2):
|
1372
|
-
|
1374
|
+
for col in range(2):
|
1375
|
+
anki_frame.grid_columnconfigure(col, weight=0)
|
1376
|
+
for row in range(self.current_row):
|
1377
|
+
anki_frame.grid_rowconfigure(row, minsize=30)
|
1373
1378
|
|
1374
1379
|
return anki_frame
|
1375
1380
|
|
@@ -1431,8 +1436,10 @@ class ConfigApp:
|
|
1431
1436
|
|
1432
1437
|
self.add_reset_button(features_frame, "features", self.current_row, 0, self.create_features_tab)
|
1433
1438
|
|
1434
|
-
for col in range(3):
|
1435
|
-
|
1439
|
+
for col in range(3):
|
1440
|
+
features_frame.grid_columnconfigure(col, weight=0)
|
1441
|
+
for row in range(self.current_row):
|
1442
|
+
features_frame.grid_rowconfigure(row, minsize=30)
|
1436
1443
|
|
1437
1444
|
return features_frame
|
1438
1445
|
|
@@ -1533,8 +1540,10 @@ class ConfigApp:
|
|
1533
1540
|
|
1534
1541
|
self.add_reset_button(screenshot_frame, "screenshot", self.current_row, 0, self.create_screenshot_tab)
|
1535
1542
|
|
1536
|
-
for col in range(3):
|
1537
|
-
|
1543
|
+
for col in range(3):
|
1544
|
+
screenshot_frame.grid_columnconfigure(col, weight=0)
|
1545
|
+
for row in range(self.current_row):
|
1546
|
+
screenshot_frame.grid_rowconfigure(row, minsize=30)
|
1538
1547
|
|
1539
1548
|
return screenshot_frame
|
1540
1549
|
|
@@ -1647,8 +1656,10 @@ class ConfigApp:
|
|
1647
1656
|
|
1648
1657
|
self.add_reset_button(audio_frame, "audio", self.current_row, 0, self.create_audio_tab)
|
1649
1658
|
|
1650
|
-
for col in range(5):
|
1651
|
-
|
1659
|
+
for col in range(5):
|
1660
|
+
audio_frame.grid_columnconfigure(col, weight=0)
|
1661
|
+
for row in range(self.current_row):
|
1662
|
+
audio_frame.grid_rowconfigure(row, minsize=30)
|
1652
1663
|
|
1653
1664
|
return audio_frame
|
1654
1665
|
|
@@ -1752,8 +1763,10 @@ class ConfigApp:
|
|
1752
1763
|
|
1753
1764
|
self.add_reset_button(obs_frame, "obs", self.current_row, 0, self.create_obs_tab)
|
1754
1765
|
|
1755
|
-
for col in range(3):
|
1756
|
-
|
1766
|
+
for col in range(3):
|
1767
|
+
obs_frame.grid_columnconfigure(col, weight=0)
|
1768
|
+
for row in range(self.current_row):
|
1769
|
+
obs_frame.grid_rowconfigure(row, minsize=30)
|
1757
1770
|
|
1758
1771
|
return obs_frame
|
1759
1772
|
|
@@ -1814,8 +1827,10 @@ class ConfigApp:
|
|
1814
1827
|
row=self.current_row, column=1, sticky='W', pady=2)
|
1815
1828
|
self.current_row += 1
|
1816
1829
|
|
1817
|
-
for col in range(4):
|
1818
|
-
|
1830
|
+
for col in range(4):
|
1831
|
+
profiles_frame.grid_columnconfigure(col, weight=0)
|
1832
|
+
for row in range(self.current_row):
|
1833
|
+
profiles_frame.grid_rowconfigure(row, minsize=30)
|
1819
1834
|
|
1820
1835
|
return profiles_frame
|
1821
1836
|
|
@@ -1945,8 +1960,10 @@ class ConfigApp:
|
|
1945
1960
|
|
1946
1961
|
self.add_reset_button(advanced_frame, "advanced", self.current_row, 0, self.create_advanced_tab)
|
1947
1962
|
|
1948
|
-
for col in range(4):
|
1949
|
-
|
1963
|
+
for col in range(4):
|
1964
|
+
advanced_frame.grid_columnconfigure(col, weight=0)
|
1965
|
+
for row in range(self.current_row):
|
1966
|
+
advanced_frame.grid_rowconfigure(row, minsize=30)
|
1950
1967
|
|
1951
1968
|
return advanced_frame
|
1952
1969
|
|
@@ -1997,6 +2014,12 @@ class ConfigApp:
|
|
1997
2014
|
self.groq_models_combobox = ttk.Combobox(ai_frame, textvariable=self.groq_model_value, values=RECOMMENDED_GROQ_MODELS, state="readonly")
|
1998
2015
|
self.groq_models_combobox.grid(row=self.current_row, column=1, sticky='EW', pady=2)
|
1999
2016
|
self.current_row += 1
|
2017
|
+
|
2018
|
+
# Force CPU for Whisper
|
2019
|
+
use_cpu_i18n = ai_i18n.get('use_cpu_for_inference', {})
|
2020
|
+
HoverInfoLabelWidget(ai_frame, text=use_cpu_i18n.get('label', 'Force CPU'), tooltip=use_cpu_i18n.get('tooltip', 'Even if CUDA is installed, use CPU for Whisper'), row=self.current_row, column=0)
|
2021
|
+
ttk.Checkbutton(ai_frame, variable=self.use_cpu_for_inference_value, bootstyle="round-toggle").grid(row=self.current_row, column=1, sticky='W', pady=2)
|
2022
|
+
self.current_row += 1
|
2000
2023
|
|
2001
2024
|
groq_key_i18n = ai_i18n.get('groq_api_key', {})
|
2002
2025
|
HoverInfoLabelWidget(ai_frame, text=groq_key_i18n.get('label', '...'), tooltip=groq_key_i18n.get('tooltip', '...'),
|
@@ -2067,8 +2090,10 @@ class ConfigApp:
|
|
2067
2090
|
|
2068
2091
|
self.add_reset_button(ai_frame, "ai", self.current_row, 0, self.create_ai_tab)
|
2069
2092
|
|
2070
|
-
for col in range(3):
|
2071
|
-
|
2093
|
+
for col in range(3):
|
2094
|
+
ai_frame.grid_columnconfigure(col, weight=0)
|
2095
|
+
for row in range(self.current_row):
|
2096
|
+
ai_frame.grid_rowconfigure(row, minsize=30)
|
2072
2097
|
|
2073
2098
|
return ai_frame
|
2074
2099
|
|
@@ -2245,8 +2270,10 @@ class ConfigApp:
|
|
2245
2270
|
|
2246
2271
|
self.add_reset_button(wip_frame, "wip", self.current_row, 0, self.create_wip_tab)
|
2247
2272
|
|
2248
|
-
for col in range(2):
|
2249
|
-
|
2273
|
+
for col in range(2):
|
2274
|
+
wip_frame.grid_columnconfigure(col, weight=0)
|
2275
|
+
for row in range(self.current_row):
|
2276
|
+
wip_frame.grid_rowconfigure(row, minsize=30)
|
2250
2277
|
|
2251
2278
|
return wip_frame
|
2252
2279
|
|
GameSentenceMiner/gsm.py
CHANGED
@@ -663,10 +663,10 @@ def initialize_text_monitor():
|
|
663
663
|
|
664
664
|
def async_loop():
|
665
665
|
async def loop():
|
666
|
-
|
666
|
+
logger.info("Post-Initialization started.")
|
667
|
+
await obs.connect_to_obs(connections=3, check_output=True)
|
667
668
|
await register_scene_switcher_callback()
|
668
669
|
await check_obs_folder_is_correct()
|
669
|
-
logger.info("Post-Initialization started.")
|
670
670
|
vad_processor.init()
|
671
671
|
# if is_beangate:
|
672
672
|
# await run_test_code()
|
@@ -260,6 +260,10 @@
|
|
260
260
|
"splice_padding": {
|
261
261
|
"label": "Padding:",
|
262
262
|
"tooltip": "Cut Detected Voice Segments and Paste them back together. More Padding = More Space between voicelines."
|
263
|
+
},
|
264
|
+
"use_cpu_for_inference": {
|
265
|
+
"label": "Force CPU:",
|
266
|
+
"tooltip": "Even if CUDA is installed, use CPU for Whisper"
|
263
267
|
}
|
264
268
|
},
|
265
269
|
"features": {
|