qualiaa / humidifier Goto Github PK
View Code? Open in Web Editor NEWA little musicology tool for my dad
License: GNU General Public License v3.0
A little musicology tool for my dad
License: GNU General Public License v3.0
I've tended to use Diagrams.hs normalized units - however, the behaviour isn't quite what I want. Possibly output units would be more appropriate - needs some looking at
The piano roll currently visually resembles a piano (i.e. white notes are in the C major scale). It would be nice to visually represent different possible scales.
This could either change which pitches are "dark" on the roll, or it could highlight notes outside the selected scale somehow.
Following from #3, it would be nice to change the scale of the piece at a specific time.
There is a Key Signature MIDI meta message
MIDI files support a Key Signature meta message - however, this won't be sufficient to support e.g. pentatonic scales.
One alternative is to set this information on the command-line, though the resulting command string may be slightly ponderous.
Another option is a configuration file.
Currently we support single-track MIDI files. To make the tool more generally useful, it would be nice to plot a selected set of tracks from the file, defaulting to all of them, perhaps each with its own note colour.
Currently there is one global time signature. However, time signatures can change throughout a piece.
MIDI files support a Time Signature meta message - we should process these correctly.
As an alternative, it may be workable to set this information on the command-line, though the resulting command string may be slightly ponderous.
Following from #6, it would be good to have an optional triplet grid. There are two main kinds of triplet:
Not sure how these would interact with a non-quarter beat unit.
Displaying a full grid may be overkill, may be a better way of visualising it. Possibly detecting notes that fall on those lines and marking their beginnings somehow?
Time signature is currently hard-coded to 4:4. May not be able to support all exotic time-signatures, but should at least handle simple time signatures of form N:M where N is the beats per bar and M is the beat unit.
Currently we draw grid-lines for the beat and the bar. It would be good to have an option for finer divisions. For a beat unit N, divisions of N/2 and N/4 might be sufficient
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.