github์์๋ ์ค์ง source code์ history๋ฅผ ์ ์ฅํ๊ธฐ ์ํจ. ๊ทธ๋์ ์์ ๋ ์ฝ๋๋ง ์ ๋ก๋ํ์ฌ ์ด๋ ฅ์ ๊ด๋ฆฌํ ๊ฒ์. D:\STT_V1\STT\RealtimeSTT_Button\tests\ ๊ฒฝ๋ก์ faster_whisper_model, silero_model ํด๋ ๋ฐ ๋ด๋ถ ํ์ผ์ ๋ฃ์ด์ผ ์ ์์ ์ผ๋ก ์ฝ๋๊ฐ ์๋๋ฉ๋๋ค. ํ์ํ์๋ฉด jteks6@gmail.com์ผ๋ก ์ฐ๋ฝ์ฃผ์ธ์.
v1.0 : pvporcupine ๋ชจ๋ธ wake word ํ์ฉ ์ฝ๋ ์์ pvporcupine_access_key, pvporcupine_keyword_paths ...
v1.1 : ๋ฒํผ์ ์์ฑ ์ฒ๋ฆฌ ํ๋ก์ธ์ค์์ ์ฐ์์ ์์ฑ ์ฒ๋ฆฌ ํ๋ก์ธ์ค๋ก ๋ณ๊ฒฝํ๊ณ , ์๋ฆฌ์ผ ํต์ USB PORT ์ฐ๊ฒฐ ๋๊น ์ ์ฌ์ฐ๊ฒฐ ๋ฐ๋ณต ์๋ ๊ธฐ๋ฅ ์ถ๊ฐ. qt_main.py ์ฝ๋ QT ๊ธฐ๋ฅ ์ถ๊ฐ
v1.2 : AudioToTextRecorder ํด๋์ค์ audio_data_worker process graceful shutdown, recording_worker process graceful shutdown ์ ์ฉ (์์ธ ๋ด์ฉ์ ์์ฑ์ธ์๋ชจ๋ํ๋ก๊ทธ๋จ๊ด๋ จ๊ธฐ์ _์ต๋๊ตํ_๊ฐ์ ์ฌํญ_์์ฒด๊ฐ๋ฐ excel ํ์ผ์ ๊ฐ์ ์ฌํญ 12๋ฒ, 15๋ฒ ์ฐธ๊ณ )
-
QT ํด๋ผ์ด์ธํธ
- ์์ฑ ์ธ์์ ํ์ํ ํ๋ผ๋ฏธํฐ Config ์ค์
- ๋ง์ดํฌ ์ฐ๊ฒฐ ํ์ธ, PORT ์ฐ๊ฒฐ ํ์ธ
- ์์ฑ ์ธ์ ์์ / ์ข ๋ฃ
- ์์ฑ ์ธ์ ๊ฒฐ๊ณผ ์ถ๋ ฅ ์ฐฝ / ๊ฒฐ๊ณผ ๋ฌธ๊ตฌ ์ด๊ธฐํ ๋ฒํผ
- ์์ฑ ์ธ์ ์๋๋ฆฌ์ค ์กฐํ / ์ญ์ / ์์ / ์ถ๊ฐ ๊ธฐ๋ฅ
-
์์ฑ ์ธ์ ๊ธฐ๋ฅ (AudioToTextRecorder)
- sub_processer : _audio_data_worker (sr, chunksize ์ค์ ๊ธฐ์ค ์ค๋์ค stream ์ด๊ธฐ pyaudio.PyAudio().open(...), ๋ง์ดํฌ ์ฌ์ฐ๊ฒฐ ์๋ ๊ธฐ๋ฅ)
- sub_processer : _transcription_worker (STT ๋ชจ๋ธ ๋ก๋, audio data ์ ๋ฌ๋ฐ์์ transcribe ์ฒ๋ฆฌ, transcribe ์ต์ข text ์ถ๋ก ๊ฒฐ๊ณผ ์ ๋ฌ)
- main processer : recording_thread, VAD(silero_speech)_thread, multi process parameters
-
์๋ฆฌ์ผ ํต์ ๊ธฐ๋ฅ
- ์๋ฆฌ์ผ ํต์ ์ฐ๊ฒฐ ๊ธฐ๋ฅ, USB ์ฐ๊ฒฐ ๋๊น ์ ์ฌ์ฐ๊ฒฐ ์๋ ๊ธฐ๋ฅ ํฌํจ
- ์๋ฆฌ์ผ ํต์ ์ฐ๊ฒฐ ํ MICOM ์ฅ์น์ ๋ฐ์ดํฐ ์ก/์์ ๊ธฐ๋ฅ (์์ ๋ฐ์ ๋ฐ์ดํฐ queue๋ก ๊ด๋ฆฌ)
-
์๋๋ฆฌ์ค ํ ์คํธ ๋งค์นญ ๊ธฐ๋ฅ
- 2*M / (len(inf_text) + len(scenario_text)). M : ์์ ๋งค์นญ ์
- ํฅํ M / len(scenario_text) ์๋๋ฆฌ์ค ํ ์คํธ ๊ธฐ์ค์ผ๋ก ๋งค์นญ ์ ์ฌ๋ ์ธก์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ณ๊ฒฝ ์์
- 2*M / (len(inf_text) + len(scenario_text)). M : ์์ ๋งค์นญ ์
-
qt_main.py : Main code.
- Thomas Connection ๊ฐ์ฒด ์์ฑ
- Mic Connection ๊ธฐ๋ฅ
- RealTimeSTT ๊ฐ์ฒด ์์ฑ
- scenario text matching ๊ฐ์ฒด ์์ฑ
- MICOM Sending the Event parameters
-
async_serial_protocol.py : Serial ํต์ ์ ์ํ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ์ฅํ๊ณ , ์ด๋ฒคํธ ๊ธฐ๋ฅ์ ํตํด ์ ๋ฌ ๋ฐ์ event_flag ๋ณ์๋ฅผ sendingํ๋ ํด๋์ค๋ฅผ ํฌํจํ๋ src
- MICOM Connection / Reconnection, parameters ์ก/์์
-
text_similarity.py : Senario reference์ Prediction text ๊ฐ์ ์ ์ฌ๋๋ฅผ ๊ณ์ฐํ๋ ๋ณ์์ ํจ์๊ฐ ๊ตฌํ๋ ํด๋์ค๋ฅผ ํฌํจํ๋ src.
-
utils.py : ๊ธฐํ ์ฒ๋ฆฌ ๊ธฐ๋ฅ๋ค์ด ํฌํจ๋๋ src.
- event_matching
- list_input_devices
- check_mic_connection
-
params.py : ์๋๋ฆฌ์ค์ reference text ๋ฐ ์ ์ญ parameters๊ฐ ํฌํจ๋๋ src.
- recorder_config.yaml ํ์ผ์ config ํ๋ผ๋ฏธํฐ ์ ๋ณด๋ฅผ ์ฝ์ด์์ ์ด๊ธฐํ.
- ์๋๊ฒฝ๋ก๊ฐ ํ์ํ ํ๋ผ๋ฏธํฐ์ ์๋๊ฒฝ๋ก ์ ์ฉ
- ํ๋ก๊ทธ๋จ์์ ๊ด๋ จ ํ๋ผ๋ฏธํฐ ์ ๋ฐ์ดํธ ์ ํ๋ผ๋ฏธํฐ ์ ๋ฐ์ดํธ ์ฒ๋ฆฌ
-
recorder_config.yaml : ํ๋ก๊ทธ๋จ์ ํ์ ํ๋ผ๋ฏธํฐ ์ค์ ๊ฐ ์ธํ