PocketSphinx

์˜คํ”„๋ผ์ธ ์‹ค์‹œ๊ฐ„ ์Œ์„ฑ ์ธ์‹

ํ”„๋กœ๊ทธ๋žจ ๊ฐœ์š”

PocketSphinx ๊ฐœ์š”

PocketSphinx๋Š” CMU Sphinx์˜ ๊ฒฝ๋Ÿ‰ํ™”๋œ ๋ฒ„์ „์œผ๋กœ, ๋ชจ๋ฐ”์ผ ๋ฐ ์ž„๋ฒ ๋””๋“œ ์žฅ์น˜์—์„œ ์˜คํ”„๋ผ์ธ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ์Œ์„ฑ ์ธ์‹ ์—”์ง„์ž…๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ ์—†์ด๋„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์Œ์„ฑ์„ ํ…์ŠคํŠธ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์–ด ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ์™€ ์‘๋‹ต ์†๋„ ๋ฉด์—์„œ ์šฐ์ˆ˜ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์‚ฌ: Carnegie Mellon University
๋ผ์ด์„ ์Šค: BSD License
์ง€์› ์–ธ์–ด: ์˜์–ด, ์ค‘๊ตญ์–ด, ํ”„๋ž‘์Šค์–ด, ๋…์ผ์–ด, ์ŠคํŽ˜์ธ์–ด ๋“ฑ
ํ”Œ๋žซํผ: Android, iOS, Linux, Windows, macOS

๊ธฐ์ˆ  ์ •๋ณด

ํ•ต์‹ฌ ํŠน์ง•

  • โ€ข ์˜คํ”„๋ผ์ธ ์ž‘๋™์œผ๋กœ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ
  • โ€ข ๊ฒฝ๋Ÿ‰ํ™”๋œ ๋ชจ๋ธ๋กœ ๋น ๋ฅธ ์‘๋‹ต ์†๋„
  • โ€ข ๋‹ค์–‘ํ•œ ์–ธ์–ด ๋ชจ๋ธ ์ง€์›
  • โ€ข ์ปค์Šคํ…€ ์–ดํœ˜ ๋ฐ ์–ธ์–ด ๋ชจ๋ธ ํ•™์Šต ๊ฐ€๋Šฅ
  • โ€ข ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ ์Œ์„ฑ ์ธ์‹

๊ธฐ์ˆ  ์‚ฌ์–‘

  • โ€ข ์Œ์„ฑ ์ธ์‹ ์ •ํ™•๋„: 85-95% (ํ™˜๊ฒฝ์— ๋”ฐ๋ผ)
  • โ€ข ์ง€์—ฐ ์‹œ๊ฐ„: 100-300ms
  • โ€ข ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰: 50-200MB
  • โ€ข CPU ์‚ฌ์šฉ๋Ÿ‰: ๋‚ฎ์Œ-์ค‘๊ฐ„
  • โ€ข ์ง€์› ์˜ค๋””์˜ค ํ˜•์‹: WAV, FLAC, MP3

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

์„ค์น˜ ๋ฐ ์„ค์ •

1. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜

pip install pocketsphinx

2. ์–ธ์–ด ๋ชจ๋ธ ๋‹ค์šด๋กœ๋“œ

# ์˜์–ด ๋ชจ๋ธ ์˜ˆ์‹œ
wget https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/US%20English/

๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

Python ์˜ˆ์ œ ์ฝ”๋“œ

import pyaudio
import pysphinx

# ์Œ์„ฑ ์ธ์‹๊ธฐ ์ดˆ๊ธฐํ™”
recognizer = pysphinx.SpeechRecognizer()

# ๋งˆ์ดํฌ์—์„œ ์Œ์„ฑ ์ž…๋ ฅ ๋ฐ›๊ธฐ
with pyaudio.PyAudio() as audio:
    stream = audio.open(format=pyaudio.paInt16, channels=1, 
                       rate=16000, input=True, frames_per_buffer=1024)
    
    print("๋ง์”€ํ•ด ์ฃผ์„ธ์š”...")
    
    # ์‹ค์‹œ๊ฐ„ ์Œ์„ฑ ์ธ์‹
    for frame in stream:
        result = recognizer.recognize(frame)
        if result:
            print(f"์ธ์‹ ๊ฒฐ๊ณผ: {result}")

ํ”„๋กœ๊ทธ๋žจ ํ‰๊ฐ€

ํ‰๊ฐ€ ์ ์ˆ˜

์ „๋ฌธ์„ฑ 7.5/10
ํ•™์Šต๋‚œ์ด๋„ 6.5/10
์‚ฌ์šฉํŽธ์˜์„ฑ 7.0/10
ํ™œ์šฉ๋„ 7.5/10

์žฅ๋‹จ์ 

์žฅ์ 

  • โ€ข ์˜คํ”„๋ผ์ธ ์ž‘๋™์œผ๋กœ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ
  • โ€ข ๋น ๋ฅธ ์‘๋‹ต ์†๋„
  • โ€ข ์˜คํ”ˆ์†Œ์Šค๋กœ ๋ฌด๋ฃŒ ์‚ฌ์šฉ
  • โ€ข ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ ์ง€์›
  • โ€ข ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ๊ฐ€๋Šฅ

๋‹จ์ 

  • โ€ข ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ์†”๋ฃจ์…˜ ๋Œ€๋น„ ์ •ํ™•๋„ ๋‚ฎ์Œ
  • โ€ข ์–ธ์–ด ๋ชจ๋ธ ํฌ๊ธฐ ์ œํ•œ
  • โ€ข ์„ค์ • ๋ฐ ํŠœ๋‹ ๋ณต์žก์„ฑ
  • โ€ข ์ œํ•œ๋œ ์–ธ์–ด ์ง€์›

๊ด€๋ จ ๋งํฌ