Repolode
Tonejs

Tonejs/Tone.js

브라우저에서 인터랙티브 음악과 신시사이저를 만들고, DAW 스타일의 Transport 스케줄링을 지원하는 Web Audio 프레임워크입니다.

스타
14,889
포크
1,087
열린 이슈
50
마지막 커밋
6일 전

어떤 프로젝트인가요?

Tone.js는 Web Audio API를 기반으로 브라우저에서 인터랙티브 음악을 만들 수 있는 JavaScript 프레임워크입니다. 이벤트를 동기화하고 예약하는 전역 Transport와 함께, 서로 연결해 사용할 수 있는 사전 제작 신시사이저, 샘플러, 이펙트 등 DAW와 유사한 기능을 제공합니다.

또한 라이브러리는 커스텀 신시사이저, 이펙트, 제어 신호를 만들 수 있는 저수준 구성 요소도 제공합니다. 타이밍은 초 단위뿐 아니라 "8n", "1m" 같은 음악 단위로 지정하며, 콜백에는 샘플 단위까지 정확한 스케줄링 시간을 전달합니다. Player와 Sampler로 오디오 파일을 불러올 수 있으며, Sampler는 음 사이의 간격을 채우도록 샘플의 피치를 조절합니다.

Tone.js는 npm으로 설치할 수 있으며, HTML 페이지에서 unpkg를 통해 직접 불러올 수도 있습니다. 브라우저에서 오디오를 재생하려면 사용자 동작이 필요하므로, 애플리케이션은 클릭이나 keydown 핸들러에서 Tone.start()를 호출합니다.

핵심 기능

  • 01DAW의 어레인지 뷰와 유사하게 이벤트를 동기화하고 예약하는 전역 Transport입니다.
  • 02FMSynth, AMSynth, NoiseSynth, PolySynth를 포함한 사전 제작 모노포닉 및 폴리포닉 신시사이저입니다.
  • 03오디오 파일을 불러오고 여러 음에 맞춰 샘플의 피치를 조절하는 Sampler와 Player입니다.
  • 04직렬 또는 병렬로 연결할 수 있는 내장 이펙트입니다.
  • 05램프와 자동화 곡선을 지원하는 오디오 레이트 Signal 파라미터입니다.
  • 06초 단위와 함께 사용할 수 있는 "4n", "8t" 등의 음악 시간 표기법입니다.

활용 사례

  • 브라우저 기반 음악 시퀀서나 드럼 머신 만들기.
  • 웹 페이지에서 인터랙티브 생성 음악이나 오디오 시각화 구현하기.
  • Web Audio로 신시사이저와 이펙트 프로토타이핑하기.
  • 웹 게임이나 음악 교육 앱에 샘플 기반 악기 추가하기.

빠른 시작

  1. 1

    npm에서 Tone.js를 설치합니다

    npm install tone
  2. 2

    프로젝트에 Tone.js를 가져옵니다

    import * as Tone from "tone";
  3. 3

    신스를 생성해 스피커에 연결하고, 사용자가 클릭한 후 음을 재생합니다(먼저 Tone.start()를 호출하세요)

사용 전 알아둘 점

  • 브라우저는 사용자 동작이 있기 전까지 오디오를 차단하므로 Tone.start()는 사용자 이벤트에서 호출해야 합니다.

토픽

#web-audio#music#audio-synthesis#javascript#typescript#scheduling#sampling#samples#synthesis#tone

자주 묻는 질문

Tone.js은(는) 무엇인가요?
브라우저에서 인터랙티브 음악과 신시사이저를 만들고, DAW 스타일의 Transport 스케줄링을 지원하는 Web Audio 프레임워크입니다. Tone.js는 Web Audio API를 기반으로 브라우저에서 인터랙티브 음악을 만들 수 있는 JavaScript 프레임워크입니다. 이벤트를 동기화하고 예약하는 전역 Transport와 함께, 서로 연결해 사용할 수 있는 사전 제작 신시사이저, 샘플러, 이펙트 등 DAW와 유사한 기능을 제공합니다.
Tone.js은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
Tone.js은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
Tone.js은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. Tone.js의 마지막 커밋은 2026년 11월 1일입니다.
Tone.js은(는) 어디에 사용할 수 있나요?
브라우저 기반 음악 시퀀서나 드럼 머신 만들기. 웹 페이지에서 인터랙티브 생성 음악이나 오디오 시각화 구현하기. Web Audio로 신시사이저와 이펙트 프로토타이핑하기. 웹 게임이나 음악 교육 앱에 샘플 기반 악기 추가하기.
Tone.js는 어떻게 설치하나요?
npm에서 Tone.js를 설치합니다: npm install tone 프로젝트에 Tone.js를 가져옵니다: import * as Tone from "tone"; 신스를 생성해 스피커에 연결하고, 사용자가 클릭한 후 음을 재생합니다(먼저 Tone.start()를 호출하세요)
Tone.js은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/Tonejs/Tone.js

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

코드로 코드와 스케일을 분석하고, 연주 가능한 MIDI와 사운드를 만들 수 있는 음악 이론·작곡·오디오 스케치용 Python 라이브러리입니다.

학습 자료#music-theory#music#midi
1.7천+1 이번 주84PythonMIT업데이트 7일 전

공간 오디오 제어 기능을 갖춘, 여러 브라우저 기기에서 음악을 정밀하게 동기화하는 웹 오디오 플레이어

생산성·앱#audio#web-audio#time-synchronization
3.2천+9 이번 주311TypeScriptMIT업데이트 5개월 전