Skip to content

JeanDavidDaviet/lire-la-musique

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Piano

How to Install

To play with the project locally :

Clone the repository

git clone git@github.com:JeanDavidDaviet/piano.git

Go to the directory

cd piano

Install the dependencies

yarn

Run the development server

yarn run start

WIP

Done

  • Fix tempo issues
  • Use config file for global variables ? ( a way to share it)
  • Routing
  • ChangeLog
  • Clef change
  • Add Time signature
  • 4/4 3/4 2/4 6/8 change time signature
  • notes overlapping chords
  • Play note
  • Localization
  • Add button to detect user interaction
  • Add all sounds from top to bottom
  • Add settings dialog
  • Add shortcuts
  • Add redux
  • Change Running Checkbox to Volume Checkbox
  • Add localstorage to keep configuration between reload
  • when using shortcut to change scale with keyboard arrows, need to update the controlScale input too.
  • When the number of alterations changes the start of the red line need to be moved futher right.
  • When using 3/4, need to show only 3 notes
  • Choose between international notation (A, B, C, ...) and latin notation (La, Si, Do, ...)
  • Alterations need to be above the svg lines
  • Use of Perlin noise to nicer note curves

Todo

  • Better handle on audio play() error (NotAllowedError) instead of console.logging everything
  • Add tests
  • When changing the quarter per beat time signature, the note should chage to be quarter, eighth...
  • Sort the scales not on name only but on tone => Cb then C then C#
  • As, Ds, and Gs need to have their signature. Signature can't be relevant to order in array because then order of flats is wrong.
  • Bug with the notation of staves not updating but the scaleInput does.
  • Bug when playing has started and I change the scale while playing, the sheet translateX to the old scale translateX, and not the new

Features

  • Add metronome sound
  • Add differents notes (eighths, half, whole, ...)
  • Make the tempo a range selector
  • Make the sheet bigger or smaller
  • Add both clef in the same time like a real sheet

On update

  • Bump version number (config, package.json)
  • Changelog in differents translations (careful of date format)
  • Cleanup
  • Tests
  • Dploy