TrailTone: 산책 중 새소리를 듣는 로컬 리스너
요약
TrailTone은 하이커와 조류 관찰가를 위해 설계된 오프라인 새소리 청취 동반자입니다. 사용자가 녹음하거나 업로드한 소리를 브라우저에서 직접 YAMNet 모델을 이용해 분석하며, 모든 추론 과정과 데이터는 로컬에 보관되어 개인 정보 보호를 유지합니다.
핵심 포인트
- 오픈소스 기반의 새소리 청취 앱으로, 하이커와 조류 관찰가에게 유용합니다.
- TensorFlow.js와 YAMNet 모델을 활용하여 브라우저에서 오프라인 추론이 가능합니다.
- 녹음된 오디오는 서버로 업로드되지 않아 높은 개인 정보 보호 수준을 제공합니다.
TrailTone
이것은 Hacktoberfest Open-Source AI Challenge Week 1: 풀밭에 발을 디디기 (Touch Grass) 제출물입니다.
제가 만든 것
TrailTone은 하이커, 조류 관찰가, 그리고 야외에서 더 많은 시간을 보낼 이유를 원하는 모든 사람을 위한 브라우저 기반 새소리 청취 동반자입니다.
산책하는 동안 짧은 소리 클립을 녹음하거나 오디오 파일을 업로드하면, TrailTone이 해당 가능성이 높은 새 또는 자연 소리 일치 항목을 반환합니다. 인터페이스는 의도적으로 작습니다. 화면을 사용하여 듣기를 시작한 다음 휴대폰을 치우고 주변 세상을 탐험하세요.
이 앱은 녹음을 브라우저에 보관하며 서버로 업로드하지 않습니다.
데모
TrailTone을 로컬에서 실행합니다:
npx serve .
로컬 URL을 열고 마이크 접근을 허용한 다음, **소리 녹음하기 (Record a call)**를 선택하세요. 또한 **오디오 업로드 (Upload audio)**를 통해 오디오 파일을 업로드할 수도 있습니다.
첫 방문 시 TensorFlow.js와 YAMNet 모델 에셋이 다운로드됩니다. 애플리케이션 셸은 서비스 워커에 의해 나중에 다시 방문할 때 캐시됩니다.
코드
전체 소스는 이 저장소에 있습니다:
GitHub logo dr5t / Touch-Grass---DeV-x-MLH
TrailTone
TrailTone은 풀밭에 발을 디디기(Touch Grass) 챌린지를 위한 오프라인 지원 새소리 청취 동반자입니다. 산책 중 짧은 클립을 녹음하거나 하나를 업로드하면, 오픈 YAMNet 오디오 모델이 브라우저에서 직접 가능성이 높은 새 및 자연 소리 일치 항목 순위를 매깁니다.
실행하기
마이크 접근에는 안전한 출처(secure origin)가 필요하므로, 이 디렉토리에서 로컬 정적 서버를 실행하세요:
npx serve .
출력된 http://localhost URL을 엽니다. 첫 방문 시 TensorFlow.js와 YAMNet 가중치가 다운로드되며; 앱 셸은 서비스 워커에 의해 캐시되고, 모델은 브라우저의 에셋 캐시에 보관됩니다. 로드되면 추론(inference)은 로컬이며 오디오는 절대 업로드되지 않습니다. (프로덕션 빌드는 더 강력한 오프라인 보장을 위해 모델 파일을 번들링하고 고정해야 합니다.)
왜 오픈 혁신인가
앱은 오픈 소스 TensorFlow.js 생태계를 통해 공개된 모델인 YAMNet을 중심으로 의도적으로 구축되었습니다. 폐쇄형 추론 API는 트레일 녹음을 신호에 종속되게 만들 것이며, ...
구축 방법 (How I Built It)
TrailTone은 다음을 사용합니다:
- 오픈 YAMNet 오디오 모델
- 브라우저 기반 추론을 위한 TensorFlow.js
- 오디오 캡처를 위한 브라우저 MediaRecorder API
- 녹음 디코딩 및 리샘플링을 위한 Web Audio API
- 애플리케이션 쉘 캐싱을 위한 서비스 워커(Service Worker)
오디오는 16 kHz 파형으로 디코드되어 브라우저에서 YAMNet에 직접 전달됩니다. 이 앱은 모델의 일반적인 오디오 이벤트 예측 결과 중에서 가능성 있는 새 및 자연 관련 일치 항목을 필터링한 다음, 신뢰도 점수와 함께 상위 결과를 표시합니다.
이 모델은 확정적인 조류학 도구로 취급되지 않습니다. 사용자에게 다시 듣고 주변 환경을 관찰하며 현장 안내서로 결과를 확인하도록 장려하는 가능한 일치 항목을 제공할 뿐입니다.
오픈 혁신이 중요한 이유 (Why Does Open Innovation Matter?)
오픈 혁신은 로컬에서 개인적인 실험을 가능하게 합니다.
폐쇄형 오디오 API는 네트워크 연결을 필요로 하며, 사용자의 주변 환경 녹음을 서비스 제공자가 통제하지 않는 곳으로 전송할 것입니다. TrailTone은 녹음을 브라우저에 보관하여, 연결성이 불안정할 수 있는 공원, 숲 또는 백컨트리 지역에서의 산책에 더 적합합니다.
오픈 모델을 사용한다는 것은 또한 프로젝트가 진화할 수 있음을 의미합니다. YAMNet은 오픈 라이선스가 부여된 데이터로 파인튜닝된 지역별 새소리 모델로 대체되거나, 완전한 무신호 사용을 위해 더 완벽하게 번들링될 수 있습니다. 개발자는 추론을 접근 불가능한 원격 서비스로 취급하는 대신, 마이크 입력부터 예측까지의 전체 경로를 검사하고 변경할 수 있습니다.
이러한 개방형 접근 방식은 기본적인 경험을 무료로 실행할 수 있게 하고 요청당 추론 비용을 피하게 합니다.
상품 카테고리
저는 전체 Hacktoberfest Open-Source AI Challenge Week 1 카테고리에 참가하고 있습니다.
TrailTone은 나열된 파트너 기술 중 어느 것도 사용하지 않으므로, 특정 파트너 관련 상품 카테고리를 주장하지 않습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기