Resolucion de problemas al ejecutar archivos con extension .ica


 Citrix es  una famosa  empresa  fundada en 1989 por el antiguo desarrollador de IBM Ed Iacobucci   y que acogio a muchos de los fundadores originales que habían participado en el proyecto OS/2 de IBM

Es ademas  una de las empresas pioneras, junto a Vmware, en virtualización de escritorios y aplicaciones . Ademas ha estado  muy unida a Microsoft desde sus orígenes.

Dispone de 3 familias de productos: 

  • Citrix Delivery Center (XenApp, XenDesktop, XenServer y Netscaler)
  •  Citrix Cloud Center: Permite crear nubes híbridas con soluciones en la nube,
  • Citrix Online Services: Que está unido a la aplicación GoToMeeting (herramienta videoconferencias) 

Citrix XenDesktop es  su producto estrella y en la versión 7 une en una suite XenApp (Aplicaciones) y XenDesktop (VDI).   Los componentes básicos de un sistema de este tipo   son los siguintes :

  • RECEIVER : Citrix Receiver el software cliente necesario para que se puedan entregar aplicaciones o escritorios . Es un elemento multiplataforma y multidispositivo, ya que existen clientes para Windows, Linux, Mac, Android o IOS entre otros.En este post vamos a hablar precisamente de los  problemas que puede dar
  • STOREFRONT :se comporta, como su propio nombre indica, como una tienda online que pone a disposición de los clientes aplicaciones y escritorios.  Básicamente es el frontal web que los usuarios ven y donde introducen sus credenciales.  Si surgen modificaciones, se actualiza automáticamente (se puede comprobar pulsando F5 en el navegador)
  • DELIVERY CONTROLLER : gestiona los accesos de los usuarios, optimiza las conexiones, hace de intermediario entre el resto de componentes y proporciona los servicios necesarios para la creación de máquinas.  Debe existir al menos un DC en la infraestructura, siendo recomendado tener más de uno (redundancia), ya que marcará la capacidad de gestionar más usuarios y aplicaciones.  Un DC saturado (normalmente CPU) puede provocar problemas en la plataforma y la base de datos.
  • BBDD: Tradicionalmente se monta sobre SQL Server (no todos los componentes admiten SQL Express) . Existen 3 bases de datos en toda instalación XenApp / XenDesktop:
    • Site: Configuración Site en ejecución y estado
    • Configuration Logging: Registro de la actividad administrativa
    • Monitoring: Almacena los datos de Director (inicio sesión y conexión).Sólo los DCs se conectan con la Base de Datos
  •  STUDIO : es la consola de administración tanto para escritorios como para aplicaciones .En Studio se pueden gestionar otros componentes como las licencias o storefront. .Adicionalmente, desde Studio se gestiona la publicación de aplicaciones y escritorios.  También se gestionan las sesiones conectadas en vivo y se pueden lanzar acciones sobre ellas.
  •  LICENSE SERVER  Componente que gestiona las licencias de los productos, al que consulta Citrix Delivery Controller para validar las sesiones . Consola web, que puede gestionarse desde Citrix Studio
  •  DIRECTOR : Es un componente WEB que permite monitorizar en tiempo real sesiones de Citrix.  Es posible extraer informes históricos de tiempos de sesión de un grupo o usuario.
  •  VIRTUAL DELIVERY AGENT  o VDA es el agente necesario en la infraestructura servidora o clientes de escritorio para que exista la comunicación con los Delivery Controller y poder ofrecer esos recursos (aplicaciones o VDI) a los usuarios finales.  En un servidor Windows permite que varios usuarios se conecten a la vez. En un escritorio Windows permite la conexión de un solo usuario.
  •  ACTIVE DIRECTORY:aunque no es un componente directo en la instalación de Citrix, sí se convierte en un requisito.  En directorio activo se configuran los usuarios y contraseñas que tendrán acceso. Así como las GPOs necesarias para implementar con seguridad y optimización la plataforma.
  • OTROS COMPONENTES 
    • Netscaler: Cortafuegos, balanceo de carga, entrega de aplicaciones a través de la red y optimización de aplicaciones 
    • Branch Repeater: Optimiza la entrega de las aplicaciones a los usuarios ubicados en sucursales (Appliance) 
    • EdgeSight: Monitoriza el rendimiento de las aplicaciones (integrado en Director) 
    • Sharefile: Herramienta para compartir archivos de forma segura 
    • Citrix WEM: Gestor de directivas que sustituye ciertas funciones de Active Directory para acelerar el logon. 
    • Netscaler Insight Center: Dispositivo virtual para el seguimiento, análisis y generación de informes sobre aplicaciones.
    • etc

 

Citrix Virtual Apps es un software de virtualización de aplicaciones producido por la famosa empresa  Citrix Systems   que permite acceder a las aplicaciones de Windows a través de dispositivos individuales desde un servidor compartido o un sistema en la nube  (siendo lo mas típico en un ambiente empresarial que estas estén disponibles a través de un servicio VPN)

Dentro de esta estrategia propietarias  del fabricante Citrix , los archivos con con las extensiónes  .ica  de  Independent Computing Architectureson lo que los convierte  literalmente  en archivos de configuración de  siendo  exclusivamente  utilizados precisamente por  esos  programas de Citrix para invocarse en remoto ayudándose precisamente de la configuración que se haya hecho en estos archivos  que se descargan en local desde el portal empresarial .

Estos ficheros ,de hecho, se pueden abrir con un editor de texto ASCII para ver así su contenido, aunqu,  en realidad tiene poco sentido verlos  pues sólo se pueden iniciar en el otro extremo  del cloud  con una de las aplicaciones compatibles de Citrix.

Por tanto , precisamente mediante estos archivos ICA se lanzan las aplicaciones remotamente a utilizando Citrix XenClient , el programa Citrix XenApp o sobre todo  el conocido programa  Citrix Receiver.

Si tiene problemas a la hora de ejecutar algunos de estos ficheros .ica  lanzados  desde un ambiente corporativo o empresarial  (  como por ejemplo que no se pueden abrir las aplicaciones , solo deja guardar los archivos ica ,aparece una ventana que se cierrra en blanco, etc. ),  puede intentar  seguir los siguientes pasos para intentar ejecutar estas aplicaciones virtualizadas:

 

Paso 1: Descargue el nuevo cliente de Citrix

A fecha de agosto de 2018, Citrix Workspace app  es la la sustitutade   Citrix Receiver. Por lo tanto la aplicación Citrix Workspace App es el nuevo cliente de Citrix que actúa de forma similar a Citrix Receiver y es totalmente retrocompatible (o al menos en eso dice el fabricante)   con la infraestructura Citrix de su organización. La aplicación Citrix Workspace App proporciona las capacidades completas de Citrix Receiver, así como nuevas capacidades basadas en la implementación de Citrix de su organización razon por la que el fabricante Citrix  recomienda que se descargue la aplicación Citrix Workspace.

La aplicación Citrix Workspace es el software de cliente fácil de instalar que ofrece un acceso seguro y sin inconvenientes a todo lo necesario para hacer todo lo que quiera. Con esta descarga gratuita, puede acceder de forma fácil y segura a todas las aplicaciones, escritorios y datos desde cualquier dispositivo, incluyendo teléfonos inteligentes, tabletas, PCs y Macs

.Descarga para Windows


La aplicación Citrix Workspace sustituye de forma automática muchas versiones anteriores de Citrix Receiver y los complementos en línea de Citrix; sin embargo, deben eliminarse manualmente algunas versiones antes de instalar la aplicación Citrix Workspace , siendo lo mejor que se haga con la utilidad especifica. de ReceiverCleanupUtility

Paso 2: Acceso desde el VPN a la url de su organización

En al mayoria de lso casos  necesitara  abrir una URL adecuada en su navegador para autenticar su espacio de trabajo digital Citrix con todas sus aplicaciones, escritorios y datos. En ocasiones incluso , puede que necesite configurar su cuenta indicando su correo electrónico o una dirección de servidor para autenticar con la aplicación Workspace para usar aplicaciones y escritorios virtuales. Puede preguntar a su administrador de sistemas qué pasos seguir en su situación pues no solo necesitara  esa url : tambien necesitara la instalación del cliente Citrix en la justa version que haya decidido su organizacion.

Paso 4-Fuerce la ejecución de los achivos

La aplicación Citrix Workspace App es un nuevo cliente de Citrix que actúa de forma similar a Citrix Receiver y es totalmente retrocompatible con la infraestructura Citrix de su organización  proporcionando las capacidades completas de Citrix Receiver, así como nuevas capacidades basadas en la implementación de Citrix de su organización.

Una vez instalado el cliente , cuando acceda desde su portal a la apliacion virualizada , haga clic derecho en el archivo ICA para abrir el menú contextual del archivo.Luego haga clic en la opción “Abrir con” y una lista de programas se abrirá.

Desplázese y haga clic en “Citrix XenApp” o “Citrix XenClient” :el programa Citrix debería  abrirse y lanzará la aplicación remota definida en el archivo ICA.

 

 

Paso 5; Instale  versiones anteriores

Puede que no siempre   estén al dia  en su organizacion con la ultima  version de Citrix en el lado servidor  , por lo que deberá  encontrar versiones anteriores de Receiver en el sitio web de descargas de Citrix.  por lo que debería confirmar con su administrador de sistemas que necesita una versión anterior de Citrix Receiver antes de continuar.

Antes de proceder,primero  debería desistalar  todo el sw de Citrix con  la herramientas especifica : ReceiverCleanupUtility

Una vez desistalado  todo si su aplicación  Citrix  no le funciona   con la  ultima version del cliente  entonces intente descargar alguna version anterior , por ejemplo Receiver 4.9 LTSR for Windows desde https://www.citrix.es/downloads/citrix-receiver/legacy-receiver-for-windows/receiver-for-windows-49LTSR.html

Instalar este cliente es bien sencillo  pues basta descargarlo  yen seguida   ya debería comenzar el asistente de  instalación 

Inmediatamente   simplemente le daremos al botón “Iniciar”

 

 

Una vez leída la licencia deberíamos darla a “Siguiente”

 

 

 

Finalmente  aparecerá la ventana de instalación completada junto al botón de Agregar cuenta , el cual la mayoría de los casos es completamente  innecesario

 

 

Como ve querido lector ,en el caso de tener el servicio  disponible si nos falla probablemente se deba a la version del cliente Citrix que tengamos instalados. Citrix  por su parte , si todo lo demas fallo , reconoce ciertos errores  a los que da  ademas un modo de solucionarlos   en la siguiente url   https://docs.citrix.com/es-es/citrix-workspace-app-for-linux/troubleshooting.html

 

Anuncios

Concurso Azure Sphere


En la era de IoT, nuestra vida está cada vez más integrada con la tecnología  gracias a la capacidad de los dispositivos de consumo cotidiano, las máquinas industriales, los vehículos y los electrodomésticos para interactuar entre sí mediante la conectividad de Internet integrada ha hecho la vida más fácil y eficiente.

Microsoft ha desarrollado Azure Sphere para el desarrollo de dispositivos de microcontroladores (MCU) altamente seguros compatibles con implementaciones de IoT  , intentando  asegurarse de que los dispositivos innovadores puedan continuar alterando el status quo y mejorando nuestras vidas sin sacrificar el importante aspecto de  nuestra seguridad, aspecto  de los mas  crucial para  que el IoT pueda  seguir evolucionando. 

En este senctido  Microsoft  ha hecho una llamada a todos los ingenieros y desarrolladores de todo el mundo para crear proyectos altamente seguros, impulsados ​​por MCU utilizando Azure Sphere, diseñando formas creativas para asegurar lo que más lo necesita: ¡todo! 

Asegurar sus datos es importante en una gran cantidad de industrias. Aquí hay algunas ideas para comenzar:

  • Integrar Azure Sphere en dispositivos perimetrales de IoT nuevos o existentes
  • Asegurar sus proyectos de electrónica de consumo .
  • Innovaciones en torno al comercio seguro e inteligente
  • Construccion de soluciones robustas y seguras para edificios y domótica.
  • Diseñar soluciones seguras de fábrica.
  • Crear soluciones de energías renovables

La idea  pues es crear un nuevo proyecto en torno al concepto de seguridad o simplemente mejore la seguridad de sus proyectos existentes con su nuevo kit de Azure Sphere  contandoles detalles urante la experiencia. ¿La mejor parte? ¡Avnet está regalando hasta 20,000 Kits de Esfera Azure gratis para que podamos comenzar!

shutterstock_674647300.jpg

 

¿Qué es Microsoft Azure Sphere?

Azure Sphere consta de tres capas de seguridad: en el sistema operativo, en la nube y en la MCU.

  • Seguridad en el sistema operativo:Un SO creado a propósito reepecto a aspectos como  la seguridad y agilidad para crear una plataforma confiable para nuevas experiencias de IoT. Un sistema operativo seguro construye innovaciones de seguridad pioneras en Windows en un HLOS lo suficientemente pequeño para los MCU.

  • Seguridad en la MCU:Asegurado desde y hasta  el silicio  Esta nueva clase cruzada de MCU ahora combina procesadores de aplicaciones y en tiempo real con tecnología de seguridad y conectividad de Microsoft incorporadas.

  • Seguridad en la nube: Protege los dispositivos con una nube construida para la seguridad de IoT. El servicio de seguridad de Azure Sphere renueva la seguridad del dispositivo, identifica las amenazas emergentes y la confianza de los intermediarios entre el dispositivo, la nube y otros puntos finales.

 El hardware

Especificaciones del Carrier Board

  • Dos zócalos de expansión MikroE Click board
  • Conector de expansión Grove (I2C)
  • Sensores a bordo: acelerómetro de 3 ejes, giroscopio de 3 ejes, temperatura, presión / barométrica, luz ambiental
  • Interfaz para pantalla OLED 128×64 opcional
  • Interfaz USB
  • Soporta depuración, servicio y recuperación
  • UARTs, y JTAG
  • Interruptores pulsadores de usuario y LEDs.
  • Regulación de potencia de 5V a 3.3V
  • Entrada de alimentación de CC: USB 5V desde la computadora central y huellas de terminales para suministros externos de 5V DC y VBAT

Módulo Azure Sphere MT3620

  • MediaTek MT3620AN SoC
  • 3 interfaces ISU configuradas para UART, SPI, I2C
  • ADC / GPIO: 3x entradas de ADC de 12 bits (o 3 GPIOs)
  • PWM / GPIO: 9x salidas PWM (o hasta 24 GPIOs)
  • RTC (requiere suministro VBAT)
  • Wi-Fi de banda dual 2.4 / 5GHz 802.11 a / b / g / n
  • Antena chip de doble banda 2.4 / 5GHz

 El software

Tenga en cuenta los escenarios del mundo real: su solución segura deberá tener una transmisión de comunicación diaria con la Nube de Azure para garantizar una conexión protegida continua. Use su kit de desarrollo de Azure Sphere para aprovechar los servicios en la nube de Microsoft..

 

 

Concurso

 

Puede  regístrese para obtener su kit gratuito , eso si deberemos pagar los costes de envío y los impuestos o aranceles aduaneros de su país. !Incluso aún puede participar si su país no es elegible para los kits gratuitos pues si su país no está en la lista, consulte con frecuencia a medida que amplian el  alcance!.(vea todos los países elegibles. )

main-view.jpg

La seguridad es sumamente importante, pero la consistencia en entornos seguros es lo que nos mantiene en línea  por ello buscan que se pueda mostrar el kit de Azure Sphere como puede permanecer en línea durante 30 días consecutivos y de esta modo  será elegible para ganar los  mejores premios.

Una vez que tenga su kit en la mano, conéctelo y regístrelo descargando la pequeña aplicación de Windows para la sincronización diaria con el servidor de concursos.( Por favor revise las instrucciones de registro ) .Más detalles se pueden encontrar en las reglas oficiales.

 SoftWeb Solutions han construido un increíble “mapa de calor” para ver dónde se han conectado nuestros 20,000 kits de Azure Sphere en todo el mundo. Estaremos representado cada vez que realizemos la sincronización diaria y se convierta en parte de la presencia global de Azure Sphere. Échele un vistazo en el Mapa de Calor de Azure Sphere .

Captura de pantalla 2019-07-23 a las 9.40.08 AM.png

 

Este concurso es parte de una campaña más grande de comunidades de Avnet. Vea el desafío Sensing the World de element14, seminarios web, talleres virtuales y más recursos en secureeverything.avnet.com .

e14-01_vv8GvW475C.png

Premios

¡Estan regalando miles de dólares en premios a los 510 mejores proyectos! Un premio por persona: ninguna persona puede ganar el premio total de $ 35,000. Los  jueces elegirán los mejores proyectos calificados según los criterios de evaluación descritos en la sección de reglas. Los premios de Nivel 3 se entregan únicamente en función de los requisitos de elegibilidad.

Tier 1

Para los proyectos que se separan claramente del resto y demostraron creatividad y uso ejemplar de Azure Sphere. Para ser considerado para los premios de Nivel 1, debe hacer ping a la Nube de Azure una vez al día durante 30 días consecutivos.

3 ganadores de Microsoft Hololens  valorasas en $ 3,500

El mejor proyecto de su clase y el diseño de referencia definitivo para Microsoft Azure Sphere.

El nivel 2

Para los proyectos que se separan claramente del resto y demostraron creatividad y uso ejemplar de Azure Sphere. Para ser considerado para los premios de Nivel 2, debe hacer ping a la Nube de Azure una vez al día durante 15 días consecutivos.

7 ganadores de Surface Laptop  valoradas en  $ 1,000

Nivel 3

Para ser elegible para el premio Tier 3, su proyecto debe usar el kit de desarrollo de Azure Sphere. ¡Los proyectos ganarán automáticamente una nueva Raspberry Pi 4! Eche un vistazo a nuestros requisitos de calificación en la pestaña de reglas.

500 ganadores de Raspberry Pi 4 valoradas en  $ 35

Premio Hackster Impact

Únase a Hackster mientras nos unimos a los Objetivos de Desarrollo Sostenible (ODS) delas Naciones Unidas para hacer del mundo de hoy un lugar más inteligente y saludable. El equipo de Hackster seleccionará el proyecto que mejor contribuya a cualquiera de los ODS.Consulte los criterios de evaluación específicos para esta categoría de premios .

5 ganadoresTarjeta de regalo de $ 250 + tarjeta de regalo Adafruit de $ 100 + entrevista en video + másValor de $ 530

El ganador recibirá lo siguiente: 
– una tarjeta de regalo de $ 250; 
– una tarjeta de regalo Adafruit de $ 100 (premio especial para el concurso Secure Everything); 
– una suscripción de 12 meses a Patchr Premium (valor de $ 180); 
– Por último, pero no menos importante, se presentarán en una entrevista en video con el único y único Alex Glow de Hackster.

Por favor, visite la página del Premio Hackster Impact para más información.

Recursos

 

 

Mas info en hackester.io

 

Datalogger de posicionamiento con Raspberry Pi y Azure


CÓDIGO

AzureIoTRegistryManagerApp C #
Este es el código de acceso y gestión Azure Registro Hub IO, haciendo uso de la clase RegistryManager.
////The MIT License(MIT)
////Copyright(c) 2016 BardaanA

////Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

////The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

////THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

using System;
using System.Threading.Tasks;

// These are the Microsoft's recommended libraries to access
// and make changes to Azure IoT Hub's Registry
using Microsoft.Azure.Devices;
using Microsoft.Azure.Devices.Common.Exceptions;

// This namespace which also dictates the name of the Assembly can be anything you desire.
namespace AzureIoTRegistryManagerApp
{
    class Program
    {
        // RegistryManager object which is going to do most of the work for our application
        static RegistryManager registryManager;
        // This here is the Connection String that you copied from the IoT Hub Shared Access Policies > iothubowner > Shared access keys; remember??
        static string connectionString = "Don't forget to replace this with your own connection string";
        // Keeps track of the registry access status
        static string registryAccessStatus = "";

        static void Main(string[] args)
        {
            try
            {
                // Let's try and create a Registry Manager using our connection string, shall we?
                registryManager = RegistryManager.CreateFromConnectionString(connectionString);
                registryAccessStatus = "Successfuly connected to the IoT Hub registry"; // Yay!
            }
            catch(Exception ex)
            {
                Console.WriteLine("Registry access failed!  {0}",ex.Message);  // Bummer!!
            }
            // Check if RegistryManager was created successfully
            if(registryManager != null)
            {
                Console.WriteLine("*****************************************************");
                Console.WriteLine("===== Welcome to the Azure IoT Registry Manager =====");
                Console.WriteLine();
                Console.WriteLine("++ {0} ++",registryAccessStatus);
                Console.WriteLine();
                int menuSelection = 0;
                while(menuSelection != 3)  // Loop to keep you going...
                {
                    Console.WriteLine("  1) Add device into registry");
                    Console.WriteLine("  2) Remove device from the registry");
                    Console.WriteLine("  3) Close this application");
                    Console.WriteLine("------------------------------------");
                    Console.Write("Enter your selection: ");
                    menuSelection = int.Parse(Console.ReadLine());
                    Console.WriteLine();
                    switch(menuSelection)
                    {
                        case 1:
                            Console.Write("Enter device name that you want to register: ");
                            string deviceName = Console.ReadLine();
                            Console.WriteLine();
                            if(deviceName.Length > 0 && !deviceName.Contains(" "))  // Weak validation :)
                            {
                                // Calling method that actually adds the device into the registry
                                AddDevice(deviceName).Wait();
                            }
                            else
                            {
                                Console.WriteLine("---");
                                Console.WriteLine("Enter valid name!");
                                Console.WriteLine("---");
                            }
                            break;
                        case 2:
                            Console.Write("Enter name of the device to be removed: ");
                            string deviceRemoveName = Console.ReadLine();
                            Console.WriteLine();
                            if(deviceRemoveName.Length > 0 && !deviceRemoveName.Contains(" "))  // Weak validation :(
                            {
                                // Calling method that actually removes the device from the registry
                                RemoveDevice(deviceRemoveName).Wait();
                            }
                            else
                            {
                                Console.WriteLine("---");
                                Console.WriteLine("Enter valid name!");
                                Console.WriteLine("---");
                            }
                            break;
                        case 3:
                            // Breaks out of the loop
                            break;
                        default:
                            Console.WriteLine("---");
                            Console.WriteLine("Choose valid entry!");
                            Console.WriteLine("---");
                            break;
                    }
                }
                // Closes the RegistryManager access right before exiting the application
                registryManager.CloseAsync().Wait();
            }
        }

        // Method used to add device into the Registry, takes in a string as a parameter
        private static async Task AddDevice(string deviceId)
        {
            // A Device object
            Device device;
            try
            {
                // Lets try and create a Device into the Device Registry
                device = await registryManager.AddDeviceAsync(new Device(deviceId));
                if(device != null)
                {
                    Console.WriteLine("Device: {0} added successfully!",deviceId); // Hooray!
                }
            }
            catch(DeviceAlreadyExistsException)  // What?
            {
                Console.WriteLine("---");
                Console.WriteLine("This device has already been registered...");// When did I do that??
                Console.WriteLine("---");
                device = await registryManager.GetDeviceAsync(deviceId);
            }
            Console.WriteLine();
            Console.WriteLine("Generated device key: {0}",device.Authentication.SymmetricKey.PrimaryKey);  // Now you're talking!
            Console.WriteLine();
        }

        // Method used to remove a device from the Device Registry, takes a string as a parameter
        private static async Task RemoveDevice(string deviceId)
        {
            try
            {
                // Lets try and get rid of the Device from our registry, using the device id.
                await registryManager.RemoveDeviceAsync(deviceId);
                Console.WriteLine("Device: {0} removed successfully!",deviceId);  // Yup!
            }
            catch(DeviceNotFoundException)
            {
                Console.WriteLine("---");
                Console.WriteLine("This device has not been registered into this registry!");  // Are you sure??
                Console.WriteLine("---");
            }
        }
    }
}

Fuente aqui

Tres servicios gratuitos de transcripción de voz a texto


Puede parecer algo futurista, pero lo cierto es que probablemente el teclado y ratón tal como los conocemos hoy en día tenga sus días contados gracias al espectacular avance sufrido estos años en el apartado de reconocimiento de voz usando redes neuronales  y las técnicas de aprendizaje automático

En efecto ,gracias a  la tecnología del aprendizaje automático ,se aplican los algoritmos más avanzados de redes neuronales del aprendizaje profundo al audio de sus ficheros o del procedente de un micrófono  para conseguir un reconocimiento de voz de máxima precisión.

Mencionar que en todos los  sistemas de aprendizaje con redes neuronales la precisión de la API Speech mejora con el tiempo, es decir conforme perfeccionan la tecnología interna de reconocimiento de voz que usa los diferentes productos que vamos   a ver , lo cual significa que en realidad usando estos servicios estamos “entrenado”a estos sistemas para que su porcentaje  de aciertos sea cada vez mayor

Veamos algunas soluciones de reconocimiento de voz liderados por grandes proveedores como pueden ser Google ,Microsoft o IBM.

Reconocimiento de voz de bing

En efecto,   mediante la  nube  de Microsoft ( Azure)   y el servicio Bing Search  se puede convertir audio con voz en texto mediante streaming en tiempo real mediante la cual, al mismo tiempo que se envía el audio al servidor, se devuelven resultados parciales de reconocimiento.

De igual modo podría reconocer el texto a partir del audio almacenado en un archivo pero desde la pagina de demostración no es posible,pero como  “truco” casero para  probar   la funcionalidad  se  puede inyectar  el audio  ya grabado desde un dispositivo externo  por  medio de un cable de audio que lo  introduciría en el pc  pero no olvide seleccionar como dispositivo grabador la entrada de audio donde conecte la señal de audo externa .De este modo regulando adecuadamente el nivel de esta señal  debería funcionar exactamente igual que si habláramos por un micrófono

Para probar el servicio vaya a la url   https://azure.microsoft.com/es-es/services/cognitive-services/speech/

No olvide  seleccionar el idioma de destino en Language, haga clic en el micrófono en Iniciar grabación y empiece a hablar.

bibg

También tiene la opción de hacer clic en las dos frases de voz de ejemplo para ver cómo funciona el reconocimiento de voz.

Como en todos estos tipos de servicios ,si usa esta demostración, significa que consiente ofrecer datos de entrada de voz a Microsoft para fines de mejora del servicio.De  hecho al cargar datos para esta demostración, acepta que Microsoft puede guardarlos y usarlos para mejorar los servicios Microsoft, entre los que se encuentra el  API. A fin de facilitar la protección de la privacidad, se adoptan medidas para desperzonalizar los datos y protegerlos. Los datos no se publicarán ni se permitirá que terceros los usen.

IBM

También esta disponible para efectos de pruebas  la version de IBM por Watson  que permite  igualmente el dictado de voz a texto

El servicio IBM Watson Speech to Text utiliza capacidades de reconocimiento de voz para convertir el árabe, el inglés, el español, el francés, el portugués de Brasil, el japonés y el mandarín en texto.

Lo mas destacable de  Watson es asimismo la capacidad de transcribir audio done se puede usa su micrófono para grabar audio o cargar audio pregrabado (.mp3, .mpeg, .wav, .flac o .opus solamente).

Incluso puede subir  archivos de audio o probar ficheros de muestra para probar el servicio , ( los archivos de audio de muestra  son en inglés de EE. UU y están cubiertos por la licencia de Creative Commons.)

El resultado devuelto incluye el texto reconocido, las alternativas de palabras y las palabras clave moteadas. Algunos modelos pueden detectar múltiples altavoces; lo cual  puede ralentizar el rendimiento.

A continuación esta es la url para probar el servicio en modo  demo: https://speech-to-text-demo.ng.bluemix.net/

No olvide  seleccionar el idioma de destino(Voice Model ) , haga clic en el micrófono(record Audio)   y empiece a hablar.

En unos instantes en tiempo real debería ir viendo las transcripciones  directamente desde esta pagina

Este sistema por el momento se usa  para fines de demostración y no está destinado a procesar datos personales ,así  que no se deben ingresar datos personales en este sistema, ya que puede no tener los controles necesarios para cumplir con los requisitos del Reglamento general de protección de datos (UE) 2016/679.

En teoría los primeros 1000 minutos al mes son gratis en el servicio estándar,   así que el limite es muy superior de uso gratuito al de Google o al  de Microsft .

Reconocmiento  de voz de Google

Tambien  Google dispone de su propio servicio de reconocimiento de voz  , el cual por cierto es el usado por  ejemplo desde los terminales Android.

En el caso de que este validado contra Google  y  tenga cuenta en Google Cloud , incluso se pueden subir directamente los ficheros que deseamos transcribir mediante la opción File Upload  teniendo en cuenta la limitación de 60 minutos en caso de no querer pasar por caja.

Si quiere probar esta funcionalidad esta es la url : https://cloud.google.com/speech-to-text/

No olvide  seleccionar el idioma de destino(Languaje ) ,seleccione el micrófono(Microphone)    y empiece a hablar.

En unos instantes ,en tiempo real debería ir viendo las transcripciones  directamente desde esta pagina:

Como no podía ser de otra manera, también  es posible reconocer el audio subido en la solicitud e integrarlo en su almacenamiento de audio de Google Cloud Storage

¿Pero cual elegimos?

Como hemos podido  ver todos estos servicios de reconocimiento de voz  están en fase de pruebas para demostrar por  ahora incluso en el estado inicial  lo que pueden llegar  a poder hacer.

De todas las opciones ,en caso de tener necesidad de usarlo por mucho tiempo,  el servicio de IBM tiene una oferta mas que generosa de 1000 minutos frente a los 100 de Google  , pero no olvidemos que si queremos integrar este servicio con una aplicación albergada en Azure o en la infraestructura de Google  entonces necesitaremos usar sus propios servicios  .