본문으로 건너뛰기

하이피치(highpitch)

자신감 있게 온라인 프레젠테이션을 할 수 있도록 만들어주는 발표 연습 서비스

해당 프로젝트에 대한 iOS 진행과정에 대해 궁금하다면 Book - higpitch ios 이식하기 를 확인해주세요!

개발 언어프레임워크플랫폼개발 기한팀 구성
SwiftSwiftUImacOS(14.0)2023.06 - 2023.12총원 8 개발(4),디자인(3), PM(1)

프로젝트 개요​

애플의 STT 프레임워크 Speech를 활용하여 음성에 대한 습관어 및 말빠르기와 같은 발표력 향상을 위한 실시간 피드백과 분석을 제공하는 macOS기반 발표 연습 서비스

주요 역할​

SwiftUI를 활용한 SwiftData 처리 중심의 프로젝트 설계​

SwiftUI를 활용해 SwiftData 데이터 공유를 원활하게 하기 위한 구조 설계

  • Presentation, Manager, Models, DesignSystem 등 역할 별 레이어 분리
  • ObservableObject기반의 Manager 객체를 통한 데이터 공유처리
  • Multi Window (Menubar Extra, Settings, WindowGroup, Feedback Panel) 간 데이터 공유처리
  • protocol을 활용한 디자인 시스템, Extension 및 modifier를 활용한 공통 모듈 코드 개발 (View, Date ...)
  • 앱 배포 관리, 데이터 모킹 및, 프리뷰 기반 테스트 환경(Schema) 구성

Menubar Extra를 통해 서비스를 접근할 수 있도록 기능과 상태 확인을 위한 UI 구현

  • MenubarExtra를 통해 개별 연습항목에 접근하는 네비게이션 처리
  • 연습하기 기능 UI 구현
  • 연습분석 시 StatusBar 상에서 갱신되는 로딩 UI 구현

AppleScript를 활용한 Keynote와 프로젝트 연동​

AppleScript와 Apple Event를 활용하여 Keynote앱과 상호작용할 수 있는 기능 구현

  • 현재 열려있는 Keynote 정보 가져오기 및 발표자 모드 실행 기능 구현
  • 프로젝트와 Keynote 연동을 통해 프로젝트 연동 및 Keynote 파일 실행 기능 구현

외부 앱 및 전체화면 시 오버레이되는 STT 데이터를 활용한 실시간 피드백 UI 구현​

발표 중의 음성 인식상태를 확인할 수 있도록 Speech와 NSPanel을 활용한 오버레이 UI 구현

  • Speech와 ObservableObject를 활용한 음성 인식(말 빠르기, 습관어)에 따라 상태를 보여줄 수 있는 UI 설계 및 구현

음성 분석 후 생성 된 스크립트 및 영상 타임라인 간 데이터 연동 및 사용자 이벤트 처리​

연습 분석 된 영상과 데이터, 스크립트 간 연동을 통해 영상 재생에 따른 이벤트 처리 구현

  • 영상 재생에 따른 스크립트 포커싱 처리
  • 스크립트 및 분석 데이터(습관어 사용지점, 말빠르기 구간) 클릭 시 특정 타임라인의 영상 재생

기술스택​

  • Speech
  • ScreenCaptureKit
  • SwiftData
  • HotKey
  • AppleScript
  • ReturnZero(STT SDK) • SwiftUI
  • FireBase(GA)

링크​