Библиотека Python для теории музыки, сочинения и аудиоэскизов: анализируйте аккорды и гаммы, создавайте MIDI и звук с помощью кода.
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
Установите Tone.js из npm
npm install tone - 2
Импортируйте Tone.js в проект
import * as Tone from "tone"; - 3
Создайте синтезатор, подключите его к динамикам и воспроизведите ноту после щелчка пользователя (сначала вызовите Tone.start())
Что важно знать
- Браузеры блокируют воспроизведение звука до действия пользователя, поэтому Tone.start() нужно вызывать из обработчика пользовательского события.
Темы
Частые вопросы
- Что такое 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 обновляется ежедневно.
Похожие проекты
Браузерная цифровая звуковая рабочая станция (DAW) для создания музыки — без регистрации и отслеживания.
Браузерное 3D-путешествие на лодке по долине японской реки: сцена на three.js рендерится в реальном времени в любое время суток и во все четыре сезона.
Веб-аудиоплеер с точной синхронизацией музыки между несколькими устройствами и управлением пространственным звучанием.
Курс от Microsoft для начинающих, который знакомит с генеративным ИИ на JavaScript через историю о путешествиях во времени и приложение для общения с персонажами.
Подборка готовых к запуску примеров Docker Compose, показывающих, как связать распространённые сервисы для локальной разработки.