evashort / chords Goto Github PK
View Code? Open in Web Editor NEWText-based chord progression editor
Home Page: http://evanshort.name/chords/
License: MIT License
Text-based chord progression editor
Home Page: http://evanshort.name/chords/
License: MIT License
To reproduce, delete textbox contents, uncheck "Default" for BPM, delete newline, re-check "Default".
Janko keyboard has a nice property: a chord has the same shape in any key.
Also, it provides good visual representations of scales:
Hi, it's possible add a random progression generator for 4/8/16 bars like https://chordchord.com/.
Allow users to type pipe characters that function as barlines.
When a line of text contains no barlines, the default division is two chords per bar, with the last chord taking a full bar if there's an odd number of chords.
|A|
= Full bar of A|A B|
= Half bar each of A and B|A B C|
= One beat each of A and B, half bar of C|A B C D|
= One beat of each chord|A B C D E|
= Too many chords to fit in a bar. Default barlines are added between B and C as well as between D and E.If a line of text does not start with a barline, chords before the first barline use the default division.
If a line of text does not end with a barline, chords after the last barline use the default division.
When the user clicks the first chord of a bar, playback automatically advances to the end of the bar. This only applies if the user has put an explicit barline on both sides.
In order to fit 4 chords in a bar, the "Basic" strum pattern will have to be adjusted so that each cycle is half a bar. This means its default BPM will be 65 instead of 125.
after clicking a chord twice in arpeggio mode it should be considered both "currently playing" and "scheduled to play next" and it should have a dotted outline
should be replaced with: https://evashort.com/chords/
Add a set of radio buttons under the keyboard like ( Root position | Over E | Over G ). When these buttons are clicked, set the inversion
field of the keyboard
object, causing it to display the inversion. Reset the inversion
field when another chord is played. When the user selects the notes of an inverted chord, set the customInversion
field of the keyboard
object and show the chord name below the keyboard as if it was a normal chord.
Go to http://evanshort.name/chords/#text=key%3A+Ab%0Alowest%3A+4%0AAb+Bbm+Cm+Db+Eb+Fm+Go%0A
type anything in the textbox, then middle click the refresh button
Lines consisting of only spaces should not be highlighted red.
First of all: Really cool project! ๐ I think I'm going to add a link to the website to all my song ideas from now on. Makes it much easier to pick up a song again after you haven't worked on it for a long time. ๐
As an additional idea: It would be cool to be able to write the chords in the Nashville Number System.
In order of importance: Triad in first inversion, Triad in second inversion, Seventh chord in first inversion, Seventh chord in second inversion
For example, Alberti bass.
Let's start with the simplest possible implementation:
To reproduce, play some chords, make the textbox empty, then click the history Use button. There will be an empty line in the textbox before the sequence.
to reproduce, select all and paste this over it:
octave: A2
Am Bo C Dm Em F G
AmM7 Bo7 _ D0 E7 FmM7 G#o7
AmM7 Bo7 _ D0 E7 FmM7 G#o7
Am7 B0 CM7 Dm7 Em7 FM7 G7
_ _ _ _ E Fm G#o
To reproduce:
To reproduce, type a character, click Save in URL, then type a few more characters. To get back to your first savepoint, you will have to press the browser's back button once for each new character you typed.
To reproduce, click some chords in pad mode, then click stop, then click some more chords. All chords will be added to the same sequence in history.
Link in about is "evanshort" instead of "evashort," see https://github.com/evashort/chords#:~:text=evanshort.name/chords/
Requesting you to edit this.
When last cell of row changes length, and rows above or below have more columns, cells above and below don't resize. To reproduce, use
C C
B
and transpose from C to G. The top left grid cell should expand but it doesn't.
I wanted to improve the UI with a userstyle, but DOM elements lack classes.
I applied my very poor design skills to the site. This is the result: https://gist.github.com/suhr/a1952cd7d002b48a55f2b5dd907e3b04
Now it looks like this. Still looks poorly, but I hope there's an improvement.
Speaking of improvements, it would be nice to align elements, so they won't look like a mess. Take a look on BeepBox, the settings look nice because they are aligned.
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.