• Stars
    star
    114
  • Rank 308,031 (Top 7 %)
  • Language
    TypeScript
  • Created almost 9 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🎼 HTML5/WebAudio multi-track songwriting app with chord analysis support! -- https://hlorenzi.github.io/theorytracker/

TheoryTracker

🎼 Try it right now on your browser!

Join the Discord server!

This is a multi-track piano-roll-style song editor app with an emphasis on music theory, where notes and chords are color-coded according to the key, and some editing tools work diatonically.

The app can currently import .mid and its own .ttproj project files, which are in plain JSON format. It can currently export .ttproj files and render .wav files.

Several soundfonts are readily available from an online repository.

How to use

General usage:

  • Use the middle or right mouse buttons to pan.

  • Hold A to draw elements with the mouse.

  • Right-click on an element to change its properties.

    • Do a long right-click for a context menu with more commands.
  • Double-click on a note block to edit its notes.

    • Click on "Project Root" on the breadcrumb bar to exit note editing mode.
  • Press Space to toggle playback starting from the cursor.

  • Press Esc to rewind.

  • Use Backspace to delete incrementally.

  • Use Ctrl + Z to undo, and Ctrl + Y or Ctrl + Shift + Z to redo.

  • Also use 1234567 to create notes and chords.

When elements are selected:

  • Use to move.

    • Combine with Ctrl for faster movement.
  • Use to change the pitch of notes, and the root of chords.

    • Combine with Ctrl to change pitch by octaves.
    • Combine with Shift to change pitch chromatically.
  • Also use ,. to change pitch chromatically.

  • Use Shift + to stretch.

  • Hold Alt then drag with the mouse to duplicate.

  • Press Enter to unselect all.

  • Press Delete to delete.

  • Use Ctrl + X, C, or V for the usual cut/copy/paste commands.

Building from source

Install npm dependencies with npm install, then perform a build with npm run build. You can also run npm run watch to work locally.

Then, run npm start or any other simple HTTP web server from the repository folder, and navigate to http://127.0.0.1.

More Repositories

1

customasm

💻 An assembler for custom, user-defined instruction sets! https://hlorenzi.github.io/customasm/web/
Rust
703
star
2

musicode

🎶 Markup language for music creation and analysis! -- https://hlorenzi.github.io/musicode/
JavaScript
65
star
3

galaxy

🌎 A 3D Super Mario Galaxy-esque orbital-gravity platformer prototype in WebGL! https://hlorenzi.github.io/galaxy/
JavaScript
41
star
4

circuitsim

⚡ Analog circuit simulator! -- https://hlorenzi.github.io/circuitsim/
JavaScript
23
star
5

jisho-open

㊗️ Web frontend for the JMdict Japanese-English dictionary project, with study list support! -- https://jisho.hlorenzi.com
TypeScript
21
star
6

react-dockable

An easy-to-use dockable window manager for React, fully embracing hooks! -- https://hlorenzi.github.io/react-dockable/
TypeScript
21
star
7

font-js

🔠 Visually inspect .otf/.ttf/.otc/.ttc glyphs online, and extract glyph images and metadata through the command line! -- https://hlorenzi.github.io/font-js/
JavaScript
21
star
8

mapvania

🗺🧱🕹 Project-oriented, tileset- and object-based level editor for games! -- https://hlorenzi.github.io/mapvania/
TypeScript
21
star
9

kmp-editor

Intuitive Mario Kart Wii course data editor!
JavaScript
20
star
10

mahnesjs

🕹 A pure JavaScript + another Rust/WebAsm NES emulator! -- https://hlorenzi.github.io/mahnesjs/
Rust
15
star
11

mk8d_ocr

🏁 Mario Kart 8 Deluxe table maker with OCR functionality! -- https://gb.hlorenzi.com/table
JavaScript
14
star
12

customasm-vscode

VSCode syntax highlighting support for customasm
5
star
13

mahnes

🕹 C++ NES emulator with 6502 sub-instruction timing!
C++
5
star
14

mariokartbot

A Discord bot that lets users hit each other with Mario Kart items!
Python
2
star
15

composer

C# Intuitive Music Tracker with Functional Harmony Support
C#
2
star
16

graphdb

JavaScript
2
star
17

trapl

Trapl Programming Language
C#
2
star
18

layout

Concept for a better HTML layout engine
JavaScript
2
star
19

smbview

Super Mario Bros. level decoder/viewer (incomplete) -- https://hlorenzi.github.io/smbview/
JavaScript
2
star
20

buffer-js

Utilities for working with buffer arrays
JavaScript
1
star
21

jislozt

👾 A little arcade game that blends Tetris and Space Invaders! https://hlorenzi.github.io/jislozt/
JavaScript
1
star
22

dockable-windows

Fully-managed C# Windows.Forms Visual Studio-style window docking
C#
1
star
23

platformer

https://hlorenzi.github.io/platformer/
TypeScript
1
star
24

mkgl

JavaScript
1
star
25

json

A small, quick-and-dirty C# JSON parser
C#
1
star
26

cameraview

Simple webcam display & capture -- https://hlorenzi.github.io/cameraview/
HTML
1
star
27

circuitsim-ml

Creator of samples and training for Machine Learning to my other repo `circuitsim`
JavaScript
1
star
28

vowel-analysis

Vowel formant frequency synthesis and analysis on the browser -- https://hlorenzi.github.io/vowel-analysis/
TypeScript
1
star
29

collision2d

JavaScript
1
star