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.nethyperate.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.

Usage

Getting up and running is relatively straightforward. The plugin will automatically connect to VTube Studio on launch. From there, do the following steps:

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).

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 than VTS_Heartrate_Pulse, suitable for controlling your model's ParamBreath 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 the VTS_Heartrate_Breath parameter.

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.

Download

Download
vts-heartrate-v1.2.0.zip 40 MB

Development log

Comments

Log in with itch.io to leave a comment.

(+1)

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.

(+2)

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! 

(+1)

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… 🤔

(+1)

This feature has been added in today’s update. I hope it meets your needs!