Giter VIP home page Giter VIP logo

personalaudioeliza's Introduction

Personal Audio Eliza

When the original ELIZA first appeared in the 60's, some people actually mistook her for human. The illusion of intelligence works best, however, if you limit your conversation to talking about yourself and your life. It was text-based however, which was quite convincing during the age of IRC chatrooms and such.

It takes your sentence and reflects it into a question through string substitution and pattern matching. Transforming "Tell me what you think about me" into "You want me to tell you what I think about you?" creating a simple illusion of understanding.

This project brings speech (Bing Speech) to Eliza through the high accessibility of Skype similar to the previous iteration, ‘Audio Eliza’, but with a twist. Personal Audio Eliza has a mode to record an individual’s voice as a profile and use that profile to talk back.

To start chat, click on our live link to add the bot to your Skype contacts:
Add the bot

Step 1: Call it
Step 2: Choose either call / record on the rich card
Step 3: Type in the name of the profile you wish to record as or talk to

Record mode: Wait for the sentences to appear in messaging box and say the sentence or anything you would like. It will take around 7mins of your life, once done, stay on the line until it says, “upload completed”. (Do contact us at [email protected] if you want your clips removed after trying, we are very friendly.)

Call mode: Be moderately amazed that you are talking to your own voice or someone else’s! To end the call just say “bye” or click on “End call”

image

Table of Content

Getting started
Prerequisites
Bot setup
Local installation
Azure installation
Authors
License
Developer guide

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system. Always run Visual studio as ADMINISTRATOR

Prerequisites

Things you need to install:

Setup

Bot setup

https://itsamiraclemycodeworks.wordpress.com/2017/01/31/first-blog-post/

Firstly, login into bot framework directory then click create bot
Picture

Then describe it
Picture

For this field, you will need the host address of where it is hosted. Either in a tunneling address from ngrok or Azure app service host.

https://a8e2caa6.ngrok.io/api/messages
https://callingbot01name.azurewebsites.net/api/messages

Picture

And follow through the instructions after clicking the create microsoft app id and password.
Picture

Leave every thing else as default and click on save settings.

With the bot up, you should be able to see some default channels
Picture

Finally, to add call ability to the bot, select edit on the "Skype" channel and onto the "Calling" tab. Enable "Calling" and populate the webhook

https://a8e2caa6.ngrok.io/api/calling/call
https://callingbot01name.azurewebsites.net/api/calling/call

Picture

Initial Solution setup

After cloning the repository, go to the directory:
Picture
Access 'C:\Users\user\Source\Repos\bot.vs\config\applicationhost.config' and edit this file
Picture
At line 168, replicate the line and paste below it. At the replicated line, change "localhost" to astriek to tell the application to listen to every process on the port 3999.
Picture

Web.Config Configurations

There are a few sections of Web.config that requires attention:

  • Bot
    Tells the bot framework connector which bot should be used. With parameters of bot ID (name of your bot) and the Microsoft application credentials attached to it.
    Picture

  • Local
    The bot can be hosted locally on your desktop, it is good for repeated testing and debugging. When running it locally, it requires a tunneling program ngrok to be running, explanation is as below. Picture

  • Azure
    When the code is ready, deploying to Azure will allow the bot to run without the need to keeping your desktop alive. Trial account is available for 1 month with 200USD credit. (at the time of this writing)
    Picture

  • Other services
    Services such as Bing speech is required for transcribing the caller's speech to text and in order for the code to know how to respond. Picture

Deployment

Local

Run code visual studio as administrator, in project folder "..\bot.vs\config\applicationhost.config", make sure to add

<binding protocol="http" bindingInformation="*:3999:*" />

at line below line 168 to ensure that the tunneling would work.

In ngrok, type "ngrok http 3999" to start the tunneling from bot framework connector to your running code, it will show that an address that look like:

http://a8e2caa6.ngrok.io

In bot framework portal, set bot messaging endpoint to

https://a8e2caa6.ngrok.io/api/messages

and skype channel's calling webhook to

https://a8e2caa6.ngrok.io/api/calling/call

When the configurations are done, just click on the play button at the top to start the code! Picture

Azure

Open up the soluution, right click the project and click 'Publish':

image

With this, click on next and change the name of the application if desired. There is an option of Debug/Release, as this is a working copy, choosing 'Release' is fine. So click 'Publish'

Picture

Picture

To change if the published code is going to be in DEBUG / RELEASE MODE, click "edit settings" and change it here: Picture

When deployment to Azure is successful, this will show up:

Picture

Running the tests

Before the bot is published onto the Microsoft bot directory that is visible to the public, you can add the bot by clicking on the Skype icon here:   Picture

And just call it and start talking :)

The bot requires 2 text input to start
Picture

Built With

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.