vts-heartrate
A downloadable plugin for Windows
Are you looking to do workout streams in the new year? Why not connect your heartbeat to VTube Studio? Features include:
💓 Support for many heart rate monitors with pulsoid.net, hyperate.io and ANT+!
💓 Configurable model tinting that scales with pulse!
💓 Automatic expression and hotkey triggering at desired heartrate thresholds!
💓 Custom tracking parameters for pulse and breath!
💓 NEW! Plugin API so that you can build your own apps that consume or write heartrate data!
About
This plugin is developed by Tom "Skeletom" Farro. If you need to contact him, the best way to do so is via Twitter.
If you're more of an email-oriented person, you can contact his support email: tom@skeletom.net.
Getting up and running is relatively straightforward. The plugin will automatically connect to VTube Studio on launch. From there, do the following steps:
- Input an estimated minimum and maximum heartrate.
- Select a desired heartrate input method. You can connect over bluetooth using your phone and pulsoid.net or hyperate.io, or connect directly to your PC with an ANT+ USB dongle.
- Add Art Mesh Tint modules and configure them to parts of your model!
- Add Expression and Hotkey Trigger modules and configure them to activate model functions automatically!
- Hook up Custom Tracking Parameters, to your model for things like breathing speed!
For the complete guide on all input and output features, the unabridged readme can be found here (also accessible from within the plugin under Settings -> Open README). In addition, I have put together a complete video tutorial.
Custom Parameters
This plugin outputs fifteen custom tracking parameters for use. They are as follows:
VTS_Heartrate_Linear
: A value that scales from 0.0 to 1.0 as your heartrate moves across the expected range.VTS_Heartrate_Pulse
: A value that bounces back and forth between 0.0 and 1.0 with a frequency exactly matching your heartrate.VTS_Heartrate_Breath
: A value that bounces back and forth between 0.0 and 1.0 with a frequency slower thanVTS_Heartrate_Pulse
, suitable for controlling your model'sParamBreath
output parameter.
The following parameters are primarily suited for controlling Live2D props, but you may also find them useful of your model:
VTS_Heartrate_BPM
: A value that represents the actual current BPM from 0 to 255, rather than a normalized value from 0.0 to 1.0.VTS_Heartrate_BPM_Ones
: A value from 0 to 9 that represents the first digit of the current BPM. For example, with a heartrate of 95, this parameter would be 5.VTS_Heartrate_BPM_Tens
: A value from 0 to 9 that represents the second digit of the current BPM. For example, with a heartrate of 95, this parameter would be 9.VTS_Heartrate_BPM_Hundreds
: A value from 0 to 9 that represents the third digit of the current BPM. For example, with a heartrate of 95, this parameter would be 0.VTS_Heartrate_Repeat_1
: A value that scales linearly from 0.0 to 1.0 and resets back to 0.0 with every heartbeat.VTS_Heartrate_Repeat_5
: A value that scales linearly from 0.0 to 1.0 and resets back to 0.0 with every 5 heartbeats.VTS_Heartrate_Repeat_10
: A value that scales linearly from 0.0 to 1.0 and resets back to 0.0 with every 10 heartbeats.VTS_Heartrate_Repeat_20
: A value that scales linearly from 0.0 to 1.0 and resets back to 0.0 with every 20 heartbeats.VTS_Heartrate_Repeat_30
: A value that scales linearly from 0.0 to 1.0 and resets back to 0.0 with every 30 heartbeats.VTS_Heartrate_Repeat_60
: A value that scales linearly from 0.0 to 1.0 and resets back to 0.0 with every 60 heartbeats.VTS_Heartrate_Repeat_120
: A value that scales linearly from 0.0 to 1.0 and resets back to 0.0 with every 120 heartbeats.VTS_Heartrate_Repeat_Breath
: A value that scales linearly from 0.0 to 1.0 and resets back to 0.0 with the frequency of theVTS_Heartrate_Breath
parameter.
Status | In development |
Category | Tool |
Platforms | Windows |
Author | Tom "Skeletom" Farro |
Made with | Unity |
Tags | heartrate, hrm, pulse, streaming, vtuber, vtube-studio |
Code license | MIT License |
Links | Source code, Twitter |
Download
Install instructions
This is a plugin for VTube Studio, so naturally it requires an installation of VTube Studio, which is available for free on Steam.
Simply unzip the folder and run the bundled .exe file to launch the plugin, no installation required.
The plugin will request network permission so as to be able to connect with VTube Studio, and optionally connect with pulsoid.net.
Development log
- Update: v1.2.290 days ago
- Update: v1.2.1Oct 15, 2022
- Update: v1.2.0Aug 27, 2022
- Update: v1.1.0May 09, 2022
- Update: v1.0.0Feb 20, 2022
Comments
Log in with itch.io to leave a comment.
I'd love to get my model breathing really fast the higher the heartrate goes - there doesn't seem to be any instructions on how to do this in your tutorials! I'm a tech dummy, not sure how to control the 'parameters'...
I’m planning on recording a narrated full tutorial video for the plugin, but I needed a break first… 😅 I hope that this is sufficiently helpful in the interim.
Works great! One thing I would love to have in the future though would be the ability to create profiles for outputs so that I can have one for horror games and one for action games without changing each output myself but overall it works perfectly!
After watching someone stream a horror game in the same week as RFA the same realization dawned upon me, too.
I’ll need to think about how I want to set that up, since right now it automatically loads profiles based on the model ID. I’ll need to come up with a way to allow the same ID to have multiple profiles without breaking the existing settings for people… 🤔
This feature has been added in today’s update. I hope it meets your needs!