Skip to content

🩵 Heart Rate

BoiHanny edited this page Dec 9, 2024 · 5 revisions

MagicChatbox Pulsoid Heart Rate and OSC Integration Guide

The Pulsoid Heart Rate feature in MagicChatbox allows you to display your heart rate in real-time, fully integrated with Pulsoid. It’s compatible with a range of smartwatches and fitness trackers, such as Apple Watch, Garmin, and Fitbit, ensuring you have seamless heart rate monitoring while you are in VR or desktop mode.

Pulsoid Heart Rate Overview

Installation and Configuration

Requirements:

  • MagicChatbox application
  • Mobile device (iOS or Android) with Bluetooth
  • Pulsoid account with a 'BRO plan' subscription
  • Supported heart rate monitor device (e.g., Apple Watch SE/9/10/ULT)
  • VRChat

Installation Steps:

  1. Download and Install MagicChatbox:

    • Obtain the MagicChatbox application from its official GitHub page.
  2. Create a Pulsoid Account and Subscribe to the 'BRO plan':

  3. Enable OSC in VRChat:

    • Follow the YouTube guide to enable OSC for integration with VRChat.
  4. Download the Pulsoid Mobile App:

  5. Connect Your Supported Heart Rate Device:

    • Sign into your Pulsoid account on the mobile app and connect your supported device to start transmitting data.

Note: A 'BRO plan' subscription and a compatible heart rate monitor with BLE support are required.

Connecting Pulsoid to MagicChatbox

Automatic Setup

  1. Connect via MagicChatbox:

    • In MagicChatbox, navigate to Options > Pulsoid Heart Rate Options and click on "Connect with Pulsoid". This action will open a new browser window.

    Connect with Pulsoid

  2. Authorize the Application:

    • Log into your Pulsoid account with an active BRO subscription and click on "Authorize app".

    Authorize App

  3. Confirmation:

    • Once authorized, close the browser and return to MagicChatbox. It should now display "Connected with Pulsoid".

    Connected with Pulsoid

  4. Ensure Device Connection:

    • Make sure your heart rate device is connected to your Pulsoid account.

Manual Setup

  1. Initiate Manual Authorization:

    • Navigate to Options > Pulsoid Heart Rate Options in MagicChatbox and select "Manual web authorization".

    Manual Web Authorization

  2. Start Web Authentication:

    • Click "Start web authentication with Pulsoid".

    Start Web Authentication

  3. Authorize and Obtain Token:

    • After logging in and authorizing in the new browser window, you'll be redirected to a page showing an authorization token.

    Authorization Token

  4. Connect Using Token:

    • Copy this token, paste it into MagicChatbox, and click "Connect".

    Paste Token and Connect

  5. Disconnecting Pulsoid:

    • To disconnect Pulsoid from MagicChatbox, click the red "X" button.

    Disconnect Pulsoid

Pulsoid Heart Rate Options

Pulsoid Heart Rate Options

Customization Features:

  1. Prefix Icon

    • Choose to display a custom prefix icon in front of your heart rate to personalize your display.
  2. Auto-Change Icons

    • Automatically change the heart rate icons based on your current heart rate zone.
  3. Pulsoid Stats

    • Enable Pulsoid Stats to show detailed heart rate data over a specific time frame. Select the period (e.g., 24 hours), and choose to display metrics like calories burned, average heart rate, and recorded times during your session.
  4. Temperature Status

    • Show your body temperature status in addition to heart rate, providing more detailed data.
  5. Heart Rate Trends

    • Display trend indicators to show how your heart rate is changing over time, helping you keep track of your heart rate trends.

Open Sound Control (OSC) Integration

MagicChatbox now includes support for Open Sound Control (OSC), enabling enhanced communication between MagicChatbox and other applications or avatars that support OSC. This integration allows you to send real-time heart rate data and related statistics to your VRChat avatar or other OSC-compatible platforms.

OSC Parameters Overview

Depending on your settings in the Pulsoid Heart Rate Options, MagicChatbox can send various OSC parameters. These parameters can be used to trigger animations, visual effects, or other responses in your avatar based on your heart rate data.

OSC Parameters Table

Below is a comprehensive table of OSC parameters available in MagicChatbox. The availability of certain parameters depends on the toggles enabled in the settings menu.

Parameter Address Type Description Available When
/avatar/parameters/isHRConnected bool Indicates whether the heart rate connection to Pulsoid is active. Always available.
/avatar/parameters/isHRActive bool Indicates whether the heart rate device is currently active (online). Always available.
/avatar/parameters/isHRBeat bool Indicates if a new heart rate beat has been received. Always available.
/avatar/parameters/HRPercent float Heart rate as a percentage of the maximum value (255 BPM). Always available.
/avatar/parameters/FullHRPercent float Full heart rate percentage normalized between -1 and 1. Always available.
/avatar/parameters/HR int Current heart rate in beats per minute (BPM). Always available.
/avatar/parameters/onesHR int Ones digit of the heart rate value. Available when Disable Legacy OSC Support is False.
/avatar/parameters/tensHR int Tens digit of the heart rate value. Available when Disable Legacy OSC Support is False.
/avatar/parameters/hundredsHR int Hundreds digit of the heart rate value. Available when Disable Legacy OSC Support is False.
/avatar/parameters/MCB_Heartrate_Hot bool Indicates if the heart rate is above the high-temperature threshold. Available when Sent MCB Heartrate Info is True.
/avatar/parameters/MCB_Heartrate_Sleepy bool Indicates if the heart rate is below the low-temperature threshold. Available when Sent MCB Heartrate Info is True.
/avatar/parameters/MCB_Heartrate_TrendUp bool Indicates an upward trend in heart rate. Available when Sent MCB Heartrate Info is True and Heart Rate Trends are enabled.
/avatar/parameters/MCB_Heartrate_TrendDown bool Indicates a downward trend in heart rate. Available when Sent MCB Heartrate Info is True and Heart Rate Trends are enabled.
/avatar/parameters/MCB_Heartrate_Min int Minimum heart rate recorded over the selected time frame. Available when Sent MCB Heartrate Info is True and Sent MCB Heartrate Info Legacy is False.
/avatar/parameters/MCB_Heartrate_Max int Maximum heart rate recorded over the selected time frame. Available when Sent MCB Heartrate Info is True and Sent MCB Heartrate Info Legacy is False.
/avatar/parameters/MCB_Heartrate_Avg int Average heart rate over the selected time frame. Available when Sent MCB Heartrate Info is True and Sent MCB Heartrate Info Legacy is False.
/avatar/parameters/MCB_Heartrate_Min_Ones int Ones digit of the minimum heart rate. Available when Sent MCB Heartrate Info Legacy is True.
/avatar/parameters/MCB_Heartrate_Min_Tens int Tens digit of the minimum heart rate. Available when Sent MCB Heartrate Info Legacy is True.
/avatar/parameters/MCB_Heartrate_Min_Hundreds int Hundreds digit of the minimum heart rate. Available when Sent MCB Heartrate Info Legacy is True.
/avatar/parameters/MCB_Heartrate_Max_Ones int Ones digit of the maximum heart rate. Available when Sent MCB Heartrate Info Legacy is True.
/avatar/parameters/MCB_Heartrate_Max_Tens int Tens digit of the maximum heart rate. Available when Sent MCB Heartrate Info Legacy is True.
/avatar/parameters/MCB_Heartrate_Max_Hundreds int Hundreds digit of the maximum heart rate. Available when Sent MCB Heartrate Info Legacy is True.
/avatar/parameters/MCB_Heartrate_Avg_Ones int Ones digit of the average heart rate. Available when Sent MCB Heartrate Info Legacy is True.
/avatar/parameters/MCB_Heartrate_Avg_Tens int Tens digit of the average heart rate. Available when Sent MCB Heartrate Info Legacy is True.
/avatar/parameters/MCB_Heartrate_Avg_Hundreds int Hundreds digit of the average heart rate. Available when Sent MCB Heartrate Info Legacy is True.

Parameter Types:

  • Bool: Represents a true or false value.
  • Float: Represents a floating-point number.
  • Int: Represents an integer.

Using OSC Parameters in VRChat

To utilize the OSC parameters in VRChat, follow these steps:

  1. Ensure OSC is Enabled in VRChat:

  2. Map OSC Parameters to Avatar Parameters:

    • Use Unity and the VRChat SDK to map the OSC parameters to your avatar's parameters. This allows your avatar to respond to changes in your heart rate, such as triggering animations or visual effects.
  3. Customize Avatar Responses:

    • Depending on the OSC parameters received, you can create custom behaviors in your avatar. For example:
      • Heartbeat Animation: Use the /avatar/parameters/HR value to drive a heartbeat animation.
      • Color Changes: Change the avatar's color based on /avatar/parameters/HRPercent.
      • Trend Indicators: Display upward or downward trend symbols using /avatar/parameters/HRTrendIndicator.

Settings Menu Overview

The Settings menu in MagicChatbox allows you to customize how your heart rate data is displayed and integrated with OSC. Below is an overview of the available settings and their functionalities.

Key Settings and Toggles:

  • Show Prefix Icon: Display a custom icon before your heart rate.
  • Auto-Change Icons: Automatically switch icons based on heart rate zones.
  • Enable Pulsoid Stats: Toggle detailed heart rate statistics.
  • Show Temperature Status: Display body temperature alongside heart rate.
  • Show Heart Rate Trends: Enable trend indicators for heart rate changes.
  • Enable OSC Support: Activate OSC integration for sending heart rate data to VRChat or other OSC-compatible platforms.
  • Send Magic Info to OSC: Send additional heart rate information such as trend indicators and statistics.
  • Disable Legacy OSC Support: Improve performance by disabling older OSC parameters.
  • Smooth Heart Rate to Chatbox: Apply smoothing to heart rate data before displaying.
  • Heart Rate Adjustment: Adjust heart rate values by a specified BPM.
  • Check for Offline Heart Rate: Mark heart rate as offline if unchanged for a set duration.
  • Show BPM Suffix: Append "bpm" after the heart rate value.
  • Show Heart-Rate Title: Display a custom title before the heart rate value.

Detailed Settings Configuration:

Prefix Icon and Auto-Change Icons

  • Show Prefix Icon: Enable or disable the display of a prefix icon before the heart rate value.
  • Auto-Change Icons: Enable or disable automatic changing of the prefix icon based on heart rate zones.

Pulsoid Stats

  • Enable Pulsoid Stats: Toggle the display of detailed heart rate statistics.
  • Select Time Frame: Choose the time frame for statistics (24h, 7d, 30d).
  • Show Calories: Display calories burned.
  • Show Average Heart Rate: Display average heart rate.
  • Show Maximum Heart Rate: Display maximum heart rate.
  • Show Minimum Heart Rate: Display minimum heart rate.
  • Show Recorded Time: Display recorded duration over the selected time frame.
  • Show Selected Time in Recorded Time: Show the selected time frame in the recorded duration.
  • Hide Current Heart Rate: Hide the current heart rate when displaying stats.
  • Place Trend Indicator Behind Stats: Position the trend indicator behind the stats display.

OSC Integration

  • Enable OSC Support: Activate OSC integration to send heart rate data to VRChat or other OSC-compatible platforms.
  • Send Magic Info to OSC: Enable sending additional heart rate information such as trend indicators and statistics.
  • Send Legacy Heart Rate Info to OSC: Enable sending legacy heart rate information (digits) to OSC.
  • Smooth OSC Heart Rate: Apply smoothing to heart rate data before sending to OSC.
  • Smooth OSC Heart Rate Time Span: Number of heart rate updates to smooth for OSC.

Heart Rate Smoothing and Adjustment

  • Smooth Heart Rate to Chatbox: Apply smoothing to heart rate data before displaying in Chatbox.
  • Smooth Heart Rate Time Span: Number of heart rate updates to smooth for display.
  • Heart Rate Adjustment: Adjust heart rate values by a specified BPM.

Offline Heart Rate Check

  • Enable Heart Rate Offline Check: Enable offline heart rate detection.
  • Unchanged Heart Rate Timeout (Seconds): Duration in seconds to consider heart rate as offline if unchanged.

Additional Options

  • Show BPM Suffix: Append "bpm" after the heart rate value.
  • Disable Legacy OSC Support: Disable legacy OSC support for improved performance.
  • Show Heart-Rate Title: Display a custom title before the heart rate value.
  • Heart-Rate Title Custom: Set the custom heart rate title.
  • Separate Title with Enter: Separate the title and heart rate with an enter key.

Unlock a Permanent 15% Discount on Pulsoid's BRO Plan

MagicChatbox users can take advantage of a 15% discount on Pulsoid’s BRO Plan. This plan unlocks premium features and provides seamless integrations with VRChat and MagicChatbox.

How to Redeem Your Discount:

  1. Visit the Promo Page:

  2. Purchase the BRO Plan:

    • Complete your purchase within 24 hours of visiting the promo page to automatically apply the discount.
  3. Enjoy Enhanced Features:

    • Unlock unique widgets, custom settings, and more with your new BRO Plan.

Key Details:

  • This discount is valid for new subscriptions only.
  • The discount is available within 24 hours after visiting the promo page.
  • If you've already purchased without the discount, you can cancel and resubscribe using the referral link after your trial period.

Conclusion

MagicChatbox's integration with Pulsoid offers a comprehensive solution for real-time heart rate monitoring within both VR and desktop environments. With the added support for OSC, users can now extend their heart rate data's functionality, enabling dynamic interactions and visualizations in connected applications and avatars. By following this guide, you can set up, configure, and optimize your heart rate monitoring experience, ensuring you stay connected and in tune with your vitals during all your activities.


For any further assistance or questions, please refer to the MagicChatbox GitHub Repository or contact our support team.