Skip to content

SketchIO/intern-project-melodious

Repository files navigation

Melodius - A virtual piano keyboard application



Author Names: Brittany Lindgren and Thomas Glenn

Overview of Melodius App

Project’s Purpose or Goal:

To allow users to free play on the keyboard to hear notes and create animations using the Sketch.io API and to help users learn melodies on an interactive virtual keyboard.

Wireframe

User Story Image
As a user I want to agree to continue to the application and see the instructions so that I know how to interact with the application Consent to continue modal
As a user I want to be able to play any note on the keyboard Image Alt
As a user, when I play a note on the keyboard, I want to hear the corresponding sound and see animations occur on the screen Image Alt
As a user I want to be able to switch between free play mode and learn melody mode Image Alt
As a user I want to see an indication of which key is first in the melody so that I know how to begin playing the song Image Alt
As a user, when I play the indicated key, I want to hear the corresponding note and see the word or syllable at that stage in the song represented on the canvas. I want to see an indication of which note is next in the melody, so that I know how to continue playing the song Image Alt.
As a user, I want to receive an indication when I have finished playing the song Image Alt
  • As a user, I want to be able to return to either free play or learn melody mode / pages
  • As a user, I want to know if I've made a mistake


Tools, frameworks, libraries, APIs, modules and/or other resources to create this project:

  • MIDI.js
  • Sketch.io API
  • JavaScript
  • Webpack
  • npm
  • Visual Studio Code
  • Git, GitHub, GitHub Projects
  • Figma
  • Unsplash - credit photographer if use piano background Photo by Ebuen Clemente Jr on Unsplash


Known Bugs

What do I expect What is happening Error Message Resolved How was the issue resolved
note note message Y, N or in progress note
Expect redo UI to re-place items in their previous location Contextual Menu re-appears, but shape layer is not visible no message in progress Issue related to Sketch.io API
Expect volume slider to adjust application volume Volume does not update when slider is updated - able to access new slider value, but MIDI.volume = int has no effect. In console can programmatically type MIDI.volume = 10 and then MIDI.noteOn(0, "B3") and volume is adjusted to velocity of 10 no message in progress Issue related to MIDI.js library


Setup

The deploy.sh script utilizes a unique username. If you would like to update the deploy script file, take the following steps.

  1. Enter npm run ignoreDeploySh into the terminal
  2. Git will now ignore any changes made to deploy.sh
  3. Update deploy.sh as needed

ToDos

npm docs

  1. Need to add SPDX license identifier to package.json "license"? e.g. { "license" : "MITNFA" } https://spdx.org/licenses/MITNFA.html

or signal that we do not wish to grant others the right to use a private or unpublished package with { "license": "UNLICENSED" } and "private": true (for Sketch?)

  1. Add a files field to package.json to describe which entries to be included when package is installed as dependency?

  2. Other keys that we may need / want in our package.json?

  • browser

  • bin

  • directories

  • config { "name" : "foo", "config" : { "port" : "8080" } }

  • note in npm docs - Please do not put test harnesses or transpilers in your dependencies object.

  • if we add more than one .js file, look at webpack docs Output Management and Development chapters for setup

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published