Skip to content

ShaharFullStack/FigureNotes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FigureNotes ๐ŸŽต

FigureNotes is an interactive 3D piano tool using Three.js. The project allows playing music through a visual piano interface with advanced visual and sound effects.

Features โœจ

Playing

  • Visual piano with 4 octaves
  • Mouse and touch support
  • Hold notes with Shift key
  • Change sounds while dragging

Sound

  • Various sound banks:
    • Basic synthesizer
    • Acoustic piano
  • Full control over parameters:
    • Waveform (sine, square, triangle, sawtooth)
    • Volume
    • Attack and release time
    • Reverb
    • Delay
    • Distortion
    • Filter

Visualization

  • Visual effects:
    • Particles
    • Animated background
    • Note trails
  • Different color themes:
    • Blue
    • Green
    • Purple
    • Red
    • Orange

Additional Tools

  • Recording capability (in development)
  • Fullscreen mode
  • Interactive help guide

System Requirements ๐Ÿ–ฅ๏ธ

  • Modern browser with WebGL support
  • Sound card
  • Internet connection

Installation ๐Ÿš€

  1. Download the project:
git clone https://github.com/ShaharFullStack/FigureNotes.git
cd FigureNotes
  1. Install dependencies:
npm install
  1. Start the server:
npm start
  1. Open your browser at http://localhost:3000

Usage ๐ŸŽน

Playing

  • Click keys to play notes
  • Hold Shift key to sustain notes
  • Drag mouse to change notes while playing

Changing Sounds

  • Select sound bank from menu
  • Choose waveform
  • Adjust various parameters

Visualization

  • Toggle visual effects
  • Choose color theme
  • Adjust effect intensity

Technologies ๐Ÿ› ๏ธ

  • Three.js - 3D rendering
  • Web Audio API - Sound processing
  • Howler.js - Sound management

License ๐Ÿ“„

This project is licensed under the MIT License. See the LICENSE file for details.

ืคื™ื’ืจื ื•ื˜ืก ๐ŸŽต

FigureNotes ื”ื•ื ื›ืœื™ ืื™ื ื˜ืจืืงื˜ื™ื‘ื™ ืœื ื’ื™ื ื” ื‘ืคืกื ืชืจ ืชืœืช-ืžืžื“ื™ ื‘ืืžืฆืขื•ืช Three.js. ื”ืคืจื•ื™ืงื˜ ืžืืคืฉืจ ืœื ื’ืŸ ืžื•ื–ื™ืงื” ื“ืจืš ืžืžืฉืง ื•ื™ื–ื•ืืœื™ ืฉืœ ืคืกื ืชืจ ืขื ืืคืงื˜ื™ื ื•ื™ื–ื•ืืœื™ื™ื ื•ืฆืœื™ืœื™ื™ื ืžืชืงื“ืžื™ื.

ืชื›ื•ื ื•ืช โœจ

ื ื’ื™ื ื”

  • ืคืกื ืชืจ ื•ื™ื–ื•ืืœื™ ืขื 4 ืื•ืงื˜ื‘ื•ืช
  • ืชืžื™ื›ื” ื‘ืขื›ื‘ืจ ื•ืžืกืš ืžื’ืข
  • ืืคืฉืจื•ืช ืœื”ื—ื–ื™ืง ืฆืœื™ืœื™ื ืขื ืžืงืฉ Shift
  • ืฉื™ื ื•ื™ ืฆืœื™ืœื™ื ื‘ื–ืžืŸ ื’ืจื™ืจื”

ืฆืœื™ืœ

  • ื‘ื ืงื™ ืฆืœื™ืœื™ื ืžื’ื•ื•ื ื™ื:
    • ืกื™ื ืชื™ืกื™ื™ื–ืจ ื‘ืกื™ืกื™
    • ืคืกื ืชืจ ืืงื•ืกื˜ื™
  • ืฉืœื™ื˜ื” ืžืœืื” ื‘ืคืจืžื˜ืจื™ื:
    • ื’ืœ ืฆืœื™ืœ (sine, square, triangle, sawtooth)
    • ืขื•ืฆืžืช ืฆืœื™ืœ
    • ื–ืžืŸ ื”ืชืงืคื” ื•ืฉื—ืจื•ืจ
    • ืจื™ื•ื•ืจื‘
    • ื“ื™ืœื™ื™
    • ื“ื™ืกื˜ื•ืจืฉืŸ
    • ืคื™ืœื˜ืจ

ื•ื™ื–ื•ืืœื™ื–ืฆื™ื”

  • ืืคืงื˜ื™ื ื•ื™ื–ื•ืืœื™ื™ื:
    • ื—ืœืงื™ืงื™ื
    • ืจืงืข ืžื•ื ืคืฉ
    • ืฉื•ื‘ืœื™ ืฆืœื™ืœื™ื
  • ืชืžื•ืช ืฆื‘ืข ืฉื•ื ื•ืช:
    • ื›ื—ื•ืœ
    • ื™ืจื•ืง
    • ืกื’ื•ืœ
    • ืื“ื•ื
    • ื›ืชื•ื

ื›ืœื™ื ื ื•ืกืคื™ื

  • ื™ื›ื•ืœืช ื”ืงืœื˜ื” (ื‘ืคื™ืชื•ื—)
  • ืžืฆื‘ ืžืกืš ืžืœื
  • ืžื“ืจื™ืš ืขื–ืจื” ืื™ื ื˜ืจืืงื˜ื™ื‘ื™

ื“ืจื™ืฉื•ืช ืžืขืจื›ืช ๐Ÿ–ฅ๏ธ

  • ื“ืคื“ืคืŸ ืžื•ื“ืจื ื™ ืขื ืชืžื™ื›ื” ื‘-WebGL
  • ื›ืจื˜ื™ืก ืกืื•ื ื“
  • ื—ื™ื‘ื•ืจ ืœืื™ื ื˜ืจื ื˜

ื”ืชืงื ื” ๐Ÿš€

  1. ื”ื•ืจื“ ืืช ื”ืคืจื•ื™ืงื˜:
git clone https://github.com/ShaharFullStack/FigureNotes.git
cd FigureNotes
  1. ื”ืชืงืŸ ืืช ื”ืชืœื•ื™ื•ืช:
npm install
  1. ื”ืคืขืœ ืืช ื”ืฉืจืช:
npm start
  1. ืคืชื— ืืช ื”ื“ืคื“ืคืŸ ื‘ื›ืชื•ื‘ืช http://localhost:3000

ืฉื™ืžื•ืฉ ๐ŸŽน

ื ื’ื™ื ื”

  • ืœื—ืฅ ืขืœ ื”ืžืงืฉื™ื ื›ื“ื™ ืœื ื’ืŸ ืฆืœื™ืœื™ื
  • ื”ื—ื–ืง ืืช ืžืงืฉ Shift ื›ื“ื™ ืœื”ื—ื–ื™ืง ืฆืœื™ืœ
  • ื’ืจื•ืจ ืืช ื”ืขื›ื‘ืจ ื›ื“ื™ ืœืฉื ื•ืช ืฆืœื™ืœื™ื ื‘ื–ืžืŸ ื ื’ื™ื ื”

ืฉื™ื ื•ื™ ืฆืœื™ืœื™ื

  • ื‘ื—ืจ ื‘ื ืง ืฆืœื™ืœื™ื ืžื”ืชืคืจื™ื˜
  • ื‘ื—ืจ ื’ืœ ืฆืœื™ืœ
  • ื”ืชืื ืืช ื”ืคืจืžื˜ืจื™ื ื”ืฉื•ื ื™ื

ื•ื™ื–ื•ืืœื™ื–ืฆื™ื”

  • ื”ืคืขืœ/ื›ื‘ื” ืืคืงื˜ื™ื ื•ื™ื–ื•ืืœื™ื™ื
  • ื‘ื—ืจ ืชืžืช ืฆื‘ืข
  • ื”ืชืื ืืช ืขื•ืฆืžืช ื”ืืคืงื˜ื™ื

ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ๐Ÿ› ๏ธ

  • Three.js - ืจื™ื ื“ื•ืจ ืชืœืช-ืžืžื“ื™
  • Web Audio API - ืขื™ื‘ื•ื“ ืฆืœื™ืœ
  • Howler.js - ื ื™ื”ื•ืœ ืฆืœื™ืœื™ื

ืจื™ืฉื™ื•ืŸ ๐Ÿ“„

ืคืจื•ื™ืงื˜ ื–ื” ืžื•ืคืฅ ืชื—ืช ืจื™ืฉื™ื•ืŸ MIT. ืจืื” ืงื•ื‘ืฅ LICENSE ืœืคืจื˜ื™ื ื ื•ืกืคื™ื.


Releases

No releases published

Packages

 
 
 

Contributors