firststep.kr
8주차 마일스톤약 9시간 소요난이도: 고급

음성 인식(Whisper.tflite) & 온디바이스 음성 AI 어시스턴트

AudioRecord 마이크 스트리밍, Mel Spectrogram 변환, 경량 Whisper 모델 온디바이스 STT 및 음성 명령 제어

#Whisper#STT#AudioRecord#VoiceAI

이번 주 핵심 학습 목표

  • 1
    Android AudioRecord를 이용해 무지연 16kHz 16bit PCM 오디오 스트림을 캡처한다.
  • 2
    원시 오디오 파형(Waveform)을 Log-Mel Spectrogram 텐서로 변환하는 오디오 전처리를 구현한다.
  • 3
    OpenAI Whisper 경량 모델을 TFLite로 구동하여 실시간 음성 인식을 완성한다.

실전 학습 가이드 & 코드 워크스루

1. 온디바이스 STT 오디오 파이프라인

음성 인식 모델은 주파수 대역별 에너지를 나타내는 Mel Spectrogram 이미지를 입력으로 사용합니다:

text
마이크 스트림 (16kHz PCM) ➔ 프레임 윈도잉 (Hanning Window) ➔ FFT 주파수 변환 ➔ 80-Mel Filterbank 가중치 곱셈 ➔ Log 압축 ➔ Whisper Encoder ➔ Decoder ➔ 한국어 텍스트

2. AudioRecord 버퍼링 실전 코드

kotlin
val sampleRate = 16000
val bufferSize = AudioRecord.getMinBufferSize(
    sampleRate,
    AudioFormat.CHANNEL_IN_MONO,
    AudioFormat.ENCODING_PCM_16BIT
)

val audioRecord = AudioRecord(
    MediaRecorder.AudioSource.VOICE_RECOGNITION,
    sampleRate,
    AudioFormat.CHANNEL_IN_MONO,
    AudioFormat.ENCODING_PCM_16BIT,
    bufferSize * 2
)

📂 이번 주차 학습 자료 & 실습 파일 다운로드

2개 파일 제공

강의 교안 PDF, 실습 스타터 코드, 치트시트 등 학습에 필요한 자료를 별도로 열람하거나 다운로드하여 학습하세요.

8주차_핵심요약_치트시트.pdf

PDF•1.8 MB

8주차 핵심 이론 및 아키텍처 다이어그램 치트시트

8주차_실전_스타터코드.zip

ZIP•3.4 MB

Android Studio 프로젝트 템플릿 및 실습 코드 예제

실전 체크리스트 & 셀프 점검

0 / 4 완료

직접 코드를 구현하고 테스트를 완료할 때마다 체크해 보세요. 브라우저에 자동 보관됩니다.

RECORD_AUDIO 권한 획득 및 AudioRecord 버퍼 큐 생성
FFT(고속 푸리에 변환) 기반 Mel-Filterbank 전처리 클래스 구현
Whisper TFLite 모델 인퍼런스 및 토큰 디코딩 루프 연결
음성 인식 텍스트에서 액션 키워드를 감지하여 로컬 명령 실행
ADVERTISEMENTfirststep.kr ad
1st

firststep.kr 12주 완성 실전 커리어 로드맵

파이썬, 소프트웨어설계, DB, 데이터과학, 딥러닝, LLM 9종 코스 100% 무료

로드맵 둘러보기