Spaces:
Runtime error
Runtime error
Jeongsoo1975
Initial commit: Gradio text-based speaker separation app for Hugging Face Spaces
ae9ec05
A newer version of the Gradio SDK is available:
5.42.0
2인 대화 STT 처리기 (AI 화자 분리)
Whisper STT + Gemini AI를 결합하여 오디오 파일을 텍스트로 변환하고 화자별로 자동 분리하는 애플리케이션입니다.
주요 기능
- WAV 파일 자동 감지: data 폴더의 모든 WAV 파일을 자동으로 감지
- 고정밀 음성 인식: OpenAI Whisper를 사용한 음성-텍스트 변환
- AI 화자 분리: Google Gemini를 사용한 텍스트 기반 2인 대화 분리
- 결과 저장:
- 전체 대화 (원본 + 화자 분리)
- 화자별 개별 대화
- JSON 형태 상세 데이터
기술 스택
- UI Framework: tkinter (Python GUI)
- 음성 인식: OpenAI Whisper
- AI 화자 분리: Google Gemini Pro
- 로깅: Python logging
폴더 구조
sttUsingAPI/
├── data/ # WAV 파일을 여기에 넣으세요
├── output/ # 처리 결과가 저장됩니다
├── logs/ # 로그 파일이 저장됩니다
├── .env # API 키 설정
├── audio_summarizer.py # 메인 애플리케이션
└── test_stt.py # 테스트 스크립트
설치 및 설정
1. 의존성 설치
pip install torch torchaudio python-dotenv google-generativeai
pip install git+https://github.com/openai/whisper.git
2. API 키 설정
.env
파일에 Google AI API 키를 설정하세요:
# Google AI API 키 (https://aistudio.google.com/app/apikey)
GOOGLE_API_KEY=your_google_api_key_here
3. WAV 파일 준비
처리할 WAV 파일을 data/
폴더에 넣으세요.
4. 실행
# GUI 애플리케이션
python audio_summarizer.py
# 또는 테스트 스크립트
python test_stt.py
사용 방법
- 애플리케이션 실행
.env
파일에 Google API 키 설정 확인- WAV 파일이
data/
폴더에 있는지 확인 - "파일 목록 새로고침" 버튼으로 파일 목록 업데이트
- 개별 파일 처리: 파일 선택 후 "선택된 파일 처리" 클릭
- 전체 파일 처리: "모든 파일 처리" 클릭
output/
폴더에서 결과 확인
처리 과정
- 음성 인식: Whisper가 WAV 파일을 텍스트로 변환
- 화자 분리: Gemini가 텍스트 분석으로 화자별 발언 구분
- 결과 저장: 다양한 형태로 결과 파일 생성
출력 파일 형식
각 WAV 파일에 대해 다음 파일들이 생성됩니다:
{파일명}_전체대화_{타임스탬프}.txt
: 원본 + 화자 분리 결과{파일명}_화자1_{타임스탬프}.txt
: 화자1의 발언만{파일명}_화자2_{타임스탬프}.txt
: 화자2의 발언만{파일명}_data_{타임스탬프}.json
: JSON 형태 상세 데이터
화자 분리 결과 예시
원본 텍스트:
안녕하세요, 오늘 회의에 참석해주셔서 감사합니다. 네, 안녕하세요. 준비된 자료가 있나요? 네, 프레젠테이션 자료를 준비했습니다.
화자별 분리 결과:
[화자1] 안녕하세요, 오늘 회의에 참석해주셔서 감사합니다.
[화자2] 네, 안녕하세요. 준비된 자료가 있나요?
[화자1] 네, 프레젠테이션 자료를 준비했습니다.
API 키 발급
Google AI API 키
- Google AI Studio 방문
- 구글 계정으로 로그인
- "Create API Key" 클릭
- 생성된 키를
.env
파일에 추가
로그
- 모든 처리 과정과 오류는
logs/stt_processor.log
파일에 기록됩니다.
화자 분리 정확도
Gemini AI의 텍스트 기반 화자 분리는 다음 요소들을 분석합니다:
- 대화 맥락: 질문과 답변의 패턴
- 말투 변화: 존댓말/반말, 어조 변화
- 주제 전환: 화자별 관심사나 역할
- 언어 패턴: 개인별 표현 습관
주의사항
- WAV 형식의 오디오 파일만 지원됩니다.
- 최초 실행 시 Whisper 모델 다운로드로 인해 시간이 소요될 수 있습니다.
- 인터넷 연결이 필요합니다 (모델 다운로드 및 API 호출).
- Google AI API 사용량에 따라 비용이 발생할 수 있습니다.
- 2인 대화에 최적화되어 있습니다.
화자 분리 정확도 향상 팁
- 명확한 역할 구분: 인터뷰어-인터뷰이, 강사-학생 등
- 대화 흐름: 자연스러운 질문과 답변 형태
- 말투 차이: 존댓말/반말, 전문용어 사용 차이
- 음질: 깨끗하고 명확한 음성
- 화자 간 중복 발언 최소화: 동시에 말하는 구간 최소화
문제 해결
API 키 오류
.env
파일에 올바른 Google AI API 키가 설정되어 있는지 확인- API 키의 권한 및 할당량 확인
화자 분리 정확도 문제
- 대화 내용이 너무 짧거나 단조로운 경우 정확도 저하 가능
- 두 명 이상의 화자가 있는 경우 부정확할 수 있음
모델 로딩 오류
- 인터넷 연결 상태 확인
- 가상환경 및 패키지 설치 상태 확인