i love programming. it's become one of my favorite hobbies since i actually started trying to make stuff, and it's super exhilierating whenever i actually figure out how tom make something without following a tutorial.
note however, that i never said that i was any good at programming.
i have the barest minimum knowledge of python, gdscript, and golang*. python is like, the beginner's programming language. Ask someone who programs (that was born after the 1970's) what their first programming language was, they'll probably tell you that it was python; gdscript is only useful if you use the godot engine (which i do, but that's a story for another day); and golang... i don't have anything "bad" to say about golang, it's just a normal programming language that i'm still learning how to use to it's full potential. also don't ask me why i chose golang as my second language of all things. I've experimented with other programming languages as well like lua, javascript, java, etc. but i've only really used them once or twice before just jumping ship to something else entirely.
*i do know HTML and CSS, but those aren't actually programming languages in the technical sense, they're markup languages. but even if they we're im still awful at using them, my CSS looks like absolute cheeks.in layman's terms, i suck.
but just because i suck, doesn't mean i can't come up with ideas that don't suck, and i want to share those ideas with you! the person who may or may not be reading this, in the form of a really bad listicle,** in case any of you or future me wants to take a crack at them one day.
**listicle, noun: a piece of writing or other content presented wholly or partly in the form of a list.1) HOHbot: a discord bot to make running and managing object camps easier
okay, i don't know if this one counts because i'm actively working on it, but i'm still gonna talk about it because it's my site and i get to do what i want.
basically, if you don't know, an object camp is an online reality game, usually hosted on discord, where people compete as anthropomorphic objects. (they're not always objects in the traditional sense, but they're almost always non-human) a lot of them have similar gameplay to the show or are flat out based on the show survivor, but they can vary in gameplay and mechanics; me and my friends' camp, for instance, is instead based on the show big brother.
hosting these camps is fun for sure; i've met some of my closest friends through object camps, and coming up with / doing challenges is a great creative outlet. but it can be really tedious having to keep track of token uses and balances, alliances, vote counts, eliminations, etc. on top of coming up with challenges people will actually like doing, on top keeping a relatively consistent and quick schedule, on top of the rest of your fucking life. i've seen many a camp, understandably, get cancelled or put on an indefinite hiatus because the responsability just got to be too much for them.
so, what if there was a way to automate all of the most tedious parts of hosting a camp, while still letting the actual hosts keep all of their creative freedom?
that's where HOHbot comes in. or at least, will come in when i'm done with it.
HOHbot is a simple discord bot that just makes it easier to do all the tedious behind the scenes stuff that the people participating / spectating the game don't really care about, but would cause everything to fall apart if something went wrong with it. Things like keeping track of vote counts, automatically averaging ranks and providing results that can just be copied and pasted, stuff like that.
all of the functionality and stuff like that is relatively easy to add with the python library im using (i first tried to build it in rust for some reason. no offense to all the rusteceans out there but it's just not for me.) so my only hurdle right now is just my time. school's been pretty busy, and i still have to actually run the dang camp im building the bot for, so right now progress is slow, but i am working on it. you can actually view the source code for the project on my github right now! ↗ me and my friend are actually both making discord bots so it's a sort of positive feedback loop of us continually encouraging eachother and helping to test out the bots.
2) PlayItByEar: a software to make sheet music more accessible
if you didn't know, which you don't because i never told you, i play piano. now playing piano itself is actually really fun; it keeps my fingers nimble and just being able to sit down somwhere and play anything automatically gains you respect from the people around you, 10/10 best instrument of all time. where my problems begin however, is actually trying to get the sheet music to be able to learn the music. i've had many a piano lesson get shortened because my piano teacher had to spend a good 5 to 10 minutes just being able to work out where or how she could acquire the sheet music, and then my mom would have to buy it and then print it out at work, which is a whole other can of worms in and of itself. what i mean to say is, the process is a mess, and i hate that it has to be this way.
those experiences with my piano teacher are what caused me to think of this idea. PlayItByEar would be a free software or website that would take in an audio sample of a song, and then use a neural network trained off of ETHICALLY ACQUIRED music samples to try to
1. identify the name of the song and its composer so they could be properly credited and possibly compensated
2. recreate the sheet music for that song. (the software itself wouldn't be generating any music, just transcribing it.)
the programming for this doesn't seem like it would be impossible to program (after i get more knowledgable of course), i know that PyTorch and TensorFlow are both good ways to program neural networks, and there's enough free sheet music and audio that it wouldn't be that hard to train it to be like "hey, that's a c# note, i need to put that on the paper!". it'd probably just take a lot of effort, time, and commitment to make; which right now i am in very short supply of. there's also the legal and ethical elements, which i tried really hard to write my thoughts about, but it sounded absolutely awful, so i deleted it.
3) Unnamed Lip Syncing Tool: because lip syncing sucks
sometimes i like to animate in my free time. i'm not very good at it, but i try and that's all that matters. (i actually animated and voice acted a film festival project about a year ago, our group didn't win though, but it was still a good time.) however, one thing that i never want to try again is animating real lip sync. it doesn't even seem hard to do unless i'm trying for realism with the mouths, which i'm not, but it's just so tedious and awful and i hate it and it sucks. whenver i do animate, i just skip it and draw the mouths open or closed; one or the other. i got the idea just a few days ago that you could probably use a neural network to do it for you.*
in an ideal world, the program would take an audio sample; break down the audio sample into it's phonemes; match the phonemes to a mouth shape, and then put all of those mouth shapes in order to emulate lip sync! at first, this seemed like a great idea, but then i realized-
1. the program that i use to animate (toonsquid) doesn't allow for plugins or anything like that, and since i use different devices to program and animate, it'd be tedious to go from my tablet to my computer, run the program, export the file, send it to my tablet, go back, and import it for ONE snippet of dialogue; when i could just do the open-closed thing
1b. also, toonsquid uses special file types, so i'd either have to learn how to read a .tsproj file outside of toonsquid, or settle for having the mouths be uneditable in toonsquid
2. CaryKH (co-creator of bfdi, great programmer, and generally awesome person) did something very similar about five years ago
3. neural networks are confusing :[
so, i did what anybody in my situation would do, and gave up on this project. will i come back to it in the future? maybe, but it's unlikely.
those are all the ideas i had floating around in my brain for a while now. if any of you wanna take a crack at making them or are inspired by this post to do something similar, be my guest. one of these days, i might come back and update or make a sequel with some new ideas my cranium shaker conjured up. goodnight everybody.
-------------------------------------------------