Difference between revisions of "Android/Music Tutor"

From theGleep.com
Jump to: navigation, search
(Created page with "I'm not saying much about it right now. But I'm going to enjoy using this app for myself.")
 
 
(30 intermediate revisions by one user not shown)
Line 1: Line 1:
 
I'm not saying much about it right now.  But I'm going to enjoy using this app for myself.
 
I'm not saying much about it right now.  But I'm going to enjoy using this app for myself.
 +
 +
{{#ifeq:{{CURRENTUSER}}
 +
|TheGleep |
 +
 +
= Game Instructions =
 +
The purpose of this game is to help the player learn to read "Sheet Music" or "Manuscript"
 +
 +
A random series of notes will be displayed on the staff.  The player will attempt to identify the leftmost note.  As each attempt is made, the current note will be removed from the staff.  A running log of notes is maintained for review and scoring.
 +
 +
The final version of the game will serve three functions; Teach manuscript sight reading, train muscle memory for a specific instrument on a specific song, And act as a minimal midi practice/Experimentation platform (Which also allows creation of songs to learn).
 +
 +
Game play and educational experience will combine in the system of 'levels'.  Earlier levels will have few variances, and will focus on core knowledge.  Later levels will incorporate details from earlier, foundational 'lessons'.  There will also be 'boss' levels that summarize a category of lessons.  (See 'difficulty levels', below)
 +
 +
== Game Play ==
 +
<HTML>
 +
<img src='images/MusicTeacher.ScreenShot3.jpg' style="width: 550px;" align='right'/></HTML>
 +
 +
The interface is divided into three sections; Staff, input and scoring.
 +
 +
As the staff fills in with notes, the player will 'guess' which note is next to play.  Every time the player guesses, the leftmost note is removed from the staff (And for aesthetic reasons, all remaining notes will 'slide' to the left)
 +
 +
Whatever note the player guessed will be sounded by the game, along with the correct note.
 +
 +
Scoring will be an accuracy rating, multiplied by level difficulty, taking into account the count of correct sequential note identifications.
 +
 +
=== Staff ===
 +
The staff part of the interface asks the question "What note is this?" 
 +
 +
When space is available, the whole staff (Both treble and bass clef) is displayed.  When space us limited, only one clef is displayed, and the Clef symbol will change as needed.
 +
 +
Because of technical difficulty, as well as learning curve for the player/User, note duration is not considered (Eventually, note duration will be a factor so that the "Game" Can become an interactive tutor, building "Muscle memory" In the musician for a specific song.)
 +
 +
 +
=== Input ===
 +
To create a tool that goes beyond simple sight reading, this game will implement different input 'modes', each oriented to a particular type of learning; Note identification, keyboard key identification, string and fret identification for fretted instruments, and 'audio' and MIDI modes to allow for training on actual instruments.
 +
 +
==== Notes ====
 +
In 'notes' mode, user input is collected from a collection of buttons, covering all notes in a single octave (Including sharps and flats): Ab, A, A#, Bb, B, C, C#, Db, D, D#, Eb, E, F, F#, Gb, G, G#
 +
 +
In motes mode, the octave itself is ignored, all that matters is if the note is correctly identified.
 +
 +
==== Keys ====
 +
 +
 +
==== Frets ====
 +
==== MIDI ====
 +
==== Microphone ====
 +
 +
=== Difficulty levels ===
 +
 +
=== Configuration options ===
 +
==== Strings ====
 +
* Count
 +
* Notes
 +
 +
==== Game play ====
 +
* Songs folder
 +
 +
==== Scoring ====
 +
* Minimum success rate for next level
 +
 +
 +
== Known Bugs ==
 +
{{#ifeq:{{CURRENTUSER}}
 +
|TheGleep |
 +
 +
== Development History ==
 +
18-Nov-2011 - Rebooted the development approach to use Adobe Air so that it's cross-platform
 +
 +
= Help Text =
 +
 +
= Development Notes =
 +
Use adobe AIR to build so it's cross-platform.
 +
 +
* [http://www.flashdevelop.org/wikidocs/index.php?title=Main_Page Editor]
 +
* [http://vandelaydesign.com/blog/web-development/adobe-air-tutorials/ Examples/Tutorials]
 +
 +
[http://www.cs.cofc.edu/~manaris/spring04/cs220-handouts/JFugue/JFugue-UserGuide.html jFugue] looks like a VERY useful library, but I don't know how well it would integrate to adobe Air.  Even if it's not usable, there is some very good documentation for naming/notation conventions there.
 +
 +
 +
;Well...now I have to restart ... and I removed all of my other "todo" items, so I'll have to redesign.  Oh, well.
 +
:use jFugue to play the notes!
 +
:There are open-source tuners for android...find one and adopt the "what note is playing" code for instrument mode
 +
 +
 +
;Todo
 +
: Add accuracy to "Status" section - Phase *and* total
 +
 +
: Speed up staff population (for now)
 +
 +
: Build the phases (See below for phase progressions)
 +
 +
: Show accuracy in "continue" prompt
 +
 +
: Support accuracy configuration for moving on to the next level
 +
:: Change "Continue" prompt to support "retry"
 +
:: Save configuration settings
 +
:: Default accuracy
 +
 +
: Configuration dialog
 +
:: Minimum Accuracy per phase
 +
:: "Reset" or "Restart" option (clears game state back to level 1, phase 1)
 +
 +
: Save game-state on exit
 +
: Restore game-state on startup
 +
 +
: Improve animation
 +
:: Slow down the note population and allow users to identify the note before it is "lands"
 +
::: Slide currently active notes to the left by one position
 +
::: revise the "landing place" of the currently active animation
 +
:: Proper honoring of "pause" mode
 +
 +
: Add "debug mode" - cycle through all the notes available (and I do mean ALL!  Including keys!) and log what the note should be and what the user selected as the note.
 +
 +
:After that, I have:
 +
:: * "Playing" the note for the button that's pressed (maybe even in "pause" mode...)
 +
:: * changing staffs (trebble cleff vs bass cleff)
 +
:: * scoring
 +
:: * Help
 +
::: + instructions
 +
::: + about
 +
::: + donations
 +
:: * configuration
 +
::: + type of fretboard
 +
::: + User information for registering high scores (later)
 +
:: * Keyboard
 +
:: * Fretboard
 +
:: * high-scores (online)
 +
:: * "playing songs" - feeding a song into the game so the player learns the song.
 +
:: * audio feedback (sound the note the user hits)
 +
:: Level Progression - level and phase
 +
:::: phase 1 = trebble cleff
 +
:::: phase 2 = bass cleff
 +
:::: phase 3 = trebble cleff with flats
 +
:::: phase 4 = bass cleff with flats
 +
:::: phase 5 = trebble cleff with sharps
 +
:::: phase 6 = bass cleff with sharps
 +
:::: phase 7 (when keys are added) = Trebble naturals
 +
:::: phase 8 (when keys are added) = Bass naturals
 +
:::: phase 8 ("Trebble Boss") = trebble cleff with all notes
 +
:::: phase 9 ("Bass Boss") = bass cleff with all notes
 +
::: level 1 - 24 notes, all within two steps of the staff
 +
::: level 2 - 24 notes, all within two steps or above the staff
 +
::: level 3 - 24 notes, all within two steps or below the staff
 +
::: level 4 - 24 notes, full range
 +
::: level 7+ adds "keys" (base key, key plus sharps, key plus flats, key plus naturals...for however many keys there are)
 +
::: + speed
 +
::: + number of notes
 +
::: + allow sharps
 +
::: + allow flats (will require adding "flats" to the collection of pictures)
 +
::: + use "keys"
 +
:::: - add key signature pictures to slide in
 +
:::: - add "naturals" to the collection of pictures
 +
:::: - support key signature to evaluate for correct input
 +
:::: - bonus points: "Guess the key"
 +
:::: - Extra level "Identify the key"
 +
:: * Mic support
 +
:: * ?Time signature and note lengths?
 +
 +
: Options/Configuration
 +
:: * Minimum level score (Percent correct)
 +
:: "Reset Game"
 +
 +
}}
 +
}}

Latest revision as of 13:16, 5 August 2013

I'm not saying much about it right now. But I'm going to enjoy using this app for myself.