Skip to content

leeejw00/JeJalJeJal

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

470 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alt text

제주도 말을 잘 이해하고 제주도 말을 잘 소통하자

서비스 개요

본 프로젝트는 경남119센터의 AI 음성인식 신고 접수 서비스를 통해 사투리의 언어적 장벽을 허물고, 더 빠르고 정확한 소통으로 출동 지연을 개선한 사례에서 영감을 받았습니다. 이 프로젝트는 사투리 중 특히 이해하기 어려운 제주도 사투리를 통역하는 제주어 AI 통역 시스템을 개발하여, 제주도민과의 의사소통 정확성을 높이고자 합니다. 이를 통해 콜센터 및 신고센터 등에서 향상된 의사소통 기능을 지원하는 것을 목표로 합니다.

목차

  1. 소개 영상
  2. 서비스 화면
  3. 주요 기능 소개
  4. 프로젝트 기간
  5. 주요 기술 스택
  6. 프로젝트 산출물
  7. 개발 멤버 소개

소개 영상

UCC 소개 영상

서비스 화면

위젯 및 오버레이 ON/Off

오버레이

메인 기능 1 - 통화 어플로 전환

통화화면 이동

메인 기능 1 - 통화 수신

통화 수신통화 시작

메인 기능 1 - 통화 실시간 번역

오버레이오버레이2

메인 기능 2 - 파일 통역

파일 통역

전화 통역 기록 상세 페이지

통화 기록

주요 기능

1. 제주방언 통화 실시간 통역

  • 내용: 제주방언 통화를 실시간으로 녹음하고 번역합니다.
  • 기능 과정:
    1. 실시간 녹음 파일 전송
    2. 손상된 녹음 파일 복원 (metadata 복원)
    3. 복원된 음성 파일을 텍스트로 변환 (STT)
    4. 텍스트 내 제주방언 번역
    5. 번역된 텍스트를 클라이언트에게 전송
    6. 유저에게 번역된 텍스트 표시
  • 사용 기술:
    • Untrunc: 손상된 음원 파일 복원
      • FFmpeg를 활용하여 손상된 m4a 파일을 복원
      • 참조 파일을 기반으로 메타데이터와 파일 구조를 복원
    • Clova Speech: 음성 파일을 텍스트로 변환 (STT)
      • 복원된 음원 파일을 텍스트로 변환
      • 제주도 방언 인식을 위해 키워드 부스팅 적용
    • Clova Studio: 텍스트 내 제주방언 번역 (AI 모델)
      • 제주 사투리를 표준어로 번역
      • 한국어 학습에 최적화된 모델 사용

2. 제주방언 음성(녹음) 파일 통역

  • 내용: 통화 녹음 및 음성 파일 내 제주방언을 번역합니다.
  • 기능 과정:
    1. 음성 파일 전송
    2. 음성 파일을 텍스트로 변환 (STT)
    3. 텍스트 내 제주방언 번역
    4. 번역된 텍스트를 클라이언트에게 전송
    5. 유저에게 번역된 텍스트 표시
  • 사용 기술:
    • Clova Speech: 음성 파일을 텍스트로 변환 (STT)
      • 음성 파일을 텍스트로 변환
      • 제주도 방언 인식을 위해 키워드 부스팅 적용
    • Clova Studio: 텍스트 내 제주방언 번역 (AI 모델)
      • 제주 사투리를 표준어로 번역
      • 한국어 학습에 최적화된 모델 사용

부가 기능

  • 최근 통역 통화한 연락처 표시
  • 통화 및 파일 통역 내용 저장
  • 통화 통역 ON/OFF 가능
  • 위젯을 이용한 번역 창 간편 관리

기술 상세 설명

Untrunc

  • 개요: Untrunc는 손상된 m4a 파일을 복원하기 위해 FFmpeg를 활용하는 기술입니다.
  • 작동 원리:
    1. 손상된 파일과 멀쩡한 참조 파일을 사용하여 손상된 파일의 메타데이터와 구조를 복원합니다.
    2. FFmpeg를 통해 복원된 파일을 생성합니다.
    3. 기준 시간만큼 복원 후 자연스러운 맥락을 위해 이전 파일의 마지막 일부분을 추가합니다.
  • 복원 과정:
    1. 참조 파일 분석
    2. 메타데이터 복원
    3. 파일 구조 재구성
    4. FFmpeg 사용
    5. 음성 파일 자연스럽게 구성
  • 장점: 효율성, 유연성, 신뢰성

Clova Speech

  • 개요: Clova Speech는 음성 파일을 텍스트로 변환하는 STT(음성 인식) 기술입니다.
  • 특징:
    • Untrunc에서 복원된 음원 파일을 STT로 변환
    • 제주도 방언 인식을 위해 키워드 부스팅 적용
    • AI Hub 제주도방언 음성 데이터에서 추출한 상위 1000개의 단어를 키워드 부스팅에 사용

Clova Studio

  • 개요: Clova Studio는 텍스트 내 제주 사투리를 표준어로 번역하는 AI 모델입니다.
  • 특징:
    • 한국어 학습에 최적화된 HCX-003 모델 사용
    • 제주 사투리를 표준어로 번역
    • 입력된 텍스트가 제주 사투리인지 표준어인지 구분하여 번역 또는 표준어로 처리

프로젝트 기간

24.04.08 ~ 24.05.17 (6주)

  • 기획 및 설계 : 04.08 ~ 04.23
  • 기능 구현 전 테스트 : 04.12 ~ 04.23
  • 프로젝트 구현: 04.24 ~ 05.15
  • 버그 수정 및 산출물 정리: 05.15 ~ 05.19

주요 기술 스택(개발환경)

카테고리 기술 버전
# IDE (통합 개발 환경)
Intellij IDEA 2023.3.3
VS Code 1.85.1
Android Studio 2023.3.1
# Backend
- Untrunc (Flask)
Python 3.7.5
Flask 2.2.5
Werkzeug 2.2.3
Untrunc FFmpeg 3.3.9
- JeJal (Spring Boot)
Spring Boot 3.2.5
Java 17.0.9
Querydsl 5.0.0
Spring Dependency Management 1.1.4
- Build Tools
Gradle 8.7
- Database
MariaDB 10.3.3
# Frontend
Flutter 3.19.6
Dart 3.3.4
- Tools
Flutter DevTools 2.31.1
Kotlin
# Infra & Server
- Operating System
Ubuntu 20.04.6
NGINX 1.18.0
Jenkins 2.456
- Containerization
Docker 26.1.0
docker-compose 1.29.2
# Cooperation & Communication
GitLab
Jira
Mattermost
Notion

프로젝트 산출물

시스템 아키텍쳐

아키텍쳐

ERD 다이어그램

ERD

  • 좌) 서버 mariaDB
  • 우) 안드로이드 sqlite

와이어 프레임

figma

API 문서

API명세서

포팅 메뉴얼

👨‍👩‍👧‍👦멤버 소개



👑 조성호
(Front-End)



박중현
(Front-End)



김현지
(Front-End)



정소영
(Back-End)



장재성
(Back-End)



이지우
(Back-End)

- 웹소켓 실시간 통역 관리
- 통역 데이터 오버레이 출력
- SQLite 로컬 DB 구축
- 통화 기록 텍스트 저장 및 조회
- 메인페이지, 오버레이 UI 구상 및 구현
- UX 개선
- 오버레이 위젯 구현
- 통화 기록 데이터 처리
- 실시간 통화 녹음 전송(WebSocket)
- 통화 중 실시간 결과 출력
- 메인 페이지 제작
- 파일 통역 페이지 제작
디자인 총괄
- 음성 파일 텍스트 변환(STT, clova speech API)
- STT keyword boosting
- boosting 위한 데이터 수집 및 처리
- INFRA
- 미완성 음성 파일 복원 untrunc(FFmpeg)
- backend 기본 로직 구현
- 제주도 사투리 표준어 번역
- AI, clova studio API
- 정확도 위한 프롬프트 최적화

About

제주도 말을 잘 이해하고 제주도 말을 잘 소통하자

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 55.1%
  • Dart 22.4%
  • Java 15.5%
  • CMake 2.3%
  • Python 1.6%
  • Kotlin 1.0%
  • Other 2.1%