8000 GitHub - JakesMD/dart_chord_transposer: A Dart package for transposing chords into any given key.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

JakesMD/dart_chord_transposer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Dart package for transposing chords into any given key.

Features

  • Transpose chords from one key to another
  • Transpose chords up or down semitones
  • Find chords in lyrics and transpose them into another key
  • Find chords in lyrics and transpose up or down semitones

Usage

First initialize the ChordTransposer:

final transposer = ChordTransposer();

Transpose chords

Transpose a single chord from one key to another:

transposer.chordToKey(chord: 'D/F#', fromKey: 'A', toKey: 'G'); // => C/E

Transpose multiple chords from one key to another. If fromKey is not given, it will use the first chord in the list:

transposer.chordsToKey(chords: ['C', 'F', 'Am', 'G7', 'Bdim'], toKey: 'E'); // => [E, A, C#m, B7, D#dim]

Transpose a single chord up or down semitones:

transposer.chordUp(chord: 'D', semitones: 5); // => G
transposer.chordDown(chord: 'Bb', semitones: 2); // => Ab

Transpose multiple chords up or down semitones:

transposer.chordsUp(chords: ['D','Aadd9'], semitones: 4); // => [Gb, Dbadd9]
transposer.chordsDown(chords: ['Bb7/D', 'Eb'], semitones: 6); // => [E7/G#, A]

Transpose lyrics

final lyrics = '''
[C]Twinkle, twinkle [F]little [C]star.
[F]How I [C]wonder [G7]what you [C]are.
''';

Tranpose lyrics from one key to another. If fromKey is not given, it will use the first chord in the lyrics. When ignoreInvalids is set to true (default), it will ignore all invalid chords. When it is set to false, it will throw an error if there is an invalid chord:

transposer.lyricsToKey(lyrics: lyrics, fromKey: 'C', toKey: 'G'); // =>
// [G]Twinkle, twinkle [C]little [G]star.
// [C]How I [G]wonder [D7]what you [G]are.

Transpose lyrics up or down semitones:

transposer.lyricsUp(lyrics: lyrics, semitones: 5); // =>
// [F]Twinkle, twinkle [A]little [F]star.
// [Bb]How I [F]wonder [C7]what you [F]are.

transposer.lyricsDown(lyrics: lyrics, semitones: 3); // =>
// [A]Twinkle, twinkle [D]little [A]star.
// [D]How I [A]wonder [E7]what you [A]are.

Additional information

This package built to work with paurakhsharma's flutter_chord package and was inpsired by ddycai's chord-transposer npm package.

About

A Dart package for transposing chords into any given key.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0