<commit_before>---
layout:     post
title:      Meet the Speech Platform in Windows 10
date:       2015-08-05 12:31:19
summary:    wanted to show the speech platform in the Universal Windows Platform | also needed a new best friend | win-win
categories: Cortana
---

If you want to skip my boring intro (I won't get sad, I promise), [jump right into the good stuff](#synth) or [see the code](https://github.com/nmetulev/BestFriend). 

![Imgur](http://i.imgur.com/BP5EyKm.gif)

Once [Build 2015](http://www.buildwindows.com/) was over in April, I was one of the lucky ones (or unlucky, depending on your viewpoint) that spent the month traveling, visiting different places around the world, and sharing the knowledge of the Windows 10 Universal Windows Platform with those that missed out Build in the weirdly beautiful San Francisco. I went around the world twice, met thousands of people, and few even chuckled at my [Peek A Boo](https://github.com/nmetulev/PeekABoo) app.

As Cortana is now available on many Windows 10 devices, [and coming to even more](https://www.youtube.com/watch?v=kZXvz9oDOmk), I naturally wanted to build a fun demo that showcased few of the main capabilities of the platform around speech and "personal assisting". As <NAME> said in one of the early introductions to Windows 10, ["Windows 10 is the first step to an era of more personal computing"](http://blogs.windows.com/bloggingwindows/2015/01/21/the-next-generation-of-windows-windows-10/). A solid voice and speech platform is a huge part of that first step.

So I built my [Best Friend (github)](https://github.com/nmetulev/BestFriend). *What does it do?*, you might ask.

It's simple. I wanted to create a demo that allows a user to message without even touching the keyboard. Yes, I know I can just use Skype for a real voice chat, but what's the fun in that? Anyway, I'm lazy, so I quickly found the simplest bot I could find on the internet and went with it (on the plus side, I didn't have to talk to a real person). In few hours I had a working app with everything I wanted: I could exchange messages with my bot, my app could speak the messages received, I could speak the messages I wanted sent, I could ask Cortana to start a chat with my bot, and I could even ask Cortana to send a quick message to my bot and read me the response without opening my app. 

It's perfect. I built a demo that that is very simple to understand, yet it covered the majority of the speech platform capabilities of Windows 10:

 1. **[Speech Synthesis](#synth)** - the ability for a Windows 10 application to speak
 2. **[Speech Recognition](#recognition)** - the ability for a Windows 10 application to understand you speaking
 3. **[Cortana Invocation](#invocation)** - the ability for Cortana to start a Windows 10 application on your request 
 4. **[Cortana Canvas](#canvas)** - the ability for Cortana to respond to a user on behalf of a Windows 10 application

Now you might be wondering:
<commit_msg>testing something out<commit_after>---
layout:     post
title:      Meet the Speech Platform in Windows 10
date:       2015-08-05 12:31:19
summary:    wanted to show the speech platform in the Universal Windows Platform | also needed a new best friend | win-win
permalink: /meet-the-speech-platform-in-windows-10/
---

If you want to skip my boring intro (I won't get sad, I promise), [jump right into the good stuff](#synth) or [see the code](https://github.com/nmetulev/BestFriend). 

![Imgur](http://i.imgur.com/BP5EyKm.gif)

Once [Build 2015](http://www.buildwindows.com/) was over in April, I was one of the lucky ones (or unlucky, depending on your viewpoint) that spent the month traveling, visiting different places around the world, and sharing the knowledge of the Windows 10 Universal Windows Platform with those that missed out Build in the weirdly beautiful San Francisco. I went around the world twice, met thousands of people, and few even chuckled at my [Peek A Boo](https://github.com/nmetulev/PeekABoo) app.

As Cortana is now available on many Windows 10 devices, [and coming to even more](https://www.youtube.com/watch?v=kZXvz9oDOmk), I naturally wanted to build a fun demo that showcased few of the main capabilities of the platform around speech and "personal assisting". As <NAME> said in one of the early introductions to Windows 10, ["Windows 10 is the first step to an era of more personal computing"](http://blogs.windows.com/bloggingwindows/2015/01/21/the-next-generation-of-windows-windows-10/). A solid voice and speech platform is a huge part of that first step.

So I built my [Best Friend (github)](https://github.com/nmetulev/BestFriend). *What does it do?*, you might ask.

It's simple. I wanted to create a demo that allows a user to message without even touching the keyboard. Yes, I know I can just use Skype for a real voice chat, but what's the fun in that? Anyway, I'm lazy, so I quickly found the simplest bot I could find on the internet and went with it (on the plus side, I didn't have to talk to a real person). In few hours I had a working app with everything I wanted: I could exchange messages with my bot, my app could speak the messages received, I could speak the messages I wanted sent, I could ask Cortana to start a chat with my bot, and I could even ask Cortana to send a quick message to my bot and read me the response without opening my app. 

It's perfect. I built a demo that that is very simple to understand, yet it covered the majority of the speech platform capabilities of Windows 10:

 1. **[Speech Synthesis](#synth)** - the ability for a Windows 10 application to speak
 2. **[Speech Recognition](#recognition)** - the ability for a Windows 10 application to understand you speaking
 3. **[Cortana Invocation](#invocation)** - the ability for Cortana to start a Windows 10 application on your request 
 4. **[Cortana Canvas](#canvas)** - the ability for Cortana to respond to a user on behalf of a Windows 10 application

Now you might be wondering:

{'fraction_non_alphanumeric': 0.07369123041013671, 'fraction_numerical': 0.01833944648216072, 'mean_word_length': 4.176013805004314, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 8, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2471412', 'n_tokens_mistral': 1691, 'n_tokens_neox': 1531, 'n_words': 914}