청각장애인과 비장애인이 실시간으로 소통할 수 있는 커뮤니케이션 서비스
입술 움직임을 인식해 음성으로 변환하는 기술과 STT(Speech-To-Text)를 통해 텍스트를 제공하는 기능을 함께 활용하여, 누구나 쉽게 참여할 수 있는 실시간 대화 플랫폼을 제공합니다.
목소리가 보이다, 이곳에서 모이다, VOIDA
- 개발 기간 : 2025.07.07 ~ 2025.08.22 (7주)
- 플랫폼 : Web & Desktop App
- 개발 인원 : 6명
- 기관 : 삼성 청년 SW·AI 아카데미 13기
🍖 김규찬 (Backend & DevOps) |
🏋️♀️ 이석재 (Backend & Leader) |
👻 이혜원 (Backend & JiraOps) |
|
- 인프라 및 CI/CD 파이프라인 구축·운영 - Spring: OpenVidu 세션 / Release API 구현 - FastAPI 기반 Webhook Handler 서버 구현 - 협업 및 이벤트 알림 자동화 파이프라인 구축 |
- 대기방 / 초대코드 API 구현 - WebSocket / STOMP 기반 채팅 API 구현 - Spring: AWS S3, MongoDB 연동 |
- Security, OAuth2, SMTP 기반 인증 API 구현 - 마이페이지 / 세션 락 API 구현 - OpenAI 기반 STT, TTS API 구현 - Lip Model → Runpod 마이그레이션 |
🐶 김수민 (Backend & AI) |
🍔 이민희 (Frontend & Design) |
🍥 이진모 (Frontend & Docs) |
|
- Lip Reading 모델 학습 및 최적화 - 구화 인식 / 번역 / TTS 파이프라인 구축 - FastAPI 기반 Lip Model 서버 구현 |
- OpenVidu 음성 연결, Signaling 채팅 구현 - STT / Lip Reading 결과 음성 세션 연동 - STOMP 기반 실시간 채팅 구현 - 튜토리얼 / 대기방 / 라이브 세션 구현 |
- LiveRoom 오버레이 창, 단축키 매핑 구현 - 공식 웹 사이트 다운로드 페이지 구현 - 로그인 / 회원가입 / 마이페이지 구현 |
| 구분 | 파일 | 용량 | 설명 |
|---|---|---|---|
| 💻 Desktop App | VOIDA_Setup_1.0.13.exe | 204.2 MB | Windows Desktop App 설치 파일 |
| ⚖️ Weight | encoder_int8.bin | 178.7 MB | 인코더 가중치 ( backend-lip-model/models) |
| ⚖️ Weight | vsr_trlrs2lrs3vox2avsp_base.pth | 955.5 MB | Lip Reading 가중치 ( backend-lip-model/models) |
| 🤖 Model | model.bin | 467.9 MB | 기타 모델 ( backend-lip-model/models/lip-model) |
| Category | Stack |
|---|---|
| Language | TypeScript 5.8.3 |
| Runtime Environment | Node.js 22.17.0, Electron 37.3.0 |
| Framework | React 19.1.0, React Router 7.7.0 |
| Library | STOMP.js 7.1.1, SockJS Client 1.6.1, OpenVidu Browser 2.31.0, Zustand 5.0.6, Axios 1.10.0, Emotion 11.14.0 |
| IDE | Visual Studio Code 1.103.1 |
| Category | Stack |
|---|---|
| Language | Java 17 |
| Framework | Spring Boot 3.4.5 |
| Library | Spring Security, Spring Validation, Spring Data JPA, Spring Data MongoDB, Spring Data Redis, Springdoc OpenAPI 2.8.7, Spring Cloud AWS S3, Spring Security OAuth2 Client, Spring Mail, Spring WebSocket, Spring WebFlux, OpenVidu Java Client 2.31.0, Apache HttpMime 4.5.14 |
| Database | MySQL 9.3.0, MongoDB 8.0.11, Redis 7.4.5 |
| IDE | IntelliJ IDEA 2025.1.3 (Ultimate Edition) |
| Build Tool | Gradle 8.14.3 |
| Category | Stack |
|---|---|
| Language | Python 3.9.13 |
| Runtime Environment | Uvicorn[standard] 0.35.0, Gunicorn 22.0.0 |
| Framework | FastAPI 0.116.1 |
| Library | Torch 2.8.0, Openvino-dev 2024.1.0, Ctranslate2 4.6.0, opencv-python-headless 4.9.0.80, Mediapipe 0.10.14, Sentencepiece 0.2.0, Transformers 4.45.2, Argostranslate 1.9.6, Numpy 1.26.4, Scipy 1.13.1, Openai 1.99.9 |
| IDE | Visual Studio Code 1.103.1 |
| Category | Spec |
|---|---|
| Instance Type | T2.XLARGE |
| CPU | 4 vCPUs |
| RAM | 16 GB |
| Storage (Disk) | SSD: 320 GB, HDD: 6 TB |
| Docker | v28.1.1 |
| Docker Compose | v2.38.2 |
| Jenkins | 2.520 |
| Nginx | nginx/1.18.0 |
| OpenVidu | 2.31.0 (Pro Edition) |
| Webhook Handler | FastAPI 0.116.1, Python 3.11-slim, Uvicorn[standard] 0.35.0 |
| ❌ Jenkins Pipeline Failure | ✅ Jenkins Pipeline Success |
![]() |
![]() |
| 🗨️ Jira Issue Notification | 🔀 Merge Request Created Notification |
![]() |
![]() |
Frontend-App
📦frontend-app
┣ 📂electron
┃ ┣ 📂assets
┣ 📂public
┃ ┣ 📂fonts
┃ ┗ 📂logo
┣ 📂src
┃ ┣ 📂apis
┃ ┃ ┣ 📂auth
┃ ┃ ┣ 📂core
┃ ┃ ┣ 📂live-room
┃ ┃ ┣ 📂meeting-room
┃ ┃ ┣ 📂stomp
┃ ┃ ┗ 📂tutorial
┃ ┣ 📂assets
┃ ┃ ┣ 📂category
┃ ┃ ┣ 📂icons
┃ ┃ ┣ 📂images
┃ ┃ ┣ 📂logo
┃ ┃ ┣ 📂profiles
┃ ┃ ┗ 📂test
┃ ┣ 📂components
┃ ┃ ┣ 📂auth
┃ ┃ ┣ 📂common
┃ ┃ ┣ 📂live-room
┃ ┃ ┣ 📂main
┃ ┃ ┃ ┣ 📂modal
┃ ┃ ┣ 📂meeting-room
┃ ┃ ┃ ┣ 📂chat
┃ ┃ ┃ ┣ 📂members
┃ ┃ ┃ ┗ 📂modal
┃ ┃ ┃ ┃ ┣ 📂info
┃ ┃ ┃ ┃ ┗ 📂setting
┃ ┃ ┣ 📂my-page
┃ ┃ ┃ ┣ 📂modal
┃ ┃ ┃ ┗ 📂tab
┃ ┃ ┣ 📂tutorial
┃ ┃ ┃ ┣ 📂modal
┃ ┣ 📂hooks
┃ ┣ 📂pages
┃ ┃ ┣ 📂auth
┃ ┃ ┣ 📂tutorial
┃ ┣ 📂stores
┃ ┣ 📂styles
┃ ┣ 📂types
┣ 📜.env
┣ 📜.gitignore
┣ 📜.prettierrc
┣ 📜db.json
┣ 📜eslint.config.js
┣ 📜index.html
┣ 📜package-lock.json
┣ 📜package.json
┣ 📜README.md
┣ 📜tsconfig.app.json
┣ 📜tsconfig.json
┣ 📜tsconfig.node.json
┗ 📜vite.config.ts
Frontend-Web
📦frontend-web
┣ 📂dist
┃ ┣ 📂assets
┃ ┣ 📂fonts
┃ ┣ 📂logo
┣ 📂public
┃ ┣ 📂fonts
┃ ┗ 📂logo
┣ 📂src
┃ ┣ 📂assets
┃ ┃ ┣ 📂icons
┃ ┃ ┣ 📂image
┃ ┃ ┣ 📂logo
┃ ┃ ┗ 📂show
┃ ┣ 📂components
┃ ┣ 📂pages
┃ ┣ 📂styles
┣ 📜.gitignore
┣ 📜.prettierrc
┣ 📜Dockerfile
┣ 📜eslint.config.js
┣ 📜index.html
┣ 📜package-lock.json
┣ 📜package.json
┣ 📜README.md
┣ 📜tsconfig.app.json
┣ 📜tsconfig.json
┣ 📜tsconfig.node.json
┗ 📜vite.config.ts
Backend-Core
📦backend-core
┣ 📂gradle
┃ ┗ 📂wrapper
┣ 📂src
┃ ┣ 📂main
┃ ┃ ┣ 📂java
┃ ┃ ┃ ┗ 📂com
┃ ┃ ┃ ┃ ┗ 📂bbusyeo
┃ ┃ ┃ ┃ ┃ ┗ 📂voida
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂api
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂admin
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂constant
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂controller
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂service
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂auth
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂controller
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂domain
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂service
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂util
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂chat
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂controller
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂domain
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂repository
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂service
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂live
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂controller
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂dto
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂liveroom
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂controller
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂domain
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂model
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂out
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂service
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂meetingroom
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂controller
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂domain
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂enums
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂repository
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂service
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂member
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂constant
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂controller
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂domain
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂enums
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂repository
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂service
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂release
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂controller
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂domain
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂in
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂out
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂repository
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂service
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂vo
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂global
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂ai
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂stt
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂tts
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂aspect
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂config
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂exception
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂health
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂mail
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂service
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂util
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂properties
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂redis
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂config
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂dao
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂response
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂security
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂config
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂constant
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂filter
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂handler
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂oauth2
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂service
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂jwt
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂oauth2
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂util
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂support
┃ ┃ ┗ 📂resources
┃ ┗ 📂test
┃ ┃ ┗ 📂java
┃ ┃ ┃ ┗ 📂com
┃ ┃ ┃ ┃ ┗ 📂bbusyeo
┃ ┃ ┃ ┃ ┃ ┗ 📂voida
┣ 📜.gitattributes
┣ 📜.gitignore
┣ 📜build.gradle
┣ 📜Dockerfile
┣ 📜gradlew
┣ 📜gradlew.bat
┣ 📜README.md
┗ 📜settings.gradle
Backend-Lip-Model
📦backend-lip-model
┣ 📂app
┃ ┣ 📂core
┃ ┃ ┣ 📂datamodule
┃ ┃ ┣ 📂espnet
┃ ┃ ┃ ┗ 📂nets
┃ ┃ ┃ ┃ ┣ 📂pytorch_backend
┃ ┃ ┃ ┃ ┃ ┣ 📂decoder
┃ ┃ ┃ ┃ ┃ ┣ 📂encoder
┃ ┃ ┃ ┃ ┃ ┣ 📂frontend
┃ ┃ ┃ ┃ ┃ ┣ 📂transformer
┃ ┃ ┃ ┃ ┣ 📂scorers
┃ ┃ ┣ 📂preparation
┃ ┃ ┃ ┣ 📂detectors
┃ ┃ ┃ ┃ ┗ 📂mediapipe
┃ ┃ ┣ 📂spm
┃ ┃ ┃ ┗ 📂unigram
┣ 📂models
┃ ┣ 📂m2m100_418M-ct2
┣ 📜.env
┣ 📜.gitignore
┣ 📜Dockerfile
┗ 📜requirements.txt






















