Skip to content

sangheonEN/Thomas_Control_Automatic_Speech_Recognition

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

12 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

github์—์„œ๋Š” ์˜ค์ง source code์˜ history๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•จ. ๊ทธ๋ž˜์„œ ์ˆ˜์ •๋œ ์ฝ”๋“œ๋งŒ ์—…๋กœ๋“œํ•˜์—ฌ ์ด๋ ฅ์„ ๊ด€๋ฆฌํ• ๊ฒƒ์ž„. D:\STT_V1\STT\RealtimeSTT_Button\tests\ ๊ฒฝ๋กœ์— faster_whisper_model, silero_model ํด๋” ๋ฐ ๋‚ด๋ถ€ ํŒŒ์ผ์„ ๋„ฃ์–ด์•ผ ์ •์ƒ์ ์œผ๋กœ ์ฝ”๋“œ๊ฐ€ ์ž‘๋™๋ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•˜์‹œ๋ฉด jteks6@gmail.com์œผ๋กœ ์—ฐ๋ฝ์ฃผ์„ธ์š”.

VERSION ์—…๋ฐ์ดํŠธ ์„ค๋ช…

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๋ฒˆ ์ฐธ๊ณ )

๊ธฐ๋Šฅ ์„ค๋ช…

  1. QT ํด๋ผ์ด์–ธํŠธ

    1. ์Œ์„ฑ ์ธ์‹์— ํ•„์š”ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ Config ์„ค์ •
    2. ๋งˆ์ดํฌ ์—ฐ๊ฒฐ ํ™•์ธ, PORT ์—ฐ๊ฒฐ ํ™•์ธ
    3. ์Œ์„ฑ ์ธ์‹ ์‹œ์ž‘ / ์ข…๋ฃŒ
    4. ์Œ์„ฑ ์ธ์‹ ๊ฒฐ๊ณผ ์ถœ๋ ฅ ์ฐฝ / ๊ฒฐ๊ณผ ๋ฌธ๊ตฌ ์ดˆ๊ธฐํ™” ๋ฒ„ํŠผ
    5. ์Œ์„ฑ ์ธ์‹ ์‹œ๋‚˜๋ฆฌ์˜ค ์กฐํšŒ / ์‚ญ์ œ / ์ˆ˜์ • / ์ถ”๊ฐ€ ๊ธฐ๋Šฅ
  2. ์Œ์„ฑ ์ธ์‹ ๊ธฐ๋Šฅ (AudioToTextRecorder)

    1. sub_processer : _audio_data_worker (sr, chunksize ์„ค์ • ๊ธฐ์ค€ ์˜ค๋””์˜ค stream ์—ด๊ธฐ pyaudio.PyAudio().open(...), ๋งˆ์ดํฌ ์žฌ์—ฐ๊ฒฐ ์‹œ๋„ ๊ธฐ๋Šฅ)
    2. sub_processer : _transcription_worker (STT ๋ชจ๋ธ ๋กœ๋“œ, audio data ์ „๋‹ฌ๋ฐ›์•„์„œ transcribe ์ฒ˜๋ฆฌ, transcribe ์ตœ์ข… text ์ถ”๋ก  ๊ฒฐ๊ณผ ์ „๋‹ฌ)
    3. main processer : recording_thread, VAD(silero_speech)_thread, multi process parameters
  3. ์‹œ๋ฆฌ์–ผ ํ†ต์‹  ๊ธฐ๋Šฅ

    1. ์‹œ๋ฆฌ์–ผ ํ†ต์‹  ์—ฐ๊ฒฐ ๊ธฐ๋Šฅ, USB ์—ฐ๊ฒฐ ๋Š๊น€ ์‹œ ์žฌ์—ฐ๊ฒฐ ์‹œ๋„ ๊ธฐ๋Šฅ ํฌํ•จ
    2. ์‹œ๋ฆฌ์–ผ ํ†ต์‹  ์—ฐ๊ฒฐ ํ›„ MICOM ์žฅ์น˜์™€ ๋ฐ์ดํ„ฐ ์†ก/์ˆ˜์‹  ๊ธฐ๋Šฅ (์ˆ˜์‹  ๋ฐ›์€ ๋ฐ์ดํ„ฐ queue๋กœ ๊ด€๋ฆฌ)
  4. ์‹œ๋‚˜๋ฆฌ์˜ค ํ…์ŠคํŠธ ๋งค์นญ ๊ธฐ๋Šฅ

    1. 2*M / (len(inf_text) + len(scenario_text)). M : ์Œ์ ˆ ๋งค์นญ ์ˆ˜
      • ํ–ฅํ›„ M / len(scenario_text) ์‹œ๋‚˜๋ฆฌ์˜ค ํ…์ŠคํŠธ ๊ธฐ์ค€์œผ๋กœ ๋งค์นญ ์œ ์‚ฌ๋„ ์ธก์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ณ€๊ฒฝ ์˜ˆ์ •

source description.

  1. qt_main.py : Main code.

    1. Thomas Connection ๊ฐ์ฒด ์ƒ์„ฑ
    2. Mic Connection ๊ธฐ๋Šฅ
    3. RealTimeSTT ๊ฐ์ฒด ์ƒ์„ฑ
    4. scenario text matching ๊ฐ์ฒด ์ƒ์„ฑ
    5. MICOM Sending the Event parameters
  2. async_serial_protocol.py : Serial ํ†ต์‹ ์„ ์œ„ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ , ์ด๋ฒคํŠธ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์ „๋‹ฌ ๋ฐ›์€ event_flag ๋ณ€์ˆ˜๋ฅผ sendingํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ํฌํ•จํ•˜๋Š” src

    1. MICOM Connection / Reconnection, parameters ์†ก/์ˆ˜์‹ 
  3. text_similarity.py : Senario reference์™€ Prediction text ๊ฐ„์˜ ์œ ์‚ฌ๋„๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜๊ฐ€ ๊ตฌํ˜„๋œ ํด๋ž˜์Šค๋ฅผ ํฌํ•จํ•˜๋Š” src.

  4. utils.py : ๊ธฐํƒ€ ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ๋“ค์ด ํฌํ•จ๋˜๋Š” src.

    1. event_matching
    2. list_input_devices
    3. check_mic_connection
  5. params.py : ์‹œ๋‚˜๋ฆฌ์˜ค์— reference text ๋ฐ ์ „์—ญ parameters๊ฐ€ ํฌํ•จ๋˜๋Š” src.

    1. recorder_config.yaml ํŒŒ์ผ์˜ config ํŒŒ๋ผ๋ฏธํ„ฐ ์ •๋ณด๋ฅผ ์ฝ์–ด์™€์„œ ์ดˆ๊ธฐํ™”.
    2. ์ƒ๋Œ€๊ฒฝ๋กœ๊ฐ€ ํ•„์š”ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ์— ์ƒ๋Œ€๊ฒฝ๋กœ ์ ์šฉ
    3. ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ด€๋ จ ํŒŒ๋ผ๋ฏธํ„ฐ ์—…๋ฐ์ดํŠธ ์‹œ ํŒŒ๋ผ๋ฏธํ„ฐ ์—…๋ฐ์ดํŠธ ์ฒ˜๋ฆฌ
  6. recorder_config.yaml : ํ”„๋กœ๊ทธ๋žจ์— ํ•„์š” ํŒŒ๋ผ๋ฏธํ„ฐ ์„ค์ • ๊ฐ’ ์„ธํŒ…

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published