All Projects → IBM → vr-speech-sandbox-cardboard

IBM / vr-speech-sandbox-cardboard

Licence: Apache-2.0 license
WARNING: This repository is no longer maintained ⚠️ This repository will not be updated. The repository will be kept available in read-only mode.

Programming Languages

C#
18002 projects
ShaderLab
938 projects
HLSL
714 projects

Projects that are alternatives of or similar to vr-speech-sandbox-cardboard

Vr Speech Sandbox Vive
ARCHIVED and UNMAINTAINED! Please note that this repository is no longer being maintained. For a current VR app please see https://github.com/IBM/vr-speech-sandbox-cardboard
Stars: ✭ 82 (+203.7%)
Mutual labels:  virtual-reality, conversation, ibmcode
watson-document-classifier
Augment IBM Watson Natural Language Understanding APIs with a configurable mechanism for text classification, uses Watson Studio.
Stars: ✭ 41 (+51.85%)
Mutual labels:  ibm-developer-technology-cognitive, ibmcode
watson-multimedia-analyzer
WARNING: This repository is no longer maintained ⚠️ This repository will not be updated. The repository will be kept available in read-only mode. A Node app that use Watson Visual Recognition, Speech to Text, Natural Language Understanding, and Tone Analyzer to enrich media files.
Stars: ✭ 23 (-14.81%)
Mutual labels:  watson-speech, ibmcode
visualize-data-with-python
A Jupyter notebook using some standard techniques for data science and data engineering to analyze data for the 2017 flooding in Houston, TX.
Stars: ✭ 60 (+122.22%)
Mutual labels:  ibm-developer-technology-cognitive, ibmcode
personal-wealth-portfolio-mgt-bot
WARNING: This repository is no longer maintained ⚠️ This repository will not be updated. This repository will be kept available in read-only mode.
Stars: ✭ 43 (+59.26%)
Mutual labels:  watson-conversation, ibmcode
watson-discovery-analyze-data-breaches
A Node.js application that demonstrates how to Import, Enrich, and see Insights about data using Watson Discovery.
Stars: ✭ 20 (-25.93%)
Mutual labels:  ibm-developer-technology-cognitive, ibmcode
watson-discovery-news
A Node.js web app that uses the Watson Discovery News service to query and view the latest trending news items.
Stars: ✭ 39 (+44.44%)
Mutual labels:  ibm-developer-technology-cognitive, ibmcode
pixiedust-facebook-analysis
A Jupyter notebook that uses the Watson Visual Recognition and Natural Language Understanding services to enrich Facebook Analytics and uses Cognos Dashboard Embedded to explore and visualize the results in Watson Studio
Stars: ✭ 42 (+55.56%)
Mutual labels:  ibm-developer-technology-cognitive, ibmcode
Watson-Unity-ARKit
# WARNING: This repository is no longer maintained ⚠️ This repository will not be updated. The repository will be kept available in read-only mode.
Stars: ✭ 24 (-11.11%)
Mutual labels:  watson-speech, ibmcode
alexa-skill-watson-assistant
Alexa Skill using IBM Watson Assistant and IBM Cloud Functions
Stars: ✭ 72 (+166.67%)
Mutual labels:  watson-conversation, ibmcode
assistant-with-discovery-openwhisk
DEPRECATED: this repo is no longer actively maintained
Stars: ✭ 21 (-22.22%)
Mutual labels:  conversation, watson-conversation
Webxr Polyfill
Use the WebXR Device API today, providing fallbacks to native WebVR 1.1 and Cardboard
Stars: ✭ 251 (+829.63%)
Mutual labels:  virtual-reality
Aframe
🅰️ web framework for building virtual reality experiences.
Stars: ✭ 13,428 (+49633.33%)
Mutual labels:  virtual-reality
Avitab
X-Plane plugin that displays a tablet to aid VR usage
Stars: ✭ 177 (+555.56%)
Mutual labels:  virtual-reality
Guri Vr
https://gurivr.com
Stars: ✭ 177 (+555.56%)
Mutual labels:  virtual-reality
Polymer
🎨 graphics + interaction engine
Stars: ✭ 243 (+800%)
Mutual labels:  virtual-reality
Webxr
Repository for the WebXR Device API Specification.
Stars: ✭ 2,357 (+8629.63%)
Mutual labels:  virtual-reality
Vrworkout
High-intensity virtual reality workout game
Stars: ✭ 166 (+514.81%)
Mutual labels:  virtual-reality
Patches
Patches is a visual programming editor for building WebVR and WebGL experiences.
Stars: ✭ 164 (+507.41%)
Mutual labels:  virtual-reality
wtm-udacity-scholars-nanodegree-resources
A List of Resources for Udacity Nanodegrees
Stars: ✭ 15 (-44.44%)
Mutual labels:  virtual-reality

WARNING: This repository is no longer maintained ⚠️

This repository will not be updated. The repository will be kept available in read-only mode.

Create voice commands for VR experiences with Watson services

Read this in other languages: 한국어, 中国.

In this Code Pattern we will create a Virtual Reality game based on Watson's Speech-to-Text and Watson's Assistant services.

In Virtual Reality, where you truly "inhabit" the space, speech can feel like a more natural interface than other methods. Providing speech controls allows developers to create more immersive experiences. Google Cardboard is by far the most popular VR headset platform, with 84 million sold in 2016 (http://www.hypergridbusiness.com/2016/11/report-98-of-vr-headsets-sold-this-year-are-for-mobile-phones).

When the reader has completed this Code Pattern, they will understand how to:

  • Add IBM Watson Speech-to-Text and Assistant to a Virtual Reality environment build in Unity.

architecture

Flow

  1. User interacts in virtual reality and gives voice commands such as "Create a large black box".
  2. The Android phone microphone picks up the voice command and the running application sends it to Watson Speech-to-Text.
  3. Watson Speech-to-Text converts the audio to text and returns it to the running Application on the Android phone.
  4. The application sends the text to Watson Assistant. Watson assistant returns the recognized intent "Create" and the entities "large", "black", and "box". The virtual reality application then displays the large black box (which falls from the sky).

Watch the Video

video

Included components

Featured technologies

  • Unity: A cross-platform game engine used to develop video games for PC, consoles, mobile devices and websites.
  • Google Cardboard: An inexpensive viewer that mounts an Android phone to view VR apps.

Steps

  1. Before you begin
  2. Create IBM Cloud services
  3. Building and Running

1. Before You Begin

2. Create IBM Cloud services

On your local machine:

git clone https://github.com/IBM/vr-speech-sandbox-cardboard.git
cd vr-speech-sandbox-cardboard

In IBM Cloud:

Import the Skill workspace.json:

  • Find the Assistant service in your IBM Cloud Dashboard.
  • Click on the service and then click on Launch tool.
  • Go to the Skills tab.
  • Click Create new
  • Click the Import skill tab.
  • Click Choose JSON file, go to your cloned repo dir, and Open the workspace.json file in data/workspace.json.
  • Select Everything and click Import.

Create the Assistant and get the Assistant ID

  • Go to the Assistant tab.
  • Click Create assistant.
  • Give it a name, i.e. Speech Sandbox Assistant.
  • Click on your Assistant to open it, and then click Add dialog Skill

add Skill to Assistant

  • Under Add existing skill Choose the IBM Speech Sandbox Cardboard Skill.
  • Click the 3 dot menu icon and choose Settings.

Choose Settings

  • Choose API Details and copy the Assistant ID for later configuration in the Unity app.

3. Building and Running

Note: This has been compiled and tested using Unity 2018.3.0f2 and Unity 2019.1.0f2 and Watson Unity SDK version v3.1.0.

Note: If you are in any IBM Cloud region other than US-South you must use Unity 2018.2 or higher. This is because Unity 2018.2 or higher is needed for TLS 1.2, which is the only TLS version available in all regions other than US-South.

  • Navigate to the SpeechSandbox/Assets directory:
cd SpeechSandbox/Assets
git clone https://github.com/watson-developer-cloud/unity-sdk.git
git checkout v3.1.0
  1. Open Unity and inside the project launcher select the Open button.
  2. Navigate to where you cloned this repository and open the SpeechSandbox directory.
  3. If prompted to upgrade the project to a newer Unity version, do so.
  4. Follow these instructions to add the Watson Unity SDK downloaded in step 1 to the project.
  5. Follow these instructions to create your Speech To Text and Watson Assistant services and find their credentials (using IBM Cloud
  6. In the Unity Hierarchy view, click on Assets -> Scenes -> Playground and double-click to load the scene.
  7. In the Unity Hierarchy view, click on Player and then the Streaming Speech object.
  8. In the Inspector you will see Variables for Speech To Text and Watson Assistant
  9. Add the Speech To Text IAM APIKey and the Assistant IAM APIKey
  10. Fill out the Speech To Text Service Url and the Assistant Service Url, or except the defaults. Also fill out the Assistant Id, and the Assistant Version Date. There are tool tips which will show help and any defaults.

Speech Sandbox Creds

  1. Press Play

  2. To Build an android .apk file and deploy to your phone, you can File -> Build Settings (Ctrl + Shift +B) and click Build.

  3. When prompted you can name your build and then move it to your phone.

  4. Alternately, connect the phone via USB and File-> Build and Run (or Ctrl+B).

    Make sure you have enabled USB Debugging:

  • Open Settings-> About-> Software Information-> More

  • Then tap “Build number” seven times to enable Developer options.

  • Go back to Settings menu and now you'll be able to see “Developer options” there.

  • Tap it and turn on USB Debugging from the menu on the next screen.

    Once the app is deployed to your phone it will start, but you'll need to set permissions for the app before it will work correctly:

    • Open Settings-> Apps-> SpeechSandboxCardboard-> Permissions and enable Microphone and Storage.

Links

Troubleshooting

  • If you see:
Assets/Scripts/CreatableObject.cs(162,43): error CS0117: `GvrController' does not contain a definition for `Gyro'

This is because you have your Build Settings -> Platform set to PC, Mac, or Linux Standalone. Solve this problem by changing the Build Settings -> Platform to Android and clicking Switch Platform.

  • If you see:
Assets/unity-sdk/Scripts/Utilities/Credentials.cs(399,51): error CS1061: Type `System.DateTimeOffset' does not contain a definition for `ToUnixTimeSeconds' and no extension method `ToUnixTimeSeconds' of type `System.DateTimeOffset' could be found. Are you missing an assembly reference?

The solution is to go to Build Settings->Player Settings-> Other Settings->Scripting Runtime Version and change to: Experimental(.NET 4.6 Equivalent).

Learn more

  • Artificial Intelligence Code Patterns: Enjoyed this Code Pattern? Check out our other AI Code Patterns.
  • AI and Data Code Pattern Playlist: Bookmark our playlist with all of our Code Pattern videos
  • With Watson: Want to take your Watson app to the next level? Looking to utilize Watson Brand assets? Join the With Watson program to leverage exclusive brand, marketing, and tech resources to amplify and accelerate your Watson embedded commercial solution.

License

This code pattern is licensed under the Apache Software License, Version 2. Separate third party code objects invoked within this code pattern are licensed by their respective providers pursuant to their own separate licenses. Contributions are subject to the Developer Certificate of Origin, Version 1.1 (DCO) and the Apache Software License, Version 2.

Apache Software License (ASL) FAQ

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