As of 6/1/09 the todo list and list of known bugs for the ear trainer goes here. The actual program is here.
There's no guarantee any of these will actually be implemented. When they'll be implemented depends on my free time and other project priority.
What I want from you
Contact me, my gmail username is JimmyRuska.
- More Associated Songs (always)
- Corrections / feature wishlist / Suggestions / Bug Fix reports
- Recorded guitar / piano tones from c2 to c5 lasting 1 sec each (must be super clean sounding)
(known) Bug Fixes Pending
- Set harmonic song mode to where order doesn't matter and no dupe notes need to be used
Major Features Pending
These features are the ones I want to add most but require a great deal of thinking / structuring / coding to implement.
- Chord Progressions
- Rhythm Trainer
- Make staff clickable, and allow inputting answers
- Embed video tutorials using the youtube API. Setup multiple short specific video tutorials
- Chord / Scale Editor?
- Analyzer thing to study mistakes and repeat them more often
Possibilities for related projects
- Easy kids version? (make a separate ear trainer just with intervals. No piano, notation, statistics, etc. Small width / height)
- Intervals in game style?
- make a wxwidgets version?
- port to iPhone (wait for flash CS5)
Minor New Features Pending
These have a much more likely chance of being implemented soon.
- Set export to set volume position / speed / instrument / anchor / asc,descmissed
- Add more presets to select difficulty in chords and scales / others?
- Song Editor: Add support for floating point numbers and rests in the speed field
- record stats for chords / scales / others?
- switch statistics to use the built in xml creator / parser
- Add support for harmonics in songs or multitrack
- interval comparison
- add preset common melodies to play by ear at different keys
- make saved data auto write to cookie every question then load it up automatically when entering page.
- perfect pitch: display colors of pitch on miss
- Add Unison
- add arpeggiate feature
- add perfect pitch options to select custom color description per pitch
- Option to play second interval note before moving on if correct on piano.
- Add option to randomize note within a specified range (instead of just static note anchor).
- Add option to anchor note in bass or treble clef range
- enable two, three octave intervals as dropdown option
- add a listen mode that plays through all songs related
- add possibility for harmonic display on staff
- drop down option asking what to do when wrong on piano
- add to songmode drop down option to where missing interval plays the missed interval
- add option to gray out deactivated notes out of play on mini keyboard when in pitch mode
- add counterpoint questions on types of movement based on notation and listening
- option to show songs on staff in edit songs
- chords option where gives bottom or top note then must fill out rest
- add append or something similar/opposite of queue
- Add option for having the default menu and buttons be in flats rather than sharps for some of the identificaiton exercises.
- chord inversions?
- make staff scrollable
- customizable hotkeys
- make hotkeys work for things other than intervals / songmode
- video tutorial on getting free sheet music
- video tutorial on using transcribe / audacity to pickout notes from mp3s
- improve pitch mode by adding distinct instrument(or something eg microwave/tuning fork for 440) or song playing each tone on miss?
- little arrows that can transpose all notes on staff?
- fret board?
- setup save export stats to file? I tried but I need flex maybe? I'm not downloading a 400mb installer shareware just to try.
- make addNotes() more efficient (code)
- merge ttf, ttf1 and add bold option (code)
- add relative mode for harmonics (coding)
- remove smQueue (cleanup coding)
Latest Feature Additions
- Dynamic Tabbed Option Menu with Help Buttons for every feature. Now I can add more preferences and options without much effort or clutter.
- Added to options feature which lets you change the default action of what the program does when you are correct or wrong.
- Added song mode option to customize the type of action taken when repeat is selected.
- Added option to automatically repeat the question after X amount of time.
- Corrected Bali'hai, putting it in octave instead of maj7. The youtube vids I watched had it as maj 7 but the original movie has it as octave.
- Corrected maj 7 desc as not being revenant wings song but a secret of mana song.
- Added division to speed math option.
- add perfect pitch statistics to include how many semitones off
- lol speed math
- add min chord length to X breakdown
- add a listen mode for song mode
- section for speed calculation of adding or subtracting intervals from notes
- section for speed calculation interval distance between notes
- Add test for identifying if the second note in the interval is higher, lower or the same [suggested by Kieran C.]
- clone ear toner's Tuning feature
- improve documentation
- add a 'time between question and answer option' for listen mode
- Make repeat button work on chords / scales
- make height even longer and add specific - Feedback - section so doesn't look so cluttered?
- add songmode option where uses first note as reference always
- Sight singing based on notation, program just plays first note
- sight singing based on showing list of intervals
- make perfect pitch statistics similar to interval statistics
Most unlikely, but sounds good.
- Unrelated add: Dynamic Quiz Maker?
- Guitar tab parser. Parses the notes and forces you to playback with song mode.
- External midi parser that gives an output my program can parse. Would return notes as relative sequence.
- maybe rewrite drop down menu so doesn't use flash's pre-designed "ComboBox". Could save about 100k but maybe look crappier.
- If you anchor the note make sure you anchor it somewhere in the middle like c3 or else weird things can happen. Eg, if you anchor it on the lowest note and select descending it's going to overflow and increase the second note to an octave from it's destined position, giving you a different interval.
- If the song plays strangely it's because if it goes beyond the note range I set it to play an octave down or up. If I set it to reverse the direction of the interval it sounds like a different song. First two notes will never be affected (unless you anchored)
- Sometimes multiple notes are supposed to be played at the same time and flash doesn't do it. On linux it seems to work but on windows if it's more than two notes, some seem to play late. After a lot of testing I can't find any reason for this issue. I blame flash. If I'm wrong let me know.
- First note lasts a little too long when speed is set high and in tuning mode: flash timing sucks for some reason. It'll work fine if you click play repeatedly and it will work correctly on linux but on windows and mac timing seems off.
List of Fixed Bugs
- Skipped increases in stats everytime play is clicked on some exercises
- identify in bass clef doesn't have full range
- piano visualization doesn't have the full range of supported notes (and therefore you can't answer sometimes with the piano)
- make sine tones not fail so often
- rewrite triad breakdown
- when listen mode is on it redraws stats, so if your in options or edit songs it looks ugly
- Fix the "All" Option
- fix where says 'another note is automatically played' for some of the notation identification exercises
- links in links button no longer work
- intervals sometimes fails when start note is 0
- count question wrong if click play and question was missed
- interval direction sometimes messes when song buttons selected reported by Dr. Paul and Tom F.
- the "play" button in songs editor always started at the lowest note possible
- replay in perfect pitch doesn't work
- It's not showing the red dot that indicated what your answer was on piano
- solfege syllables should be reversed on descending why didn't anyone report this before? I was never in choir so I've never worked with solfege before. It was reported instead by some douchebag on newgrounds, (yer program sucks, doesn't even get solfege right, other programs are less buggy and better). Speak up and things get fixed. Pretty quickly if it's something that's just plain wrong.
- feedback text in song mode wouldn't only show it based on ascending and wouldn't show song
- statistics on skipped questions did not reset on delete all statistics button
- song mode wouldn't dynamically support solfege / song buttons
Flash does not have midi support! What you hear are single prerecorded notes with witch craft sequencing them. More instruments / notes really really bloats filesize. I don't consider this a big disadvantage because the 36 note range my ear trainer has is not bad at all. People can differentiate notes much easier within the human voice range and my ear trainer doesn't deviate too far from that range.
- I cannot add infinite instruments / full keyboard range
- If I add a fret board not all notes will be supported
- No direct MIDI IN / MIDI OUT
- Microphone answer not likely unless flash's spectral frequency analyzer thing is supported by Mic. Even then, limited.
- This program is limited to any computer that can run flash actionscript 3. PSP,iphone, etc don't work. It would need to be re-written in another programming language to work on those
I may make this open source once I consider everything near perfect or branch off implementing other features on some future ear trainer. I think for now it would be more of a hassle to track multiple people's code and keep up with their changes. I especially don't want people branching the project making their own versions yet since there's a lot of work to do that's still pending. Flash can be decompiled pretty cleanly so if someone really wants to make changes there's not much I can do anyway. Obfuscating the code with special programs just makes it more bloated and inefficient.
For someone to contribute they'd need to be a good actionscript 3 programmer and familiar with music theory. Most people in music tend not to have degrees in math, science / computer science and musicians who are programmers aren't always that familiar with theory. Unfortunately the most likely scenario when I throw it to sourceforge is someone grabbing the source, switching the links and credits and selling the program through google ads and ebay. This ear trainer doesn't really get a huge amount of traffic so finding qualified people would be a low probability.
Tags: ear traing todo list
Posted on Monday, June 1 2009