All Projects β†’ VidyasagarMSC β†’ Watbot

VidyasagarMSC / Watbot

Licence: other
An Android ChatBot powered by IBM Watson Services (Assistant V1, Text-to-Speech, and Speech-to-Text with Speaker Recognition) on IBM Cloud.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Watbot

Chatbot Watson Android
An Android ChatBot powered by Watson Services - Assistant, Speech-to-Text and Text-to-Speech on IBM Cloud.
Stars: ✭ 169 (+164.06%)
Mutual labels:  chatbot, conversation, watson, intent, entity, android-studio, workspace, speech, dialog
leon
🧠 Leon is your open-source personal assistant.
Stars: ✭ 8,560 (+13275%)
Mutual labels:  text-to-speech, chatbot, assistant, speech-to-text
web-speech-cognitive-services
Polyfill Web Speech API with Cognitive Services Bing Speech for both speech-to-text and text-to-speech service.
Stars: ✭ 35 (-45.31%)
Mutual labels:  text-to-speech, speech-to-text, cognitive-services
Naomi
The Naomi Project is an open source, technology agnostic platform for developing always-on, voice-controlled applications!
Stars: ✭ 171 (+167.19%)
Mutual labels:  assistant, speech-to-text, text-to-speech
Seq2seqchatbots
A wrapper around tensor2tensor to flexibly train, interact, and generate data for neural chatbots.
Stars: ✭ 466 (+628.13%)
Mutual labels:  chatbot, conversation, dialog
DSTC6-End-to-End-Conversation-Modeling
DSTC6: End-to-End Conversation Modeling Track
Stars: ✭ 56 (-12.5%)
Mutual labels:  chatbot, dialog, conversation
Athena
A free and open source replacement for Google Assistant on Android devices, meant to integrate with the Sapphire Framework. It contains both speech-to-text and text-to-speech services. It does not require Google services or network connectivity
Stars: ✭ 73 (+14.06%)
Mutual labels:  text-to-speech, assistant, speech-to-text
Dragonfire
the open-source virtual assistant for Ubuntu based Linux distributions
Stars: ✭ 1,120 (+1650%)
Mutual labels:  chatbot, speech-to-text, text-to-speech
Sonus
πŸ’¬ /so.nus/ STT (speech to text) for Node with offline hotword detection
Stars: ✭ 532 (+731.25%)
Mutual labels:  speech, speech-to-text
Nodejs Speech
Node.js client for Google Cloud Speech: Speech to text conversion powered by machine learning.
Stars: ✭ 545 (+751.56%)
Mutual labels:  speech, speech-to-text
Syn Speech
Syn.Speech is a flexible speaker independent continuous speech recognition engine for Mono and .NET framework
Stars: ✭ 57 (-10.94%)
Mutual labels:  speech, speech-to-text
Java Speech Api
The J.A.R.V.I.S. Speech API is designed to be simple and efficient, using the speech engines created by Google to provide functionality for parts of the API. Essentially, it is an API written in Java, including a recognizer, synthesizer, and a microphone capture utility. The project uses Google services for the synthesizer and recognizer. While this requires an Internet connection, it provides a complete, modern, and fully functional speech API in Java.
Stars: ✭ 490 (+665.63%)
Mutual labels:  speech, speech-to-text
Botium Speech Processing
Botium Speech Processing
Stars: ✭ 908 (+1318.75%)
Mutual labels:  speech-to-text, text-to-speech
Annyang
πŸ’¬ Speech recognition for your site
Stars: ✭ 6,216 (+9612.5%)
Mutual labels:  speech, speech-to-text
Voice Overlay Ios
πŸ—£ An overlay that gets your user’s voice permission and input as text in a customizable UI
Stars: ✭ 440 (+587.5%)
Mutual labels:  conversation, speech-to-text
Speechtotext Websockets Java
SDK & Sample to do speech recognition using websockets in Java
Stars: ✭ 11 (-82.81%)
Mutual labels:  cognitive-services, speech-to-text
Cboard
AAC communication system with text-to-speech for the browser
Stars: ✭ 437 (+582.81%)
Mutual labels:  speech, text-to-speech
Cadscenario personalisation
This is a end to end Personalisation business scenario
Stars: ✭ 10 (-84.37%)
Mutual labels:  chatbot, cognitive-services
Lightspeech
LightSpeech: Lightweight and Fast Text to Speech with Neural Architecture Search
Stars: ✭ 31 (-51.56%)
Mutual labels:  speech, text-to-speech
Wsay
Windows "say"
Stars: ✭ 36 (-43.75%)
Mutual labels:  speech, text-to-speech

WatBot - An Android ChatBot powered by IBM Watson

Build Status

WatBot is an IBM Watson powered ChatBot running on Android and using Watson Assistant service on IBM Cloud (an open standards, cloud platform for building, running, and managing apps and services).

Note: This app uses Watson Assistant V1 API

Coding the app on Android Studio

Android Studio is the Official IDE for Android. Android Studio provides the fastest tools for building apps on every type of Android device.

Clone the repo and import the code in Android Studio,

git clone https://github.com/VidyasagarMSC/WatBot.git

Creation of Watson Assistant service; Adding intents & entities ; Building your dialog

Check this blog post for step-by-step and up-to-date instructions.

Configure the App

To configure the App you need to get the Watson Assistant service's Password, URL and Workspace ID

  • In the MainActivity class locate the method named sendMessage(). On the Manage tab of the Assistant service you created, click Launch tool > Skills > Click the three vertical dots next to the Skill > View API Details > You can find the Workspace ID, Username and password. If you wish to use API Key directly read the TODO, uncomment the code and replace the Placeholder with the API Key value.

    You can find the API Key and URL on the Manage tab or under service credentials.

        Assistant assistantservice = new Assistant("2018-02-16");
         //If you like to use USERNAME AND PASSWORD
         //Your Username: "apikey", password: "<APIKEY_VALUE>"
         assistantservice.setUsernameAndPassword("apikey", "<API_KEY_VALUE>");
    
         //TODO: Uncomment this line if you want to use API KEY
         //assistantservice.setApiKey("<API_KEY_VALUE>");
    
         //Set endpoint which is the URL. Default value: https://gateway.watsonplatform.net/assistant/api
         assistantservice.setEndPoint("<ASSISTANT_URL>");
         InputData input = new InputData.Builder(inputmessage).build();
         //WORKSPACES are now SKILLS
         MessageOptions options = new MessageOptions.Builder().workspaceId("<WORKSPACE_ID>").input(input).context(context).build();
         MessageResponse response = assistantservice.message(options).execute();
    
Add the `password` in the following code,
    assistantservice.setUsernameAndPassword("apikey", "<ASSISTANT_PASSWORD>");
  • Next is to get the Workspace ID.

Get the Workspace ID: and add it in the below code,

   MessageOptions options = new MessageOptions.Builder("<Workspace_ID>").input(input).context(context).build();

Gradle Entry

compile 'com.ibm.watson.developer_cloud:assistant:6.11.0'
  • Build and Run your app.

Enable Text to Speech

  • Create a Watson Text to Speech(TTS) service on IBM Cloud
  • Navigate to Service Credentials tab and click on "View Credentials".

On Line 95 of MainActivity.java, replace the password and URL placeholders with the TTS service credentials

    textService.setUsernameAndPassword("apikey", "<TEXT_TO_SPEECH_APIKEY>");
    textService.setEndPoint("<TEXT_TO_SPEECH_URL>");
  • Build and Run your app.

Now when you TAP on any message, the text will be heard via a Voice (Voice.EN_US_LISAVOICE). You can change the voice formats in the code (Line 120 0f MainActivity.java)

Note: The required gradle entries for TTS is already included in the build.gradle file

  compile 'com.ibm.watson.developer_cloud:text-to-speech:6.11.0'
  compile 'com.ibm.watson.developer_cloud:android-sdk:0.5.0'

Enable Speech to Text

  • Create a Watson Speech-To-Text (STT) service on IBM Cloud
  • Navigate to Service Credentials tab and click on "View Credentials".
  • Update lines 274-276 with the credentials.
  • Build and Run your app.

Note: The required gradle entries for STT is already included in the build.gradle file

     compile 'com.ibm.watson.developer_cloud:speech-to-text:6.11.0'
     compile 'com.ibm.watson.developer_cloud:android-sdk:0.5.0'

Chat with your own WatBot

If you have followed all the above instructions, you should be happily chatting with your Wat(son)Bot.

** Remember your bot will be talking to your Watson Assistant service (Intents, Entities and Dialog).**

Additional

Speaker labels

Note: The speaker labels feature is beta functionality that is available for US English, Japanese, and Spanish.

Speaker labels identify which individuals spoke which words in a multi-participant exchange. (Labeling who spoke and when is sometimes referred to as speaker diarization.) You can use the information to develop a person-by-person transcript of an audio stream, such as contact to a call center. Or you can use it to animate an exchange with a conversational robot or avatar. For best performance, use audio that is at least a minute long.

To enable, Click TODO on the bottom tab of Android Studio or search for TODO in MainActivity.java file and uncomment the lines. You should see the output in the logcat as shown below

SPEECHRESULTS: {
      "confidence": 0.5,
      "final": false,
      "from": 1.59,
      "speaker": 0,
      "to": 1.82
    }

Don't stop here!!! Keep coding and using IBM Cloud

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].