Skip to content
/ Piano Public

A Java-based digital piano built with Java MIDI and JavaFX, enabling users to play notes, create musical sequences, and explore music theory through code.

License

Notifications You must be signed in to change notification settings

Aghajari/Piano

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Piano

A Java-based digital piano application built using Java MIDI and JavaFX, designed to play musical compositions like Beethoven's Für Elise. This project serves as both a functional piano and an educational tool to understand MIDI programming and music theory fundamentals, such as notes, time signatures, dynamics, and rests.

Read more on Where to Start: Building a Piano App

Features

  • Play Individual Notes: Trigger single notes or chords with precise MIDI control.
  • Musical Sequences: Create and play sequences programmatically, supporting complex compositions.
  • Music Theory Integration: Implements core concepts like time signatures (e.g., 3/4), note durations, and dynamic markings (e.g., mezzo-piano, crescendo).
  • Für Elise Demo: Includes a coded implementation of Beethoven's Für Elise as a showcase.
  • Simple JavaFX UI: Visualizes the piano keyboard and sequencer for user interaction.

Demos

Playing notes:

PlayingNotes.mov

Für Elise

FurElise.mov

Donyaye In Roozaye Man (Dariush)

DonyayeInRoozayeMan_Dariush.mov

About

A Java-based digital piano built with Java MIDI and JavaFX, enabling users to play notes, create musical sequences, and explore music theory through code.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages