I used an old Motorola phone for this, and yes, if it dies it won’t turn back on again until the power button is pressed. I Googled around and there’s a way to disable this behavior though, through an ADB command. The bad part is that it supposedly might get stuck in a boot loop – it tries to boot but there’s not enough battery yet, so it dies and keeps trying to boot. Over and over.
I made a second Tasker automation, so it shuts down with less than 15 percent battery. It might still get stuck in a boot loop, but eventually the solar panel will quickly charge it above 15% so that it won’t be for very long.
As far as I can tell, by boosting each recording and listening to the purported song in full, I can eventually hear just a snippet of that song. Shazam's algorithm is extremely good.
I've listened to a bunch of the snippets and you can usually just barely hear the sound in the background. Which makes me think Shazam is very accurate. I really should read more about how Shazam's algorithm works, because it feels like magic.
The phone records 10 minute chunks of audio at a time, in airplane mode. Every 10 minutes, airplane mode is turned off and the audio is uploaded to a server. The server then splits the audio into 15 second overlapping chunks, and each is passed to Shazam's API (no official API, but someone reverse engineered it and made a great Python package). This setup is super power efficient! The phone dips down to a minimum 70% percent battery by the early morning.
I just ran this though and "I fucking hate this thing" has a -7 score, and "I fucking love this thing" is -1. "Fucking" and "hate" is negative, but "love" is positive and adds to the score. It would be improved if it could tell the difference, "fuck" itself definitely sounds negative but "fucking" can almost mean anything
I added that because some comments had really long URLs, so I had to enable breaks so the page wouldn't be really wide, more so on phones. Didn't realize that it added hyphens to words, thanks for pointing that out, it's fixed now
The negativeness is a percent (number of negative comments divided by number of total comments). I don't think the data is too significant though, because they are all + or - 5 percent of each other
When people copy and paste error messages into the comments, they usually contain stuff like "kill", "fatal" or "stopped" which the analysis thinks is negative