Blog
Radio downtime
I noticed that Furry Pirate Radio was disconnecting briefly every so
often and it'd interrupt the stream. So I had to move the radio to
another server. Had some brief downtime while doing so but it's back
up and should hopefully stop disconnecting repeatedly.
Edit: Oops! Looks like that didn't fix Shit! : )
Later edit: Might be fixed now!
Untitled
I'm trying to find the origin of the XD emoticon for... some...
reason?? I don't know why actually.
Unfortunately most people in old forums I'm reading from are
estimating, from what appear to be really foggy memories. Seeing
around 2001-ish from a lot of people (which is around when I
started using it, going by my own foggy memories) but plenty of people
guessing it started around '97 with South Park doing similar faces in
it. No idea if that is true though.
I'm also assuming this is like, potentially lost knowledge, especially
if it was started on AOL (pain. because all the old boards from there
are gone.)
Glitched video transitions
More work on my glitch gif generation, I've added video transitions
between two videos (which can optionally transition to loop back to
the start before ending). Below are two videos jammed together.
Untitled
Doing a test of my blog update script. ignore this.
Radio station update and rebranding
Did a bunch of back-end fixes and improvements to (and turned back on)
the radio station
after nearly 3 weeks of it being offline, after I noticed the output
of the LLM it uses seemingly degrading over time. For now, I've taken
the host, Cinnabunny, offline and put up a new character named
Kyuubit. I've renamed it (from "VRChat Pirate Radio") to a more
generic "Furry Pirate Radio" so I don't have to tie it to VRChat.
Kyuubit's design was based on the pokemon Nickit, but if it was a
robot. Her voice is supposed to sound like a weird amalgamation of
Miku's, GLaDOS's and Cinnabunny's, though I will be doing some updates
to the voice later.
Untitled
oop! fixed an error in the radio where the name/artist was doubled in
the metadata
Glitch image generation
Making a glitch image generator because I couldn't find one that did
the exact effect I wanted. Trying to tweak the settings now.
it's just God's Poutiest Lil' Pupper again
(Spoiler for Doctor Who S14E07)
WIP/teaser render
Remaking an old model for a Thing. Need to put in a TON OF WIRES
AAAAAAAAAHH, but that's for another day.
damnit
oh. that's good. I deleted at least two recent blog posts by accident
and I can't find a cached version.
croc
I really need to get around to designing a crocodile sona for
myself.
Nickit Robot VRChat avatar
I think I've finished my Nicket-like robot avatar! Here it is in
VRChat. I might add more animations later and went with a shade of
pink, instead of the original orange you'd see on a Nickit.
The speaker over the mouth animates with like, a beating effect, when
I talk. Need to get a video of it.
This model was actually really fun to make -- and the rigging and
weight painting wasn't complicated enough to annoy me this time. I
will probably make more robotic characters soon.
Also, I actually want to make the eyes animate but haven't gotten that
far yet.
VRChat radio updates
I finally went and debugged why my radio stream wasn't loading into my
VRChat worlds. It hasn't worked since I tried almost a year ago.
Apparently, mp3 streams don't play on linux!Unity -- so I had to
change it to vorbis (need to update the link, though, it still has
.mp3) and that fixed it! Hopefully the change doesn't break it in
Windows!Unity/VRChat.
so that's one of my three hurdles out of the way. the next is that I
can't upload the world because the VRChat build system is broken in
Linux right now. It might be possible to run the Unity editor in
Windows under Virtualbox or something, but that's a pain in the ass,
if so. There are some workarounds I've seen for uploading avatars, so
I'll keep looking through the forums and such.
and finally, they broke video players in Linux again (as far as I can
tell. The usual workarounds aren't working for me) so I can only even
kind-of load video players in VRChat. Only the audio comes through :(
Radio back online
Brought VRChat Pirate Radio back online. For now -- need to set part
of it up on a dedicated server again. The link is in the Radio section
in the header above.
I may actually change the name because I've still not put it in
a public VRChat world lmao. Couldn't get it to load in a video player
last time I tried -- not sure if they changed something or if I just
did something wrong. Or if there's an issue loading it in VRChat
because I'm using Linux now.
I'm thinking of going with a bunny theme, if I change it. I mean...
the radio host is based on my Lopunny pokesona. So for the image on
the page I gave it little rabbit ears (antenna. TV, but still.)
network borked
aaaaaaand one of my cloud servers broke. the one hosting the
confession hotline stuff and some of my radio station stuff. somehow I
have no network connection on it and I can't figure out for the life
of me how to fix it.
not a big deal. but it's still really annoying!! I'll fix it later I
guess.
rss feed
Should I add an rss feed to this blog? (and, if so, direct post
linking)
November 2023 site updates
Earlier I updated the site so it loads (most) pages without
refreshing. I keep finding little UI bugs here and there, fixing them
as I do. At this point I think it's mostly good.
On initial page load (not after clicking most links) it now fetches
another page and replaces the menus with what is in that, so I can
stop editing each page when I need to add another page to the menu.
Eh, it's not ideal, but it's probably the best I can do given
Neocities is static hosting.
I updated the Mewtwo Shrine a bit too. Gave it a new loading screen,
updated the jungle canopy textures (they were too "flat" and looked
out of place before), updated the controls a bit, and some other
stuff. I still get weird framerate issues when playing in the browser
if I have other stuff using a lot of resources, which is weird because
it doesn't happen in Unity. I'll look into it later.
The radio pages are down at the moment, and have been for a while.
I've been updating the script that runs them and might move them to
another server whenever I get the chance. I also made a headless
installer for the part of it that generates the text-to-speech so I
can try that on different server sizes... because I think the machine
I was running it on before was overkill lol.
Oh yeah! and I uploaded some art of four of my
characters
to gallery/bio like pages.
Beefbrain
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
the terror continues
Bad puns bot
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
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
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.
Untitled
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
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
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
Also! I've gone back to tumblr and based its theme on this blog.
bunglepaws.tumblr.com if
you feel like following me.
Blog updates
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 world updates
Created a new, small world
Bed on the Lake.
Also edited my Goodra model into the
Rooftop Pokemon Rave
world.
VRChat Bedroom work
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
Just some VRChat screenshots from the other week
(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!
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!
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
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
(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
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.