Hi, all!
This is a Karaoke music app, with some demo songs. To practice singing skill, instrument performence skill, or just sing & play for fun.
Song played with build-in sequencer(by now). Faster/Slower BPM, jump between sentences while playing. And pitch tune(raise/fall), or adjust note(beats) width while pausing.
Lyrics of songs are in various language, to show how deal with them, include English, Chinese, Japanese(Kana and Roma phonetic notation)
For minimize job of inputing these songs, I seperated them in imduplicate sections, and create in build-in song editor. Then composited sections together with my custom SongEditor, and the SongBuider, which is a convenient wrapper of my SongEditor. They could join songs, repeat section, and harmony track, merge tracks, and etc.
Of couse, you can also input notes of a whole song into one Song.
Or use @UnsignedArduino 's midi convert tool to get your song. But be aware keeping a track for coresponding with lyric words (first melody track by default). One note to one word, use “-” for breaking words, and " " for words seperator in English, see demo codes for details.
My target is make a tool to make favorite songs into Karaoke easily, and play with it. See codes to learn how to. (in JS, no blocks yet, sorry.) Ask me for any question about it.
Key control:
A: Pause/resume
B: Restart
↕: Adjust BPM/Tempo
→ jump to next sentence
← jump to beginning of current sentence
←← previous sentence
when pausing:
↕ Pitch(raise/fall) tune
↔ Wider/narrower width of notes
As usual, all suggestion or bug report are welcome, and appreciated!
Have fun!
Almost everything comes and goes even if it’s impossible
unless it’s like, super impossible then it’s impossible. -Some random kid after drinking expired milk.
It’s no difficult to do, infact.
First, copy codes from one of English demo songs, then input music score with buildin music editor. And copy/paste the lyric string, add “-” for break word, add “–” for word span multi notes.
It should be playable.
I will help you on following things, if you have any trouble.
Good luck!
I (believe I) understand that you run both movie frames/clips and song segments in two different loops at the end of the program. But how did you produce this sequence of images/movie clips?
Actually, to sure they are sync up always, there’s only one “loop”, the song. And on each time song tick changed, I depressed the corresponding frame, which computed from curTick, and show it out.
I got frame images from web, 2600+ jpg images, 120x120 pixels each, for about 200 sec at 12fps. Totally 7MB+, too big to be write into an arcade project(though the jpg format have been in compressed already). I had to design a algorithm to compressed all of them especially. Luckily, I got it at last. A python compress algorithm packed them into less than 613KBytes . And the uncompress algorithm is just in the Acrade prj( see function renderFrame(index: number) ). Both are simple&fast enough.
I am glad to share or describe them more detail if you or anyone are interesting.
Speaking of demos, I don’t know much about their inner workings, but I have picked up that compression is a big part of the “bag of tricks” to get so much out of so small executables, not only that all the graphics and music are “programmed algorithmically”, so to speak.
Let’s get back to more detail if we ever get started for serious with a demo one day, at least for my sake. Right now there are so many interesting ideas and pieces presented already that I want to study closer. But to really raise some eyebrows, I am pretty sure that we will need your compression and decompression algorithm…
Well, turns out you beat me to it. I recently made one entirely separately with @UnsignedArduino 's converters (took like 5 hours bc it’s so big) but I think it turned out cool. Music isn’t the best because it’s just a converted midi. Both music and the vid (gif) weirdly enough start a bit into the song but it seems like it turned out ok.
It looks pretty smooth though Imo.
Btw this is just for the meme that this runs on anything, never played the games or anything.