music-types

Provides a self-contained TypeScript model for music theory and MIDI data.

4|Updated Jan 28, 2026
One-click install
npx skills add https://github.com/AvneeshSarwate/avTools --skill music-types
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: music-types
Source: https://github.com/AvneeshSarwate/avTools/tree/main/skills/music-types
Command: npx skills add https://github.com/AvneeshSarwate/avTools --skill music-types

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Provides a self-contained TypeScript model for music theory concepts and MIDI data, including Ableton-like clips, scales, curves, and MPE data, enabling safe reuse across the avTools monorepo.

Core Features & Use Cases

  • Type definitions and utilities for AbletonClip, AbletonNote, Scale, CurveValue, and related converters.
  • Bezier-based envelope curves and MPE data support for per-note modulation.
  • Tools to build, transform, and map musical structures (scales, shapes, transposition, time-stretching) in a purely TypeScript environment used by both Deno notebooks and browser apps.

Quick Start

Import AbletonClip, quickNote, and Scale from @avtools/music-types and create a simple clip with a chosen scale, then apply basic transformations such as scaleTranspose or shift.

Frequently Asked Questions about music-types

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I model MIDI clips and scales in TypeScript without external dependencies?

TypeScript MIDI clips and scales can be modeled using a zero-dependency, runtime-agnostic type system. This provides type definitions for AbletonClip, Scale, and AbletonNote, enabling safe musical data manipulation across Deno and browser environments.

Can I use TypeScript music types to generate MPE data for per-note modulation?

TypeScript music types support MPE data and Bezier-based envelope curves for per-note modulation. This allows developers to define and manipulate polyphonic expression parameters directly within their musical app or generator environment.

What's the best way to structure music theory data for a web-based audio editor?

Structuring music theory data for a web audio editor is best handled by exporting pure TypeScript types and classes for scales, shapes, and transposition. This enables runtime-agnostic data processing without coupling the editor to heavy audio frameworks.

Does this TypeScript music model support time-stretching and transposition operations?

The TypeScript music model supports time-stretching and transposition operations through built-in tools to build, transform, and map musical structures. You can apply functions like scaleTranspose and shift directly to AbletonClip data.

How do I create a simple MIDI clip with a chosen scale in a TypeScript notebook?

To create a simple MIDI clip in a TypeScript notebook, import AbletonClip, quickNote, and Scale from the music-types package. You can then instantiate a clip with a chosen scale and apply basic transformations like scaleTranspose.

Why use a zero-dependency type system for Ableton-like clips in a monorepo?

A zero-dependency type system for Ableton-like clips ensures safe, reusable data models across a monorepo. It prevents runtime conflicts and allows both Deno notebooks and browser apps to share identical music theory structures safely.