Posted 7/29/2023, 2:19:14 AM

So, I was watching another stream of Hypnospace Outlaw and saw that MerchantSoft somehow blew through a billion dollars... just like facebook/oculus did, for a VR world with like, 30 players. so along with other obvious parallels, I had to remake this image with them in mind.

bad pun discord bot gets an upgrade

Posted 5/13/2023, 1:21:59 PM (last edit 7/29/2023, 2:22:11 AM)

the terror continues

Bad puns bot

Posted 5/11/2023, 11:29:25 PM

So I've made a new bot to terrorize a Discord server I moderate now that I've managed to get bad puns out of GPT3

OS swapping shenanigans

Posted 3/22/2023, 8:58:17 PM

For the past week or two I've been using Linux (Xubuntu 22.04) as my primary desktop OS for the first time in... years. Surprised at how much it's improved since I last used it. I've used it on and off for various things "recently" (2021?) but for the most part I stuck to Windows for my primary OS, only using Linux for servers.

The last time I tried to get my monitor setup working with the NVIDIA drivers (2018?) a disk in my back slipped and yes, I am blaming the NVIDIA drivers for that.

This time though? I had ~30 minutes of trouble initially upgrading the drivers because of switching installation methods, and I have to reset the monitor settings on login (which is done automatically by script) -- definitely not a newbie friendly experience but now that it's installed, everything's running better than in Windows. Even my live wallpaper (done with script instead of Wallpaper Engine) is running better.

Speaking of the live wallpaper, I actually made a pretty cool one in Blender: a neon sign featuring my partner's and my fursonas (or one of each anyway). Click the preview below because the thumbnail is only like a second of it.

I kind of want to make more of these, maybe even for commissions, but the animation takes a while to set up in blender. Maybe I'll look into how to automate the flickering better, or see if I can get a good render through Unity.

Mewtwo shrine

Posted 3/13/2023, 10:27:44 PM

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.


Posted 3/13/2023, 10:11:21 PM

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

Posted 1/31/2023, 12:23:31 AM

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.


Posted 1/19/2023, 4:18:21 AM

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

Posted 1/16/2023, 3:17:26 PM

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.


Posted 1/2/2023, 9:42:34 PM

More updates to the radio recently:

- upgraded the host's voice to a new model without the radio filter (should hopefully sound more clear)

- the host now introduces song 1, plays it, plays song 2, gives a more detailed outro for song 2 (the take often makes no sense, GPT-3 doesn't have information about a lot of songs and there's really no way to figure out if it does automatically.)

- made various little fixes on the code and the prompts so the monologue should *hopefully* be a little better.

- fixed bugs with the player in Firefox. Previously it was playing/looping bits of cached audio after a refresh.

I also made a quick update to the video on the page to match with the newer site theme. It's just a short clip from a VRChat map that I've been working on occasionally.

Someone also requested I write some technical details about it, I'll try to do that soon.

Radio New Vegas GPT updates

Posted 12/27/2022, 4:42:59 PM

Just updated the radio to find a new song from Spotify's recommendations (using only the songs I've added personally as the seed) every 4 days. Tested it today, hopefully I didn't bungle the timer.

Also made it email me when someone adds a song or when recommendations are added so I can quickly remove stuff in the case that it's the most boring thing possible for someone to suggest (looking at you, United States National Anthem. christ.)

VRChat world updates - Braixen shrine

Posted 12/1/2022, 1:32:46 AM

Finally building a shrine to the fox Pokémon, Braixen.

Here's a very early WIP of a private room of a nightclub-themed Braixen shrine:

Been working on this for a few days but have had it in mind for years. Apparently, the mirror model was made in September 2020 -- but then I paused until recently because I didn't know what kind of architecture to go with. Originally I wanted to build a Braixen shrine in VRChat, like a psuedo-church kind of thing, so I briefly tried making a cathedral (back in 2020), but it seemed completely uninspired.

I recently started thinking about different styles of architecture people tend to use for worship, and what could work best as a secular shrine/chapel/church. There's a lot of classical stuff to choose from but I didn't want the religious or cultural connotation that comes with them, and I don't want to appropriate from less well-known religions to skirt around that. I've seen people make RL shrines to favorite characters, animes, etc. but they tend to be a small area composed of figurines, plushies or posters. It's closer to what I was looking for, but still not it.

Finally realized that concert venues, mosh pits, night clubs, etc., can arguably be a place of worship. Maybe a more carnal type of worship, I suppose, and closer to what I'm looking for.

I still need to block out the rest of the club, which I'll start tonight, then comes the detailed modeling. And... unfortunately I'll have to learn some video editing for what I'm doing. Lots of screens showing lots of Braixens. Do people still make AMVs?

Blog updates

Posted 12/1/2022, 12:58:28 AM

Also! I've gone back to tumblr and based its theme on this blog. if you feel like following me.

Blog updates

Posted 12/1/2022, 12:55:01 AM

Just changed my blog's image uploader so it won't be using images that are like, 7680x4320 and 30+MB lmao (which is the size VRChat is saving them to by default)

I put it off until now because I thought it'd be a pain to detect if there are transparent pixels (to determine whether it needs to convert to JPEG or PNG) but a quick search gave me a 5-line-code answer.

Eventually I'll go through and manually convert the older PNG's to not be gigantic.

VRChat Bedroom work

Posted 10/27/2022, 4:32:56 AM

Just working on my VRChat map based on my bedroom. Just put in a dancing Goodra hologram, using the Goodra model I worked on earlier in the month.

Recording dumb antics in OBS is fun

Posted 10/27/2022, 3:19:19 AM

Just some VRChat screenshots from the other week

Posted 10/8/2022, 4:13:34 AM

(56k warning: images link to 3840x2160 png's)

Screenshots of my Lopunny OC, Cinnabunny. I recently made a new palette that I can enable with a button, based loosely on the Dark World character palette swaps from Deltarune.

endless trash!

Posted 10/8/2022, 3:24:25 AM (last edit 10/8/2022, 3:31:33 AM)

Also I just added "endless" scrolling to this blog (though there's less than 10 posts now so it's nowhere near endless). This will be useful later when I have too much shit to load at once. Also getting some lag with the video thumbnails, tiny though they are. So I'm thinking of what I want to do about them.

Edit: turning off hardware acceleration in Chrome fixes that, though I'll need to figure out something else obviously.

Yesterday was Braixen Day!

Posted 10/8/2022, 2:36:49 AM

Yesterday was Braixen Day. Braixen is one of my hyperfixations and the species I used for my first pokésona so of course I had to do something for it.

I decided to make a new avatar of one of my Braixens, wearing their wedding dress from some past commissions. I only got to work on this for a few hours last night and a couple later in the day after work, but I like the progress I've made so far.

Images from an early WIP, I'm still working on the shape of the body and clothes. The wireframe model beside them is an old lower-poly one I made a few years ago. Not looking forward to doing the eyes and mouth though.

When I'm done I'll use it as a VRChat avatar, and a vtuber avatar (mostly for weekend Discord calls).

Updating Radio New Vegas GPT

Posted 10/8/2022, 2:27:15 AM

I just spent a while updating Radio New Vegas GPT to try and make the flow of songs a little less chaotic, since there's no genre or theme.

So, the program queues 7 songs at a time, re-queuing a couple songs before the playlist is cleared. It keeps a recently-played list and queues songs that aren't in that list.

Before update:

- Each time a song is queued to the playlist, we go through and pick one at random, checking that it's not in that list.

- Continue this until we find one that's not in the list, and add it to the end.

After update:

- Most songs on the playlist now have metadata taken from Spotify about tempo, loudness, danceability, key, etc.

- We compare the metadata for all songs using cosine similarity to find the most similar songs.

- Pick a random song out of the closest 4 that aren't already in the recently played list.

The aim is that as songs get added over time, there will be less abrupt jumping between genres.

ALSO I fixed the auto-translation of song titles it does. So when you request a song, for example 君の銀の庭 by Kalafina, it tries to translate to English text: Your Silver Garden by Kalafina. This is a temporary thing but the latest (version 2) xVASynth voice models can pronounce English characters only. Apparently in v3 that won't be an issue, so in the future the translation can be avoided... although I might still give the english translation to GPT-3, as the monologue is generated, just so it has the context of what the title says in english.

Goodra VRChat avatar creation

Posted 10/6/2022, 1:09:10 AM

(Note: I'm in part writing this to test my blog updating/uploading script. If I thought of this before hand, I would've taken more screenshots along the way.)

I want to make myself better at character modeling -- specifically, the creation of a rig and rigging the model to it. It's something I've done before a number of times, but I still don't feel comfortable doing big avatar projects myself.

So I decided to create a VRChat avatar. A Goodra, from Pokémon, from scratch. It seemed like a fairly easy enough character to make? But I've never made a character model with both moving eyes and proper facial visemes. So, first step was to make the base model, then add visemes and a rig, then once that all worked, texture it. Making the eyelids blink and orienting the eyes for Unity were the hard part (as I wasn't going with a step-by-step tutorial, just dissecting a commissioned model to see how the eye rigging works.)

Orienting the eyes in Unity was really only a problem because at first I didn't see the little toggle to aim them separately -- after I found that I had to redo the eye geometry and re-export. Surprisingly, it worked really well then.

I think it turned out okay! Texture's a bit basic, but... whatever. I've been meaning to make an autumn leaves/grass-type Goodra OC for a while, so my next step will be to alter it into that.

First post

Posted 9/20/2022, 7:14:05 PM

Added a blog page, although I still need to add the editor for myself. Right now I'm having to edit a json file manually.

You've reached the end!