[#KINECTSDK] Speech recognition now available in SDK V2!

Hello!!!

We asked for it, and now we finally have weekly builds for the new Kinect V2 SDK. Now the interesting thing is that we have tons of interesting work in each release to review what you have inside. So today, a small review of something that already exists in Kinect SDK V1.8 and needed in V2: Speech Recognition.

The basis is simple and safe that you know, create a dictionary with words within the same. The interesting thing is that we make the Association of the audio feed of Kinect with the speech grammar defined in line 5 in line 18

Another important point is the section for the KinectRecognizer at the end. To see if when I arrive to Madrid I make a cool video :D

And as always, the disclaimer

“This is preliminary software and/or hardware and APIs are preliminary and subject to change”

Greetings @AVE

El Bruno

[#KINECTSDK] Speech recogntition now available in SDK V2 !!!

Hola !!!

Después de tanto pedirlo, por fin tenemos weekly builds del nuevo SDK de Kinect V2. Ahora lo interesante es que tenemos una pila de trabajo interesante en cada release para ver lo que tenemos dentro. Asi que hoy,un pequeño review de algo que ya existe en Kinect SDK V1.8 y que necesitábamos en V2: Speech Recognition.

La base es simple y seguro que lo conoces, crear un diccionario con palabras dentro del mismo. Lo interesante es que en la l’inea 18 hacemos la asociación del audio feed de Kinect con el speech grammar que se define en la línea 5

Otro punto importante es la sección para obtener el KinectRecognizer al final. A ver si cuando llego a Madrid puedo hacer una dem and video cool sobre esto :D

And as always, the disclaimer

“This is preliminary software and/or hardware and APIs are preliminary and subject to change“

Saludos @AVE

El Bruno

[#CODING4FUN] #XboxOne Game Controller + C# = fun time!

Hello!

A few days ago, MS team gives the capability to connect XBoxOne controller to a PC. This is a quite simple action: get the controller use the USB cable and… almost ready.

The great Scott Hanselman explains all of this in a post: how to install the drivers and how to configure the controls. When you’ve already done the Setup you can see the connected remote control and then just configure it.image

So at this point, you probably think: what can I do with this? The sky is the limit ;)

In this post I will share a couple of lines that show how to obtain an object of the Controller type in C# and then view the properties for the controller. First thing we could do is to see if we have a device of this type connected to our computer, we can do this with a couple of native APIs or this NuGet pckg and the following code.

However what is interesting is to see in real-time the values on the remote control. For this I created a 4.5 WPF app and added the following NuGet package: SharpDX.XInput 2.6.2 (link).

Once built the solution, you have to copy the dlls from SharpDx to the run directory and you’ll have “control” on your XBox One command !

XBox1Controller

Important: if the app does not work and you encounter this error, I recommend that DirectX reinstalls from this link.

The main view of the WPF app code is the following

 

References

http://www.hanselman.com/blog/HowToUseAnXboxOneControllerOnYourWindowsPC.aspx

https://devicemgr.codeplex.com/

http://www.microsoft.com/en-us/download/details.aspx?id=35

https://www.nuget.org/packages/SharpDX.XInput/2.6.2

Saludos @ Home

El Bruno

image image image Google

[#CODING4FUN] #XboxOne Game Controller + C# = fun time !!!

Hola! Hace un tiempo que tenemos la posibilidad de conectar los mandos de la XBoxOne a nuestro ordenador. Esto es simple, mando + cable USB y … casi listo. El gran Scott Hanselman explica en un post, cómo instalar los drivers (todavía no oficiales) y cómo configurar los mandos. Cuando has hecho la configuración ya puedes ver el mando conectado y luego solo queda configurar el mismo. image Pues bien hasta aquí la parte plug and play, lo que sigue es lo que seguro pensaste cuando leíste el post de Scott; ¿y qué puedo hacer con esto?. Aquí el cielo es el límite. En este post dejaré un par de líneas que muestran como obtener un objeto del tipo Controller en C# y luego ver las propiedades del mismo. Lo primero que podríamos hacer es ver si tenemos un device de este tipo conectado a nuestro ordenador, esto lo podemos hacer con un par de APIs nativas o con este NuGet pckg y el siguiente código. https://gist.github.com/elbruno/5d980a62502bb8ba910b Sin embargo lo interesante es poder ver en tiempo real los valores del mando. Para esto he creado una app WPF 4.5 y agregado el siguiente paquete NuGet: SharpDX.XInput 2.6.2 (link). Una vez compilado, he copiado las dlls correspondientes de SharpDx al directorio de ejecución y ya tengo “control” sobre mi mando de XBox One !!! XBox1Controller Importante: Si no te funciona la app y te encuentras con este error, te recomiendo que reinstalles DirectX desde este link. El código de la vista principal de la app WPF es el siguiente https://gist.github.com/elbruno/b69ecfede4d0d91f2835   Referencias http://www.hanselman.com/blog/HowToUseAnXboxOneControllerOnYourWindowsPC.aspx https://devicemgr.codeplex.com/ http://www.microsoft.com/en-us/download/details.aspx?id=35 https://www.nuget.org/packages/SharpDX.XInput/2.6.2 Saludos @ Home El Bruno

image image image Google

[#KINECTSDK] Novedades en el Kinect SDK V2 (still in Beta, aunque ya falta poco)

Hola!

Cuando faltan pocos días para que el nuevo sensor Kinect V2 esté oficialmente a la venta, y también se lance el nuevo SDK V2, el mismo va tomando forma.

En la versión que se ha lanzado hace 2 días, tenemos las siguientes novedades disponibles

- Tenemos una nueva app y un repaso de look & feel en otra de las apps

image

- Gesture Builder, esta app nos permite definir y grabar un gesto (gesture) utilizando Machine Learning y el proceso de Frames con la información de Body.

image

- Kinect Studio, la app sigue siendo la que conocemos, aunque ahora en modo “bonito”

image 

- Ahora también tenemos ejemplos para WinRT, no solo en XAML sino también en JS y HTML

image

Pues, esto va tomando forma y seguramente en la próxima build ya tendremos un SDK más que completo.

And as always, the disclaimer

“This is preliminary software and/or hardware and APIs are preliminary and subject to change“

 

Saludos @ La Finca

El Bruno

image image image Google

[#AZURE] When you get a "Could not load file or assembly ‘ Microsoft.WindowsAzure.ServiceRuntime,…" it means make some coffee, long nights are coming

Hello!

When a Cloud Service app that is working since months stops working without a log trace or error log, you know it’s time to prepare some coffee, long nights are waiting for you. Even more if the exception is sporadic and reproduce the error is not trivial.

In this particular case the error was not an exception, at the end it ended up lost as a bad Http Response. To get to this conclusion, I had to break one of the most important rules in a Dev Team:

I’ve debugged the production environment (well actually I didn’t, but the phrase must scare someone!)

I still remember the headaches that I get, when I get my hands into a production server and see development tools installed in the server. The most extreme one was in a customer and find that the transaction manager service had stopped working because… someone had killed the VisualCafe instance (all the JBoss transaction manager service was being executed with a F5 from VisualCafe, and thus lasted several days!).

In our case, the strange thing is that we get to the 2nd most hated sentence for developers

IT WORKS IN MY LAPTOP !!!

And that’s it, locally with the Azure everything works fine. However in production we find the ghosts and goblins. So to find the solution we have several options, one of them involved IntelliTrace and logs, the other was much more cooler Winking smile

The solution was to create a new Cloud Service App in Azure, deploy our solution there (which is easier to say that do, because the number of dependencies involved) and expect to get the exception. (In the original cloud service app there are people working from China, Brazil, USA, France, so make changes to this one is kind of play to be God… ))

Fortunately, in this new environment we also find the exception. And this is the correct moment to Thank to the MICROSOFT’s AZURE Team for the 2nd option in the image below :

image

So, we connected in debug mode to a running instance of a website in a Cloud Service App from Azure! This feature was announced some time ago, and this is the type of news that you don’t this are much important until you need them. (Note: Gisela write an amazing article about this, you can read this here)

So after a while diving in the code we get to the exception

{“Could not load file or assembly ‘ Microsoft.WindowsAzure.ServiceRuntime, Version = 2. 3. 0. 0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35′ or one of its dependencies.”} {The system cannot find the file specified. “:” Microsoft.WindowsAzure.ServiceRuntime, Version = 2. 3. 0. 0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35″}

It was a bucket of cold water, since the way we work with AZURE  model had not changed in quite some time. After researching and found some people with similar problems (1, 2, 3, and 4), we arrived at a solution that still not convinced me at all.

  • Update all projects that use NuGet pkgs from Azure to latest version. This is consistent and is part of we do in each SDK Update.
  • Modify the Dll References property “Copy Local = True”, to include them in the deploy package. In this case the dlls were: Microsoft.WindowsAzure.Configuration, Microsoft.WindowsAzure.Diagnostics, Microsoft.WindowsAzure.Storage and… Microsoft.WindowsAzure.ServiceRuntime. the latter is incredible.
  • Add a redirection of assemblies in the web.config that correct versions are used. Something like

< assemblyIdentity element name = “Microsoft.WindowsAzure.ServiceRuntime” culture = “neutral” publicKeyToken = “31bf3856ad364e35″ / >”
< bindingRedirect oldVersion = “0.0.0.0-2.3.0. 0″ newVersion =” 2.3.0. 0″ / >
< /dependentAssembly >

 

While these steps are consistent, the 2nd where we’ve had to include Microsoft.WindowsAzure.ServiceRuntime with local copy = true, gives me something to think. According to my understanding, a Cloud Service App should include these components Out of the Box.

Well, this solution works and now touch me ask the cracks of Azure: @ibonilm or @quiqu3 that I’ve lost along the way.

PS: on the road I can explain also the following error:

Message = Could not load file or assembly ‘ msshrtmi, Version = 2. 3. 0. 0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35′ or one of its dependencies. The system cannot find the file specified.
Source = Microsoft WindowsAzure. ServiceRuntime
FileName = msshrtmi, Version = 2 3 0. 0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35

This is the perfect excuse for a Beer or Tequila…

Update: Thanks to Gisela (@0Gis0) who helped me with the issue!

Saludos @ La Finca

El Bruno

image image image Google

[#AZURE] Y como el error “Could not load file or assembly ‘Microsoft.WindowsAzure.ServiceRuntime, … “ puede hacer que pierdas noches de descanso

Hola!

Cuando una Cloud Service app que está funcionando desde hace meses deja de funcionar, sin dejar trazas de error. Sabes que es momento de calentar café, porque te esperan noches largas. Más aún si el no funcionamiento es esporádico y reproducirlo no es tarea trivial.

En este caso en particular el error no se trataba como una excepción sino que terminaba perdida como una mala Http Response. Para llegar a esta conclusión, tuve que romper la madre de todas las reglas en un Dev Team:

HE DEPURADO EL ENTORNO DE PRODUCCIÓN (bueno en realidad no es así, pero queda muy bien asustar a más de uno!)

Todavia recuerdo los dolores de cabeza que me daba llegar a un server de producción y ver instaladas herramientas de desarrollo. El caso extremo fue llegar a un cliente y ver que un gestor de transacciones online había dejado de funcionar porque … alguien habia matado la instancia de VisualCafe (todo el JBoss que soportaba el gestor de transacciones estaba siendo ejecutado con un F5 desde VisualCafe, y así duró varios días!).

En nuestro caso, lo extraño es que llegábamos a la 2da frase que más dolores de cabeza nos da a los desarrolladores

EN MI ORDENADOR FUNCIONA !!!

Y así era, en los entornos locales con el emulador de Azure todo funcionaba perfectamente, sin embargo en ejecución aparecían los fantasmas. Aquí había varias opciones, una de ellas involucraba IntelliTrace, la otra era mejor Winking smile 

La solución fue crear una nueva Cloud Service App en Azure, desplegar nuestra solución allí (que es más fácil de decir que de hacer por la cantidad de dependencias que tiene) y esperar que allí también deje de funcionar. (En la original hay trabajando personas de China, Brazil, USA, Francia, etc. meterle mano a esta es jugar a ser Dios …)

Por suerte, en este nuevo entorno de prueba el error se daba también esporádicamente, y en el mismo teníamos mano para AGRADECER A TODO EL EQUIPO DE MICROSOFT DE AZURE POR LA 2DA OPCION EN LA SIGUIENTE IMAGEN:

image

Nos hemos conectado en modo depuración a una instancia en ejecución de un website en una Cloud Service App de Azure !!! Esta feature fue anunciada hace un tiempo, y son del tipo de noticias que las escuchas y que no parecen tan importantes hasta que las necesitas.

Pues bien, después de llegar a la excepción y de un poco de buceo por el código llegamos a la excepción

{“Could not load file or assembly ‘Microsoft.WindowsAzure.ServiceRuntime, Version=2.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35′ or one of its dependencies. The system cannot find the file specified.”:”Microsoft.WindowsAzure.ServiceRuntime, Version=2.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″}

Que era un balde de agua fría, ya que el modelo de trabajo no había cambiado en bastante tiempo. Despues de ver a algunas personas con problemas similares (1, 2, 3, y 4), llegamos a una solución que todavía no me ha convencido del todo.

  • Actualizar todos los proyectos que utilicen NuGet pkgs de Azure a la ultima versión. Esto es coherente y es parte de lo hacemos en cada actualización del SDK.
  • Modificar las Dll References con la propiedad “Copy Local = True”, para que se incluyan las mismas dentro del paquete a desplegar. En este caso las dlls eran: Microsoft.WindowsAzure.Configuration, Microsoft.WindowsAzure.Diagnostics, Microsoft.WindowsAzure.Storage y … Microsoft.WindowsAzure.ServiceRuntime. Lo de esta última es increíble.
  • Agregar en el web.config una redirección de assemblies para que se utilicen las versiones correctas. Algo del tipo

  <assemblyIdentity name=”Microsoft.WindowsAzure.ServiceRuntime” culture=”neutral” publicKeyToken=”31bf3856ad364e35″ />
  <bindingRedirect oldVersion=”0.0.0.0-2.3.0.0″ newVersion=”2.3.0.0″ />
</dependentAssembly>

 

Si bien estos pasos son coherentes, el 2do donde hemos tenido que incluir Microsoft.WindowsAzure.ServiceRuntime con copia local = true, me da que pensar. Según mi entendimiento, una Cloud Service App debería incluir estos componentes Out of the Box.

Pues bien, esta solución funciona y ahora me tocará preguntarle a los cracks de Azure: @ibonilm o @quiqu3 que me he perdido en el camino. 

PD: en el camino me queda explicar también el siguiente error:

Message=Could not load file or assembly ‘msshrtmi, Version=2.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35′ or one of its dependencies. The system cannot find the file specified.
       Source=Microsoft.WindowsAzure.ServiceRuntime
       FileName=msshrtmi, Version=2.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35

Este, da para unas cervezas o tequilas …

Update: Gracias Gisela (@0Gis0) que me ha aclarado varias cosas! y ha escrito un excelente post sobre cómo depurar Azure Cloud Service apps desde Visual Studio (link)

Saludos @ Home

El Bruno

image image image Google

[#KINECTSDK] Error: Status = DeviceNotSupported, time to reinstall the SDK: S

Hello!

When you develop with Kinect, you have to be prepared to deal with strange things. If you also use a Kinect for XBox360, you can find that after be developing an app for days, suddenly you meet the next state of weirdness when your app starts to raise an unexpected status: DeviceNotSupported .

To validate this, you can launch Kinect Explorer app, and you can see the detail.

image

According to the official documentation, in the Debug buffer (Output Panel) should show the following message indicating that this type of State appears with a Kinect for Xbox 360, and that there is no problem on a development computer.

The Kinect plugged into your computer is for use on the Xbox 360.
You may continue using your Kinect for Xbox 360 on your computer for development purposes.
Microsoft does not guarantee full compatibility for Kinect for Windows applications and the Kinect for Xbox 360.

In my case, where I’m working with a development computer, I still find the problem. The first thing I thought is that when working without power, in battery mode, so it raises some weird usb ports configuration and lost recognition of the Kinect, but no this is not the problem. I connected power and the error was still there. The 2nd test was a classic, reboot; and the problem was still there.

Finally, the 3rd option is that solved me the problem: reinstall the SDK. I’m not sure why this option, but it works.

image

Saludos @ La Finca

El Bruno

image image image Google

[#KINECTSDK] Error: Status = DeviceNotSupported, ahora a reinstalar el SDK :S

Hola!

Cuando desarrollas con Kinect tienes que estar preparado para que te pasen cosas extrañas. Si además usas un Kinect for XBox 360, te puedes encontrar con que después de estar desarrollando una app durante días, de repente te encuentras con el siguiente estado cuando lanzas tu app: DeviceNotSupported.

Si para validar, lanzas la app Kinect Explorer, puedes ver el detalle.

image

Según la documentación oficial, en el buffer de Debug (Output Panel) debería aparecer el siguiente mensaje indicando que este tipo de estado aparece con un Kinect for Xbox 360, y que no hay problema en un ordenador de desarrollo.

The Kinect plugged into your computer is for use on the Xbox 360.
You may continue using your Kinect for Xbox 360 on your computer for development purposes.
Microsoft does not guarantee full compatibility for Kinect for Windows applications and the Kinect for Xbox 360.

En mi caso, donde estoy trabajando con un ordenador de desarrollo, sigo encontrando el problema. Lo primero que pensé es que al trabajar con la batería, se modifica alguna configuración de los puertos Usb y perdía el reconocimiento del Kinect, pero nada. Power conectado y el error seguía. La 2da prueba fué un clásico, reboot; y el problema seguía allí.

Finalmente, la 3ra opción es la que me solucionó el problema: Reinstalar el SDK. No estoy seguro del porqué de esta opción, pero funciona.

image

Saludos @ Home

El Bruno

image image image Google

[#EVENT] Materials of the event of Kinect SDK V2

image

Hello!

Yesterday we were very few people in the webcast of Kinect SDK V2, however I think that I have enough time to review the most interesting features in the new SDK

- Hardware updates

- Development for WinRT

In the webcast, create an application for Windows 8 and we learned that you cannot use the simulator for Windows 8 to debug apps of Kinect. The recorded webcast can be downloaded from here.

As always a pleasure then the slides

 

Saludos @ Home

El Bruno

image image image Google