Skip to content

This repository is to showcase the integration of livekit.io + Symbl.

License

Notifications You must be signed in to change notification settings

SymblDev/symbl-livekit-rtc-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Symbl LiveKit RTC App

Websocket

Symbl's APIs empower developers to enable:

  • Real-time analysis of free-flowing discussions to automatically surface highly relevant summary discussion topics, contextual insights, suggestive action items, follow-ups, decisions, and questions.
  • Voice APIs that makes it easy to add AI-powered conversational intelligence to either telephony or WebSocket interfaces.
  • Conversation APIs that provides a REST interface for managing and processing your conversation data.
  • Summary UI with a fully customizable and editable reference experience that indexes a searchable transcript and shows generated actionable insights, topics, timecodes, and speaker information.

This app is provided for demonstration purposes only. Please feel free to report any issue in the Issues section.


Table of Contents

Introduction

This is a multi-party video-conferencing application that demonstrates Symbl's Real-time APIs. This application is inspired by LiveKit's video app and is built using LiveKit's React SDK and Create React App.

Features

This extension provides the following out-of-the-box conversational intelligence features:

  • Live Closed Captioning: Live closed captioning is enabled by default and provides a real-time transcription of your audio content.
  • Real-time Transcription: Symbl offers state-of-the-art Speech-to-Text capability (also called transcription). You can get audio and video conversations transcriptions in real-time.
  • Real-time Insights: Symbl allows you to get the real-time insights (action items, questions and follow ups) of the conversations.
  • Real-time Topics with sentiments: Symbl allows you to get the real-time topics of the conversations along with their sentiments.
  • Real-time Trackers detection: Symbl allows real-time detection of the trackers in the conversation.
  • Real-time Sentiment Analysis of the conversations: Symbl allows you to get real-time sentiment analysis (sentence level) and aggregated/overall sentiment categorisation of the conversations.
  • Real-time Meeting metrics: Symbl allows you to get real-time analytics of total talktime, total silence and total overlapping time of the meeting.
  • Real-time Member metrics: Demonstrates the talktime or contribution of a member in the conversations.
  • Video conferencing with real-time video and audio: This allows you to use this for real-time use cases where both the video, audio, and its results from Symbl's back-end need to be available in real-time. It can be integrated directly via the browser or server.
  • Enable/Disable camera: After connecting your camera you can enable or disable the camera when you want.
  • Mute/unmute mic: After you connect to your device's microphone you can mute or unmute when you want.
  • Screen sharing: This can be used to capture the screen directly from the web app.

Pre-requisites

Installation

Setup

  1. Clone the project

    git clone https://github.com/SymblDev/symbl-livekit-rtc-app.git
  2. Go to the project directory

    cd symbl-livekit-rtc-app
  3. Install dependencies

    npm install

Run Locally

  1. Navigate to the src/symbl/config/ directory and open the config.js file.

  2. Add your Symbl App Id and App Secret values in the respective fields below:

    appId: '',
    appSecret: ''
  3. Modify the rest of the configuration such as Trackers, Sentiment Analytics as per requirements. [Optional]

    realtimeSentimentAnalysis: true,
    realtimeAnalyticsMetric: true,
    trackers: [
      {
        name: "Promotion Mention",
        vocabulary: [
         "We have a special promotion going on if you book this before",
         "I can offer you a discount of 10 20 percent you being a new customer for us",
         "We have our month special this month",
         "We have a sale right now on"
        ]
      }
    ]
  4. Start the application.

    npm start
    

The application will be started at http://localhost:3000

Usage

  1. Navigate to http://localhost:3000

  2. Enter the LiveKit URL

    If the LiveKit server is not running at the localhost, we can utilize the LiveKit's playground server URL.

       wss://demo.livekit.cloud
    
  3. Enter the Token generated using the LivekKit's Server.

    If the LiveKit server is not running at the localhost, we can utilize the LiveKit's playground server URL to generate token.

       curl --location --request POST 'https://livekit.io/api/playground/tokens' \
       --header 'authority: livekit.io' \
       --header 'Content-Type: text/plain;charset=UTF-8' \
       --data-raw '{
           "roomName": "tower",
           "userName": "Stark"
       }'
    
  4. Click on Connect to enter the Room.

  5. Closed Captioning will appear on the screen as soon as a person start speaking.

  6. To view the Symbl Results (Transcripts, Insights, Topics, Trackers), click on the down arrow that appear in bottom right corner as soon as Symbl's intelligence is generated.

    Adding Multiple Participants in a Room

    If you want to see how the application behaves with multiple participants, you can simply open localhost:3000 in multiple tabs in your browser and connect to the same room using different user names.

    Additionally, if you would like to invite other participants to a room, each participant would need to have their own installation of this application and use the same room name and Account SID (the API Key and Secret can be different).

Screenshots

  • Live Closed Captioning

    Live Closed Captioning

  • Real-time Transcripts, Insights (Action Items, Questions and Follow Ups), Topics and Trackers

    Real-time_Transcripts_Insights_Topics_Trackers

  • Real-time Topics with sentiments

    Real-time_Topics_With_Sentiments

  • Sentiment and Meeting Analytics

    Sentiment_And_Meeting_Analytics

  • Sentiment Analysis with overall sentiment

    Sentiment_Analysis_With_Overall_Sentiment

Community

If you have any questions, feel free to reach out to us at [email protected] or through our Community Slack or our forum.

This guide is actively developed, and we love to hear from you! Please feel free to create an issue or open a pull request with your questions, comments, suggestions, and feedback. If you liked our integration guide, please star our repo!

License

This library is released under the MIT

About

This repository is to showcase the integration of livekit.io + Symbl.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published