Skip to content

andrsdt/pianode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stargazers MIT License LinkedIn


Table of Contents
  1. About The Project
  2. Features
  3. License
  4. Contact

About The Project

Pianode is a webapp that allows you to play the piano online. You can join a room and play with your friends. The app is built using the following technologies:

  • TypeScript as the main language
  • React.js for the client
  • TailwindCSS for the styling
  • Express for the server
  • Zustand for the state management (key presses, camera, etc.)
  • Blender for creating the 3D models
  • react-three-fiber for the 3D rendering
  • socket.io for the real-time communication
  • tone.js for the audio synthesis
  • midi.js for allowing MIDI input
  • react-spring for the animations
  • react-hot-toast for the notifications

Features

Webapp:

  • ✅ Online
  • ✅ Room system
  • ✅ Camera controls

Piano:

  • ✅ Key trails
  • ✅ Sustain toggle button
  • ✅ Sustain pedal (only MIDI)
  • ✅ Hammer action keys animation

Input controls:

  • ✅ Mouse
  • ✅ Keyboard
  • ✅ Touch
  • ✅ MIDI

For any doubt or suggestion, do not hesitate to contact me

(back to top)

License

Distributed under the MIT License. See LICENSE.md for more information.

(back to top)

Contact

Andrés Durán - @andresdt - andrez#0077 - duranand@fit.cvut.cz

Project Link: https://github.com/andrsdt/pianode

(back to top)

About

A web piano to play together with your friends 🎹

Topics

Resources

License

Stars

Watchers

Forks

Contributors