This is the presentation part of NOM Network's AI VTuber Melba Toast.
Written using Godot and GDScript, this program allows Melba Toast's model to speak, show animations, have expressions and such, driven by the backend. Includes the Control Panel, which can be used to drive the model, OBS Studio and moderate incoming speech. Uses Spout2 to screencap the model, includes native Color Key mode for screen sharing.
Communication with the backend follows this API schema.
This Wiki page contains instructions on how to go live using the Release version of the Toaster.
Melba can sing! Song support is outlined in Wiki.
-
Install the latest minor version of Godot 4.3:
- standalone: https://godotengine.org/download/windows/
- via winget:
winget install GodotEngine.GodotEngine
-
Clone this repo via Git:
git clone https://github.com/NOM-Network/Melba-Toaster.git
Alternatively, you can Download ZIP package using the green "Code" button and unzip it.
-
In the
dist/config
folder, duplicateprod.cfg.example
file, rename it todebug.cfg
and fill it out with the connection details for both OBS and backend websockets (make sure they are available). -
Open the project in Godot.
-
Hit F5 in Godot editor. Live2D and Control Panel scenes should start automatically.
The project can run without OBS and/or the backend, but nothing will actually happen. This can be useful for testing the songs. If you need to test yapping capabilities of the model, use the mock backend server in the
backend
folder.When pushing changes to the repository, ignore or revert any
Param
changes inscenes\live2d\live_2d_melba.tscn
- they are control parameters for the model and are changed in the runtime. If you use GitHub Desktop, you can ignore these lines from commit by clicking on the line block.
This project is built for use on Windows and uses Windows libraries for Cubism extension. If you need to use Toaster on Mac or Linux, you have to build the extension first, then put the files in addons/gd_cubism/bin
folder.
Moved to Wiki
Melba Toast © 2023-present NOM Network and contributors.
Project codebase is licensed under a AGPL 3.0 (and later) license.
Art assets are licensed under a CC BY-SA 4.0 license.
This project uses the following 3rd party libraries and assets:
-
Godot Engine, licensed under the MIT license.
-
Cubism for GDScript by MizunagiKB, licensed under the MIT license.
-
Live2D Cubism SDK by Live2D, licensed under the Cubism SDK Release License.
-
Shantell Sans font, licensed under the SIL Open Font License, Version 1.1.
-
Spout GD, licensed under the MPL 2.0 license.
-
Spout2, licensed under the BSD 2-Clause license.
License files are available in licenses/ folder of this repository.