On desktop, use the arrow keys. Otherwise, use Soli swipe gestures to change the three notes used to generate the melody and a Soli tap gesture to mute and unmute the lullaby.
I’m using RiTa.js for lyric generation (markov-generated from a text file (lyrics.txt on glitch) I’ve filled with lullabies, love notes, children’s songs, bedtime prayers, and nursery rhymes). I hope to improve the rhyming, which currently simply replaces the last word of a line with a random word that rhymes with the last word of the line before. This results in nonsense that isn’t thematically consistent with the markov-generated nonsense. More complex rhyme schemes than AABB could draw attention away from this fact.
I’m using Tone.js for the song aspects. I was initially using p5.Sound but the quality was terrible in general but especially terrible on the device I am designing for, so last night I switched everything over to Tone.js. Due to that late change, I still have to refine the oscillators/synthesizers I’m using and explore other Tone.js functionalities. I’m very pleased with the Tone.js quality in comparison to p5.Sound and wish I had used it from the beginning.
I also have to refine the animation, as it was based around the previous drum pattern I was using, which ran on p5.Sound. I specifically mean the dog (Joe <3), as there are plenty of opportunities to animate him beyond what I currently have. I might ease the stars in and out beyond the simple fade introduced by having a background set to a low alpha value, but this would require creating and storing stars in an array of stars, drawn in draw() instead of in playBass(), where it currently is. This is a relatively straightforward change, the most complicated aspect being disposing of the elements in the array that do not need to be drawn. This will be based around a timer, which hopefully will be simpler to work with using Tone.js, possibly relating to ticks.value instead of counting the number of beats manually, as I am doing now.
I also have to implement functions for the beginning and end of the song. It runs for a random number of lyrics between 15 and 35 lines, but the program ends on a scope error from there.
~xoxo
sweetcorn