Repolode
Tonejs

Tonejs/Tone.js

Фреймворк Web Audio для создания интерактивной музыки и синтезаторов в браузере с планированием событий через Transport в стиле DAW.

Звёзды
14,889
Форки
1,087
Открытые issues
50
Последний коммит
6 дней назад

Что это?

Tone.js — это JavaScript-фреймворк для создания интерактивной музыки в браузере на базе Web Audio API. В нём есть функции в духе DAW: глобальный Transport для синхронизации и планирования событий, а также готовые синтезаторы, сэмплеры и эффекты, которые можно соединять между собой.

Библиотека также предоставляет низкоуровневые строительные блоки для создания собственных синтезаторов, эффектов и управляющих сигналов. Время можно задавать в музыкальных единицах, например "8n" или "1m", а также в секундах; передаваемые в колбэки значения времени позволяют планировать события с точностью до сэмпла. Аудиофайлы можно загружать с помощью Player и Sampler; Sampler транспонирует сэмплы, чтобы заполнить промежутки между нотами.

Tone.js можно установить через npm, а также подключить напрямую с unpkg в HTML-странице. Браузеры требуют жеста пользователя перед воспроизведением звука, поэтому приложения вызывают Tone.start() из обработчика клика или нажатия клавиши.

Ключевые возможности

  • 01Глобальный Transport для синхронизации и планирования событий, похожий на окно аранжировки в DAW.
  • 02Готовые монофонические и полифонические синтезаторы, включая FMSynth, AMSynth, NoiseSynth и PolySynth.
  • 03Sampler и Player для загрузки аудиофайлов и транспонирования сэмплов между нотами.
  • 04Встроенные эффекты, которые можно соединять последовательно или параллельно.
  • 05Параметры Signal с аудиочастотой, огибающими и кривыми автоматизации.
  • 06Музыкальная нотация времени, например "4n" и "8t", наряду с секундами.

Сценарии использования

  • Создание браузерных музыкальных секвенсоров или драм-машин.
  • Создание интерактивной генеративной музыки или визуализаций звука на веб-странице.
  • Прототипирование синтезаторов и эффектов с помощью Web Audio.
  • Добавление сэмплерных инструментов в веб-игру или приложение для музыкального образования.

Быстрый старт

  1. 1

    Установите Tone.js из npm

    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?
Фреймворк Web Audio для создания интерактивной музыки и синтезаторов в браузере с планированием событий через Transport в стиле DAW. Tone.js — это JavaScript-фреймворк для создания интерактивной музыки в браузере на базе Web Audio API. В нём есть функции в духе DAW: глобальный Transport для синхронизации и планирования событий, а также готовые синтезаторы, сэмплеры и эффекты, которые можно соединять между собой.
Tone.js можно использовать бесплатно? Какая у него лицензия?
Tone.js распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
Tone.js всё ещё поддерживается?
Активно поддерживается. Последний коммит в Tone.js — 1 нояб. 2026 г..
Для чего можно использовать Tone.js?
Создание браузерных музыкальных секвенсоров или драм-машин. Создание интерактивной генеративной музыки или визуализаций звука на веб-странице. Прототипирование синтезаторов и эффектов с помощью Web Audio. Добавление сэмплерных инструментов в веб-игру или приложение для музыкального образования.
Как установить Tone.js?
Установите Tone.js из npm: npm install tone Импортируйте Tone.js в проект: import * as Tone from "tone"; Создайте синтезатор, подключите его к динамикам и воспроизведите ноту после щелчка пользователя (сначала вызовите Tone.start())
Где скачать Tone.js?
Исходный код и инструкции по установке — на GitHub: https://github.com/Tonejs/Tone.js

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Библиотека Python для теории музыки, сочинения и аудиоэскизов: анализируйте аккорды и гаммы, создавайте MIDI и звук с помощью кода.

Обучающие материалы#music-theory#music#midi
1,7 тыс.+1 за неделю84PythonMITОбновлён 8 дней назад

Курс от Microsoft для начинающих, который знакомит с генеративным ИИ на JavaScript через историю о путешествиях во времени и приложение для общения с персонажами.

1,3 тыс.+4 за неделю851JavaScriptMITОбновлён 5 дней назад