Using AI to generate voicelines for Deep Rock Galactic

The Deep Rock Galactic modding scene is pretty crazy. If you come up with some wild idea for a mod, chances are it has already been built. There was only one significant element missing: Custom voicelines! Sure, you could replace the game’s voicelines with GLaDOS for example, but what if you wanted the Dwarves or Mission Control to say something you made up?

Introducing: xVATrainer & xVASynth!

I spent over 200 hours training neural networks to imitate the characters from Deep Rock Galactic, all voiced by the magnificent Robert Friis ❤ The trained models are freely available at your disposal! Keep reading or watch the tutorial to find out how ⛏

AI-generated voicelines for Deep Rock Galactic
Download the voice models

1. Download .zip with voice models

2. Install xVASynth

3. Go to xVASynth folder

4. Copy the resources folder from the .zip into the xVASynth folder

5. Launch xVASynth

6. Click ‘ae’ and enable all words from CMUDict

7. Dip your balls in liquid morkite 👍

Tutorial

We've been working on a full VR mod for Deep Rock Galactic, it's in open beta now!

Related rechts


How to play Lego Star Wars: The Skywalker Saga Co-op on two monitors

Lego Star Wars: The Skywalker Saga is a great game for those looking to relive their nostalgic Lego Star Wars memories. It’s best experienced in co-op. Here’s how to play local co-op with each player on a different screen:

  1. Download & install Windowed Borderless Gaming
  2. With WBG running, click it’s tray icon and choose “Add window (F3)”
  3. Launch Lego Star Wars
  4. Press F3 to associate the game window with WBG
  5. Open WBG again using the tray icon and navigate to “Settings” > “Game Settings”
  6. Adjust the resolution and offset for Lego Star Wars to match your setup (screenshot is for two 1920×1080 monitors)

Enjoy! 😊


The best OctoPrint plugins 2022

OctoPrint adds a web interface to any 3D printer and allows remote printing and monitoring. It can easily be extended with plugins to be even more useful. But finding good ones in the public plugin repository is like looking for a needle in a haystack.

I spent a lot of time trying out different plugins and getting them to work together.

To make your life a little easier, here are my favorite OctoPrint plugins:

Print Time Genius
& Display Layer Progress

PrintTimeGenius generates highly accurate printing time estimations by utilizing the GCode and previous prints. In my experience it estimated ~10 hour prints with an error of a few minutes. That is way better than OctoPrint’s estimations. An absolute must-have. DisplayLayerProgress extracts layer/height information from the GCode and displays it in the web interface and on your printer’s LCD screen.

Print Time GeniusDisplay Layer Progress

Detailed Progress & M73 Progress

Detailed Progress displays the job’s progress in percent, estimated time left and estimated time of completion on your printer’s LCD screen. M73 Progress requires Marlin firmware and causes the LCD’s progress bar to show the correct value instead of 0%.

Detailed ProgressM73 ProgressHint

TouchUI

This plugin can display your OctoPrint interface in a touch-friendly and compact way. Since it is web based, it’s completely dynamic and works (almost) flawlessly with most plugins. I use it to monitor and control my printer from my phone. I recommend traiting it as an app on android. It is also somewhat customizable.

TouchUIMy Settings

Themeify

Themeify offers a selection of themes to spice up the web interface. It also enables you to apply custom CSS rules and display tab icons. It can reduce eye strain with a dark theme and distracts less from the webcam image. Combining it with TouchUI allows for a consistent style.

ThemeifyMy Settings

Firmware Updater

This plugin allows you to flash precompiled firmware to your printer by simply uploading it in the browser. Very useful and time-saving!

Firmware UpdaterHint

Octolapse

Octolapse is designed to make stabilized timelapses of your prints with as little hassle as possible, and it’s extremely configurable. It usually produces stunning results (like the one on the right), but also adds a fair amount of time to your print duration. I recommend only using it with interesting models and filament that contrasts your bed or background.

Octolapse

Fullscreen Webcam

With this plugin installed, double clicking the webcam image will enlarge it to fullscreen and display temperature and progress information. Useful to see the print in detail and spot fails.

Fullscreen Webcam

Custom Background

This plugin allows you to change the temperature graph’s background image by simply uploading it. You can even use GIFs!

Custom BackgroundMy GIF

GCODE System Commands
& Custom Control Editor

I’m using Custom Control Editor to add buttons to the Control tab. They send custom GCODE commands when clicked. GCODE System Commands then turns these into system commands. From there, you can control pretty much anything. I installed mosquitto on the Pi running OctoPrint and use MQTT to control lights pointed at the printer.

GCODE System CommandsCustom Control Editor

Autoscroll

Autoscroll simply adds a button below the terminal to toggle autoscrolling. Without it, the terminal is just a pain in the ass to use.

Autoscroll

Autoselect

Autoselect will automatically select newly uploaded files for printing if there is an active connection to a printer and currently no print job running. Convenient.

Autoselect

Heater Timeout

Ever accidentally preheated your hotend or bed and then forgotten to start a print? This plugin will automatically disable your printer’s heaters after a specified timeout if no print has been started.

Heater Timeout

Bed Level Visualizer & BLTouch

The perfect first layer is one of the most important factors to getting high quality prints. That’s why I highly recommend equipping your printer with some sort of auto bed leveling. Using a BLTouch (or clone) for example. Bed Level Visualizer provides a fancy 3D render of the gathered mesh data. The BLTouch plugin simply adds some BLTouch related controls. Both can be very useful from time to time.

Bed Level VisualizerBLTouch

Reverse engineering Unity's dark mode

TL;DR: Get Unity dark mode for free by following the steps below

Unity is one of the most popular game engines out there. Up until version 2019.4 the software’s dark theme was only available to users with a Pro subscription, costing 1,800$ a year. This is absolutely ridiculous. Making the dark theme available to all users was the most upvoted request in Unity’s own feedback forum. The dark theme is so much better to look at than the light theme that it could be considered an accessibility feature. Nevertheless, it took them 14 years.

Many projects still rely on older versions of the engine, partially because the recent releases turned out to be rather unstable. Of course they still have the dark theme locked away 💩

Here’s how I reverse engineered Unity to get the dark theme without spending 1.8k a year:
(I’m not saying you SHOULD follow these steps one by one but you probably COULD…)

Note: this should work for every Unity version < 2019.4!

  • Get x64dbg
  • Create a copy of Unity.exe
  • Open the original .exe in x64dbg
  • Navigate to the symbols tab an select unity.exe in the left list
  • Enter getskinidx into the right bottom search bar and double-click the first result
  • Look for the line je (or jne) unity.XXXX... followed by xor eax, eax and jmp unity.XXXX... This jne or je instruction (depending on your version) checks if you have the dark theme enabled.
  • Right-click the line > Binary > Edit
  • At the bottom change the first number from a 74 to a 75 or the other way around and click OK
  • Click the Bandaid Icon at the top to open the Patches dialog and hit Patch File
  • Select the copy of Unity.exe
  • Close x64dbg and replace the original .exe with the copy (maybe make a backup)
  • Enjoy a life without eye strain and bad UX decisions

Hope this helps! If you’re left with any remaining questions, feel free to comment or contact me directly.