Code Monkey home page Code Monkey logo

voicerecognization's Introduction

๐Ÿ† KTL์ฃผ๊ด€ 2023 ์Œ์„ฑ์ธ์‹ ์–ด์›Œ๋“œ 3์œ„ ์ˆ˜์ƒ์ž‘

ํ•œ๊ตญ์‚ฐ์—…๊ธฐ์ˆ ์‹œํ—˜์›

  • ๋ถ€๋ฌธ:๊ฐ€์ „๋กœ๋ด‡ ์Œ์„ฑ์ธ์‹ ์ฑŒ๋ฆฐ์ง€
  • ํ‰๊ฐ€ ์žฅ๋น„: ์Œ์„ฑ์ธ์‹ ์ฑ”๋ฒ„, ๋น„์ „์ธ์‹ ์ฑ”๋ฒ„
  • ํ‰๊ฐ€ ๊ธฐ์ค€: KS B 6970 (์‹ค๋‚ด ์„œ๋น„์Šค ๋กœ๋ด‡์„ ์œ„ํ•œ ์Œ์„ฑ์ธ์‹ ์„ฑ๋Šฅํ‰๊ฐ€๋ฐฉ๋ฒ• ํ‘œ์ค€)
  • ์ฑŒ๋ฆฐ์ง€ ๋‚ด์šฉ:
    • ๋ฏธ์…˜1 ์Œ์„ฑ๋ช…๋ น์–ด ์ธ์‹: ๋ฐœํ™” ๊ฑฐ๋ฆฌ ๋ฐ ์œ„์น˜๋ฅผ ๋‹ฌ๋ฆฌํ•œ ์กฐ๊ฑด์—์„œ์˜ ์ธ์‹๋ฅ , ๊ฑฐ์ ˆ๋ฅ , ์˜ค์ธ์‹๋ฅ  ํ‰๊ฐ€
    • ๋ฏธ์…˜2 ์‘์šฉ๋ฏธ์…˜: ๊ฐ€์ „๋กœ๋ด‡์˜ ๋‹ค์–‘ํ•œ ์Œ์„ฑ ๋ช…๋ น ์ˆ˜ํ–‰ ๋Šฅ๋ ฅ ํ‰๊ฐ€

๋ชฉ์ฐจ

ํ”„๋กœ์ ํŠธ ์š”์•ฝ

  • ์ค€๋น„๊ธฐ๊ฐ„: 2023.10.29 ~ 2023.11.03
  • ๊ธฐ์ˆ  ์Šคํƒ: Python Version Platform Ubuntu Version
  • ํ•ต์‹ฌ ํ‚ค์›Œ๋“œ

์˜ค๋””์˜ค ๋ฐ์ดํ„ฐ, ์Œ์„ฑ ์ธ์‹, ๋ฐ์ดํ„ฐ ์ธ์ฝ”๋”ฉ, ์ƒ˜ํ”Œ๋ง rate, ๋ฐ์ดํ„ฐ chunk, ์‹ค์‹œ๊ฐ„ API, Speech To Text, ์œ ์‚ฌ๋„ ๋น„๊ต, SequenceMatcher, ๋ฐ˜๋ณต๋ฌธ ์ตœ์ ํ™”

image

# ์˜ค๋””์˜ค ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ํ”„๋กœ์„ธ์Šค

## ๋ชฉ์ 
- ์˜ค๋””์˜ค ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ DataSet ๋‚ด์˜ ์ฃผ์–ด์ง„ ์Œ์„ฑ๊ณผ ๋งค์นญํ•ฉ๋‹ˆ๋‹ค.

## ์ฃผ์š” ์ฒ˜๋ฆฌ ๊ณผ์ •
1. **์Œ์„ฑ ์ธ์‹:** ์ž…๋ ฅ๋œ ์˜ค๋””์˜ค ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ์Œ์„ฑ์„ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค.
2. **๋ฐ์ดํ„ฐ ์ธ์ฝ”๋”ฉ:** ์ธ์‹๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชฉ์ ์— ๋งž๊ฒŒ ์ธ์ฝ”๋”ฉํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฝ”๋”ฉ ๊ณผ์ •์—์„œ ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
   - `rate`: ๋ถ„๋‹น ์ƒ˜ํ”Œ๋ง ํšŸ์ˆ˜๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
   - `chunk`: ๋ฐ์ดํ„ฐ ๋ฌถ์Œ์˜ ๋‹จ์œ„์ž…๋‹ˆ๋‹ค. ์ด ๋‹จ์œ„๋กœ ๋ฐ์ดํ„ฐ ์—ฐ์‚ฐ์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
3. **์‹ค์‹œ๊ฐ„ API ํ˜ธ์ถœ:** ์ธ์ฝ”๋”ฉ๋œ ๋ฐ์ดํ„ฐ๋กœ ์‹ค์‹œ๊ฐ„ API ํ˜ธ์ถœ์„ ํ†ตํ•ด Speech To Text ๋ณ€ํ™˜์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
4. **์œ ์‚ฌ๋„ ๋น„๊ต:** SequenceMatcher ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์‹๋œ ํ…์ŠคํŠธ๋ฅผ ์ œํ•œ๋œ DataSet๊ณผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.
5. **๊ฒฐ๊ณผ ๋„์ถœ:**
   - DataSet ์•ˆ์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์™€ ๋น„๊ตํ•˜์—ฌ ๊ฐ€์žฅ ๋†’์€ ์œ ์‚ฌ๋„๋ฅผ ๊ฐ€์ง„ ๋ฌธ์žฅ์„ ์ฐพ์•„๋ƒ…๋‹ˆ๋‹ค.
   - ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด, ์ธ์‹๋œ ํ…์ŠคํŠธ๊ฐ€ DataSet์— ํฌํ•จ๋˜๋Š” ๊ฒฝ์šฐ ๋ฐ˜๋ณต๋ฌธ์„ ์กฐ๊ธฐ ์ข…๋ฃŒํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค์˜ ํšจ์œจ์„ ๋†’์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ์ง„ํ–‰์ƒ์˜ ๋‚œ๊ด€

  • ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด ๋ฌธ์ œ
    • ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด ์ „์› ๊ณต๊ธ‰ ๋ถˆ๋Ÿ‰
    • ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด wifi ์„ธํŒ…
  • ํ˜‘์—… ์‹œ ์—ญํ•  ๋ถ„๋ฐฐ๊ฐ€ ์ œ๋Œ€๋กœ ์ด๋ค„์ง€์ง€ ์•Š์Œ.
  • ํ”„๋กœ์ ํŠธ ์ง„ํ–‰์‹œ ํŒ€์›๊ฐ„์˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜
  • ์šฐ๋ถ„ํˆฌ ์ตœ์‹ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (ex. ROS)
  • ๊ฐ€์ƒ ํ™˜๊ฒฝ ์ด์šฉ์˜ ํ•„์š”์„ฑ (์ผ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๊ฐ€์ƒํ™˜๊ฒฝ์—†์ด ์„ค์น˜ ๋ถˆ๊ฐ€ํ•˜์˜€์Œ)

ํ”ผ๋“œ๋ฐฑ

๐Ÿ“Œํ”„๋กœ์ ํŠธ ๋‚œ๊ด€

  • ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด ๋ฌธ์ œ

    • ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด ์ „์› ๊ณต๊ธ‰ ๋ถˆ๋Ÿ‰ -> ์ œํ’ˆ๋ถˆ๋Ÿ‰์„ ์˜์‹ฌํ•˜๊ธฐ๋ณด๋‹จ ์กฐ๋ฆฝ ์ž˜ํ–ˆ๋Š”์ง€ ์žฌ๊ฒ€ํ†  ํ•„์š”.
    • ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด wifi ์„ธํŒ… -> ์œ ๋™์  wifi ํ™˜๊ฒฝ์—์„œ ssh ์„ธํŒ…์„ ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ์ง€ ํ•ด๊ฒฐ๋ฐฉ์•ˆ ์ฐพ์•„์•ผํ•จ.
  • ํ˜‘์—… ์‹œ ์—ญํ•  ๋ถ„๋ฐฐ๊ฐ€ ์ œ๋Œ€๋กœ ์ด๋ค„์ง€์ง€ ์•Š์Œ -> ํŒ€์›์˜ ์ „๋ฌธ์„ฑ ์ •๋„๋ฅผ ๋จผ์ € ํŒŒ์•…ํ•˜๊ณ  ์„ ํ˜ธ๋„๋ฅผ ๊ณ ๋ ค ํ›„ ์—ญํ•  ์žฌ๋ถ„๋ฐฐ, ์—ญํ• ์„ ์ •ํ™•ํžˆ ์ง€์ •ํ•˜๋Š”๊ฒŒ ์ค‘์š”ํ• ๋“ฏ. ์ •๊ธฐ์ ์ธ ๋ฏธํŒ….

  • ํŒ€์›๊ฐ„์˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๊ฒฐ์—ฌ -> ์ •๊ธฐ์ ์ธ ๋ฏธํŒ… ์•ฝ์†ํ•˜๊ธฐ.

  • ์šฐ๋ถ„ํˆฌ ์ตœ์‹ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (ex. ROS) -> ์šฐ๋ถ„ํˆฌ LTS ๋ฒ„์ „ ์‚ฌ์šฉ

  • ๊ฐ€์ƒ ํ™˜๊ฒฝ ์ด์šฉ์˜ ํ•„์š”์„ฑ:

    sudo apt-get update
    sudo apt-get install python3-venv
    python3 -m venv myenv
    source myenv/bin/activate

๐Ÿ“Œ์Œ์„ฑ์ธ์‹๋ฅ  ๊ฐœ์„  ๋ฐฉํ–ฅ

  • ํ˜„์žฌ ์ƒํƒœ (AS-IS)

    • ์ธ์‹๋ฅ ์ด 50%๋กœ ๋‚ฎ์Œ: 100๋ฒˆ์˜ ์Œ์„ฑ input ์ค‘ 50๋ฒˆ๋งŒ ์ •ํ™•ํ•œ ํ…์ŠคํŠธ output์„ ์ƒ์„ฑ.
    • case0: ์Œ์„ฑ์ด ์ „ํ˜€ ์ธ์‹๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ๋ฐœ์ƒ.
    • case1: ์Œ์„ฑ์˜ ์ผ๋ถ€๊ฐ€ ๋ˆ„๋ฝ: โ€œ์—์–ด์ปจ 7๋ฒˆโ€์˜ ์ž…๋ ฅ์—์„œ โ€œ์—์–ด์ปจโ€๋งŒ ํ…์ŠคํŠธ๋กœ ๋ณ€ํ™˜.
    • case2: ์Œ์„ฑ์˜ ์ผ๋ถ€๋งŒ ์ธ์‹: โ€œ๋ณด์ผ๋Ÿฌ์ž‘๋™์‹œ์ž‘โ€์˜ ์ž…๋ ฅ์—์„œ โ€œ์‹œ์ž‘โ€๋งŒ ํ…์ŠคํŠธ๋กœ ๋ณ€ํ™˜.
  • ๋ชฉํ‘œ ์ƒํƒœ (TO-BE)

    • ์ธ์‹๋ฅ  ํ–ฅ์ƒ: ์ž…๋ ฅ๋œ ์Œ์„ฑ์˜ 100%์— ์ˆ˜๋ ดํ•˜๊ฒŒ ํ…์ŠคํŠธ๋กœ ๋ณ€ํ™˜๋˜์–ด์•ผ ํ•จ.
    • ์˜ค๋””์˜ค ๋ฐ์ดํ„ฐ์˜ ์ „์ฒด ๋‚ด์šฉ์„ ์ •ํ™•ํ•˜๊ฒŒ ์ธ์‹ํ•˜๊ณ  ๋ณ€ํ™˜ํ•˜์—ฌ, โ€œ์—์–ด์ปจ 7๋ฒˆโ€๊ณผ โ€œ๋ณด์ผ๋Ÿฌ์ž‘๋™์‹œ์ž‘โ€๊ณผ ๊ฐ™์€ ์ž…๋ ฅ์ด ์™„์ „ํ•œ ๋ฌธ์žฅ์œผ๋กœ ํ…์ŠคํŠธํ™”๋จ.
    • ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ ์˜ค๋””์˜ค ์ŠคํŠธ๋ฆผ์„ ํšจ๊ณผ์ ์œผ๋กœ ์žฌ์‹œ์ž‘ํ•˜์—ฌ ์—ฐ์†์„ฑ ์žˆ๋Š” ์ธ์‹๋ฅ  ์œ ์ง€.
    • ์‹œ์Šคํ…œ์ด ์ตœ์ ํ™”๋˜์–ด ๋†’์€ ์‹ ๋ขฐ๋„๋ฅผ ๊ฐ€์ง„ ์Œ์„ฑ ์ธ์‹ ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณต.
  • ์›์ธ ์˜ˆ์ธก ๋ฐ ํ•ด๊ฒฐ์ฑ…

    1. Chunk ํฌ๊ธฐ
    • ์›์ธ: chunk ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ํฌ๊ฑฐ๋‚˜ ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด, ์˜ค๋””์˜ค ๋ฐ์ดํ„ฐ๊ฐ€ ์ ์ ˆํžˆ ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ํฌ๋ฉด ์Œ์„ฑ ์ธ์‹์ด ๋Š๋ฆฌ๊ฒŒ ์ง„ํ–‰๋˜๊ฑฐ๋‚˜ ๋ˆ„๋ฝ๋  ์ˆ˜ ์žˆ๊ณ , ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด ์žก์Œ์ด๋‚˜ ๋ถˆ์™„์ „ํ•œ ๋‹จ์–ด๋กœ ์ธ์‹๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ํ•ด๊ฒฐ์ฑ…: 'chunk'๋ฅผ ์ž…๋ ฅ ๋‹จ์œ„ ์‹œ๊ฐ„์ธ 5์ดˆ์— ๋งž์ถฐ sample_rate*5๋กœ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ, ๋” ์„ฑ๊ณต์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์–ป์—ˆ๋˜ ํŒ€์˜ ์ฝ”๋“œ๋ฅผ ๋น„๊ตํ•ด ๋ณธ ๊ฒฐ๊ณผ chunk๋Š” ์šฐ๋ฆฌ๋ณด๋‹ค ๋‚ฎ์•˜์Šต๋‹ˆ๋‹ค. ์ €ํฌ์˜ ํ˜„์ƒํ™ฉ์—์„œ chunk๋ฅผ ๋‚ฎ์ถ˜๋‹ค๋ฉด api์™€์˜ ๋ฐ์ดํ„ฐ ์ „์†ก์ด ๋” ๋น ๋ฅด๊ฒŒ ์ผ์–ด๋‚˜๊ณ , ์ด์— ๋งž์ถฐ ๋ฒ„ํผ์˜ ํฌ๊ธฐ๋ฅผ ํ‚ค์šด๋‹ค๋ฉด ๋ฐ์ดํ„ฐ ์†์‹ค ๋˜ํ•œ ์ ์–ด์งˆ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
    1. ์˜ค๋””์˜ค ํฌ๋งท๊ณผ ์ƒ˜ํ”Œ๋ง ๋ ˆ์ดํŠธ
    • ์›์ธ: pyaudio.paInt16 ํฌ๋งท๊ณผ 44100 ์ƒ˜ํ”Œ๋ง ๋ ˆ์ดํŠธ๋Š” ํ‘œ์ค€ ์„ค์ •์ž…๋‹ˆ๋‹ค๋งŒ, ์‹ค์ œ ๋งˆ์ดํฌ์™€ ์˜ค๋””์˜ค ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ์ตœ์ ์˜ ์„ค์ •์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ํ•ด๊ฒฐ์ฑ…: ๋‹ค๋ฅธ ์˜ค๋””์˜ค ํฌ๋งท์ด๋‚˜ ์ƒ˜ํ”Œ๋ง ๋ ˆ์ดํŠธ๋ฅผ ์‹œ๋„ํ•ด ๋ณด๋ฉฐ, ๋งˆ์ดํฌ ์‚ฌ์–‘์— ๊ฐ€์žฅ ์ ํ•ฉํ•œ ์„ค์ •์„ ์ฐพ์•„๋ด…๋‹ˆ๋‹ค.
    1. ์ธ์‹ ์„ค์ •
    • ์›์ธ: interim_results ์„ค์ •์ด True๋กœ ๋˜์–ด ์žˆ๋Š”๋ฐ, ์ด๋Š” ์ตœ์ข… ๊ฒฐ๊ณผ๊ฐ€ ์•„๋‹Œ ์ค‘๊ฐ„ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ถˆ์™„์ „ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ํ•ด๊ฒฐ์ฑ…: interim_results๋ฅผ False๋กœ ์„ค์ •ํ•˜์—ฌ ์ตœ์ข… ๊ฒฐ๊ณผ๋งŒ์„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.
    1. ํ–ฅํ›„์—…๋ฐ์ดํŠธ ์˜ˆ์ •

voicerecognization's People

Contributors

typingmistake avatar park-janghyeon avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.