Blog

Mewtwo shrine

Oh yeah, I made a thing for Mewtwo Day this year, a 3D Mewtwo shrine that's viewable in a web browser (on desktop. It needs keyboard and mouse to move around.)

I've also been making some extra, unrelated areas to put in it since I already got the framework for loading scenes and such made. Haven't released any of those yet.

Untitled

Made a thing to automatically play any of the TV shows I've downloaded in a "whatever the fuck, it's a rerun" order, so I can just sit it in the background if I don't know what to listen to.

It's made in Unity because I wanted it cross-platform (android/windows) and I don't have a good way to do that other than just. a webpage. which I've tried before, but most of the videos on my computer aren't in a format I can play in a browser

Radio internals update

Okay, so the radio now *tries* to sanitize titles of new songs and their artists/albums more, so that the host's text to speech can actually speak them. Names like "t.A.T.u." get internally translated to "Tatu" for the TTS, "ABBA" goes to "Abba", etc. Hopefully actual abbreviations just stay uppercase without punctuation -- I tested with "CCR" which just gives "CCR" as the name... the TTS can speak abbreviations if they're formatted that way.

In addition, it tries to strip "(whatever remix)" and similar stuff from the titles, should change "Original Motion Picture Soundtrack" to "Soundtrack", etc.

I'm using GPT-3 for this step so mileage will vary on whatever it feels like doing, but so far my tests have worked pretty well.

...

And, while not new, before it even does any of this, it has to translate the titles to English. The voice model can pronounce words formatted with ARPABET, and unfortunately other languages don't do well here -- for example, non-Latin characters just get skipped over entirely, and pronunciations in (for example) Spanish are all off. Supposedly this won't be as big of an issue with the next big update of xVASynth, but for now I need that step in place.

I've also put it all in a private (for now) GitHub repository so I can easily spin up new stations, only needing to clone the repo, swap out the speech data, and change ports/addresses.

So, in other news, I've wanted to create a good voice model of my own voice, but sitting here with a mic for hours sounds like a chore. Ancient archived recordings to the rescue!

Realized I could use positional VOIP data from a VR app, that was recorded in 2017 and 2018. I found the data on one of my old servers, where we experimented with recording company meetings in VR and 3D, that could be played back in the app. Needed to reverse engineer old code to get it working, because I didn't want to install said app and sit there with the audio recording on for hours. So eventually I managed to export all the clips of myself in wav format, all at once.

Fun fact: I spent *over two weeks* trying different versions of the code I'd made to export it properly, and nothing worked. Audio was always super choppy (it took so long that I even made a warbly voice model with the choppy data) Apparently the issue is because I was creating a new opus decoder for each frame. I didn't even *notice* I was doing it that way, and by defining it only once at the start the choppiness cleared up. And export was (obviously) faster.

Untitled

Doing a spontaneous update of the Radio New Vegas GPT code. Giving the lyrics (for songs which have them) to to the AI to interpret, tests so far are good. Apparently, it works well for songs in Japanese, too, without me having to do any additional translation or specification that I want the interpretation in English. Probably other languages, too.

Ideas graph

I made a new section called Ideas Map to organize random ideas I've had, mostly for game design or character ideas/art, so far.

So the process is: I type in a note on a page I have locally, which adds the idea to an existing list and processes it, extracting keywords and choosing existing (or creating new) categories for the idea. It gets uploaded to the site which displays the graph, using the similarity of keywords between ideas to link them together. Closer links get a brighter line.

Still working on the keyword matching. The plan is that I'll eventually turn this into a proper (but small) knowledge graph, but I haven't written the code to find relations between the subjects/objects yet.