Home

Awesome

HRtoVRChat_OSC

Stream your Heart Rate onto your VRChat avatar via. the use of OSC Avatar Parameters.

license downloads lastcommit issues

Using the Launcher

The Launcher will manage your HRtoVRChat for you from a single executable!

  1. Download HRtoVRChatLauncher from the Downloads Page
  2. Launch the Application
    • If you're on Linux, you may need to make the file executable first

Installing the UI Helper

It is always recommended to use the UI as it heavily simplifies the process of setting up the software! Use the Launcher to simplify the install proccess.

  1. Download HRtoVRChat from the Downloads Page
  2. Extract the folder to a directory, and launch the application
  3. Go to the Updates tab, and hit the Update Software
    • After the process completes, hit the Refresh button and make sure the Installed Version and Latest Version match
  4. Return to the Program tab, and Start the app once, then wait for it to close
  5. Go to the Config tab and configure all values you'd like to

Installing the Console App

  1. Download HRtoVRChat_OSC from the Downloads Page
  2. Extract the folder to a directory
  3. Run once, the app will auto close.
  4. Open config.cfg (in the same directory) and change the config values to your likings.

Config

After installing, you then have to tell HRtoVRChat_OSC which service you'll be using to get your heart rate. Below is a table of which Heart Rate monitors are supported. If you'd like to request support, please use the Discussions Board to do so.

Please also consider contributing to add more support with other Heart Rate Monitors.

DeviceHRTypeInfo
FitbitHRtoWSfitbithrtowshttps://github.com/200Tigersbloxed/FitbitHRtoWS
HRProxyhrproxyHRProxy Custom Reader
HypeRatehyperatehttps://www.hyperate.io/
Pulsoidpulsoidhttps://pulsoid.net/ https://www.stromno.com/
PulsoidSocketpulsoidsockethttps://github.com/200Tigersbloxed/HRtoVRChat_OSC/wiki/Upgrading-from-Pulsoid-to-PulsoidSocket
Stromnostromnohttps://www.stromno.com/
TextFiletextfileA .txt file containing only a number
Omniceptomnicepthttps://www.hp.com/us-en/vr/reverb-g2-vr-headset-omnicept-edition.html
SDKsdkhttps://github.com/200Tigersbloxed/HRtoVRChat_OSC/blob/main/SDK.md

For a full list of all the supported devices, please click here

Take note of HRType, as you'll need to know which you you have to put in the hrtype config value.

Extensions

Device support can be extended with our SDK. If you don't want to add support natively, for whatever reason that may be (such as complicated setup), then data can be passed through with our SDK. Feel free to create a PR if you've made an SDK you'd like to showoff.

SDKDeveloperURL
FitbitWebOSCButterScotchVhttps://github.com/ButterscotchV/FitbitWebOSC

Note: Extensions are not maintained by HRtoVRChat_OSC, they are maintained by its repositories' respective contributor(s). Please direct any issues with their software/SDK there, not here.

Values

Below is a table of all the config values and a description. Please update the config accordingly.

Config ValueDefault ValueDescription
ip(string) 127.0.0.1The IP to send OSC messages to.
port(int) 9000The Port to send OSC messages to.
hrtype(string) unknownThe type of service where to get Heart Rate data from.
fitbiturl(string) String.Empty(FitbitHRtoWS Only) The WebSocket URL to connect to.
hrproxyId(string) String.Empty(HRProxy Only) The HRProxy Custom Reader Id.
hyperatesessionid(string) String.Empty(HypeRate Only) The HypeRate SessionId to subscribe to.
pulsoidwidget(string) String.Empty(Pulsoid Only) The Widget's URL to GET from an API.
stromnowidget(string) String.Empty(Stromno Only) The Widget's URL to GET from an API.
pulsoidkey(string) String.Empty(PulsoidSocket Only) API Key for Pulsoid's Sockets.
textfilelocation(string) String.Empty(TextFile Only) Location of the text file where HR data should be read from
MaxHR(double) 150Maximum range for the HRPercent (float) parameter
MinHR(double) 0Minimum range for the HRPercent (float) parameter

Launch Arguments

Arguments that can be run with the app

ArgumentDescription
--auto-startStarts and Stops depending on if VRChat is running or not.
--skip-vrc-checkIgnores whether or not VRChat is open.
--neos-bridgeInitializes the bridge to send parameter data to Neos.
--use-01-boolSerializes bools as floats instead of as bools.
--no-avatars-folderWill scan a userid directory for avatars files if no Avatars directory exists.

Console Commands

These commands can be input into the console window while running

CommandParametersDescription
starthrnoneStarts the HR Listener
stophrnoneStops the HR Listener
restarthrnoneRestarts the HR Listener
startbeatnoneStarts HeartBeat if it isn't enabled already
stopbeatnoneStops the HeartBeat if it is already started
refreshconfignoneRefreshes the config from file
biassdkSDK NameSets a preferred SDK to pull data from
unbiassdknoneRemoves a bias towards any SDK
destroysdkSDK NameRemoves an SDK by name
exitnoneExits the app properly. NOT THE SAME AS CTRL+C

Avatar Setup

Yes, avatar specific setup is required to use this properly. Please see the Avatar Setup Guide (still a WIP) for more information.

Demo

Click to see Video This image link will take you to vimeo

Wiki

See the wiki for more information