SingForever is educational art-oriented project with intention to be the best sing practice software ever. Users are made to gradually improve their skills from absolute beginners as far to forever lead singer champions. Every user has own profile with statistics. Following it, SingForever will determine the best difficulty for a chosen song. When singing a song, users hear the song by the earphones, or poor ones by the speakers(poorest ones by the PC speaker) and try to sing words displayed on the screen with the correct tones that are also displayed. SingForever tracks the singed melody and compares it with the correct one. Points are gained according to the accuracy of the voice.
Screenshot at 16.5.2008: (ignore that poor graphics)
Game is based on ScreenManager that manages screens like MenuScreen, SingScreen, and so on.
What is it able to do now?(26.5.2008)
When you run it, loading screen loads all songs, then in main menu you can choose sing, there are
titles of those songs. Choose one and singscreen will show you notes and lyrics to sing. When you
sing to the microphone, new notes appears at corresponding position. You can compare it now and
continue singing. You see also title of song, progress bar... When song finish or escape was
pressed, there are results of song, you can go to main menu or sing again.
Miso: classes: 21 functions: 145 lines: 4939 words: 13250 characters: 138506 PP: classes: 39 functions: (many not subscribed) 4 lines: 8261 words: 18254 characters: 206671 C stands for 200 bytes of code, h 200 bytes of documentation. Miso: Graphics 21726 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh Song 18329 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhhhhhhhhhhh SingScreen 16163 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhhhhh Player 15305 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhhhhhhhhhhhhh Sentence 14493 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhhhhhhhhhhhhh StaveWidget 13047 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhhhhhh SongList 12962 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhhhhhhhhh Directory 11371 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhhhhhhhhhhhh LyricsWidget 8954 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhhh SongSelectionScreen 8823 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhh SongResultScreen 8140 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhh GameDataPointers 7094 |CCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhh MainMenuScreen 6649 |CCCCCCCCCCCCCCCCCCCCCCChhhhhhhhh LoadingCallback 6471 |CCCCCCCCCCCCCCCCCCCCCChhhhhhhhhh TimeBarWidget 6413 |CCCCCCCCCCCCCCCCCCCCChhhhhhhhhh SongComparator 6256 |CCCCCCCCCCCCCCCCCCChhhhhhhhhhh Note 5472 |CCCCCCCCCCCCCCCCChhhhhhhhhh RecordedData 2575 |CCCCCCCCChhh Themes 2403 |CCCCCCCChhh FileUtils 1627 |CCCCCCh Syllable 1056 |CCChh PP: Audio 25920 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh Preferences 23293 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh MP3Decoder 18316 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhhhh GameEngine 17750 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhhhhh ScreenManager 16321 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhhhhhhhhhhhhhhhh AudioSamples 13529 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhhhhhhhhhhh Errors 12988 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhhhhhhhhhhhh RingBuffer 12606 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhhhhhhhh MyStringUtils 11709 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhhhhhh FFTSpectrumAnalyzer 10383 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhhhhhh SimpleSpectrumAnalyzer 9277 |CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhhhhh CircularBuffer 9167 |hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh Metric 8095 |CCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhhhhhhhh CompoundSpectrumAnalyzer 6997 |CCCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhh Surface 6907 |CCCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhh Exceptions 6843 |CCCCCCCCCCCCCCCCCCCCCChhhhhhhhhhhh Font 6408 |CCCCCCCCCCCCCCCCCCCCCChhhhhhhhh BarGraph 6317 |CCCCCCCCCCCCCCCCChhhhhhhhhhhhhh Graph 5848 |CCCCCCCCCCCCCCCChhhhhhhhhhhh Oscilloscope 5798 |CCCCCCCCCCCCCCCCCChhhhhhhhhh AudioUtils 5450 |CCCCCCCCCCCCCCCCCCCCChhhhh Widget 5251 |CCCCCCCCCCCCCCCCChhhhhhhh Spectrogram 4829 |CCCCCCCCCCCCCCCChhhhhhh MemoryWidget 4269 |CCCCCCCCCCCCCCChhhhh AudioCircularBuffer 4233 |CCCCCCCCCCCCCChhhhhh Version 3884 |CCCCCCCCCCCCChhhhh YGradientColorFunction 3866 |CCCCCCCCCCCChhhhhh StackTrace 3576 |CCCCCCCCCCCChhhhh Screen 3407 |CCCCCCCCCChhhhhh ErrorsWidget 3348 |CCCCCCCCCCChhhhh DotGraph 2987 |CCCCCCCChhhhhh SpectrumAnalyzer 2581 |CCCCCCChhhhh MyMath 1877 |CCCCCChh MemoryInfo 1562 |CCCChhh RangeStatistics 1254 |hhhhhh ColorFunction 1074 |hhhhh MyAssert 577 |hh Debug 445 |hh NoDebug 220 |h
Hotfix: Alternative timer for audio or pa_unix_oss.c hacking DONE Relative mode time synchronization bad inputs fix (special characters at the end DONE, no splitting spaces, substr failure...) Check memory leaks !! DONE Divide long functions Divide long sentences Shorten long paths in loading Note Utils - smooth changes,pitch/frequency conversion DONE Sorting songs DONE Scoring DONE add spectrogram recorded data class DONE coloured points DONE Notesgap? resolution? wtf? Improve graphics - use widgets DONE, themes Recording to wav