11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Flavio,
devi sviluppare un'applicazione di dettatura in tempo reale? Per quali piattaforme?

ciao,
Moreno

Enjoy learning and just keep making
114 messaggi dal 09 luglio 2009
Ciao Flavio,
si, in realtà, da quello che leggo, gli strumenti sono molto limitati.

Il fatto che il servizio speech to text non vada oltre il minuto poi la vedo come una limitazione enorme. Dal mio conto sto tentando di documentarmi per lo sviluppo di una piccola webapplication che possa fare al caso mio e che dovrebbe gestire anche tale funzionalità.

Marco
427 messaggi dal 13 novembre 2009
BrightSoul ha scritto:
Ciao Flavio,
devi sviluppare un'applicazione di dettatura in tempo reale? Per quali piattaforme?

ciao,
Moreno


Mobile, hybrid Cordova o xamarin.
11.886 messaggi dal 09 febbraio 2002
Contributi
Per la trascrizione in tempo reale puoi usare AWS Transcribe che mi pare non abbia la limitazione di 1 minuto. Per catturare il flusso puoi usare getUserMedia/Stream API come dicevi tu, che è supportato su molti browser moderni.
https://caniuse.com/#feat=stream

Hai già provato a usare queste due cose in combinazione?

Mi chiedo se prima o poi Google vorrà rendere disponibile il servizio Live Transcription anche per essere usato da altre app Android.
https://www.theverge.com/2019/2/4/18209546/google-live-transcribe-sound-amplifier-accessibility-android-deaf-hard-hearing

ciao,
Moreno

Enjoy learning and just keep making
427 messaggi dal 13 novembre 2009
Amazon lo devo prendere in considerazione.
Circa getUserMedia returns no video input devices in UIWebView or WKWebView, but only directly in Safari. In pratica con cordova non è fattibile usare nativamente la libreria e ad oggi non ci sono plugin scritti per una transcribe efficare e senza limitazioni di tempo.

Circa il live transbribe di google, la app è molto veloce e efficiente. Ma siamo agli inizi, sebbene non stressi particolarmente l'hardware e la batteria, e Google ancora non mette a disposizione nulla!

Anche Apple si sta dando da fare. Dai miei test, con i sintetizzatori vocali propri delle sue piattaforme mobile, attendo riconoscimento efficace in Android ma limitato;
in Android come l'oratore fa una piccola pausa il riconoscimento si stoppa e anche riavviando dopo pochi millisecondi questo produce malfunziomenti e perdita del parlato.
In apple non ci sono limitazioni di tempo e pause ma i lriconoscimento è meno efficace e presenta altre questioni.

Su Amazon non so come funziona il servizio e se posso utilizzarlo tramite cordovajs o xamarin sul cell.
Sto facendo esperimenti anche con Alexa.
L'obiettivo rimane la dettatura e all'opposto anche il riconoscimento facciale.
Modificato da flaviovb il 10 giugno 2019 15:47 -
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,


Circa getUserMedia returns no video input devices in UIWebView or WKWebView, but only directly in Safari.

Ok, pazienza. Puoi comunque usare un plugin di cordova per farti inoltrare il flusso audio dal microfono.
https://www.npmjs.com/package/cordova-plugin-audioinput


Su Amazon non so come funziona il servizio e se posso utilizzarlo tramite cordovajs o xamarin sul cell.

Sicuramente sì, è esposto su HTTP. Nel caso specifico sfrutta HTTP/2 per ricevere audio e restituire trascrizione in tempo reale.
https://docs.aws.amazon.com/en_us/transcribe/latest/dg/API_streaming_StartStreamTranscription.html
Non so se la SDK per C# include già la API per la trascrizione live dato che è una funzionalità introdotta di recente.

ciao,
Moreno
Modificato da BrightSoul il 10 giugno 2019 18:46 -

Enjoy learning and just keep making
427 messaggi dal 13 novembre 2009
Cordova audio input plugin è appunto il plugin su cui mi sto concentrando per capire come trasferire in streaming live ad un servizio web webapi e contestualmente convertire in testo e passarlo come response.
Il problema è come e dove spezzare l’audio intercettato e comunque come procedere con lo stream
Modificato da flaviovb il 10 giugno 2019 19:20 -
11.886 messaggi dal 09 febbraio 2002
Contributi
Il problema è come e dove spezzare l’audio intercettato

Se non c'è limitazione, non serve spezzarlo. Puoi continuare a trasmettere il flusso ininterrottamente finché l'utente tiene aperta la pagina.

Anziché a Web API dovresti mandare il flusso a SignalR. Da ASP.NET Core 3.0 è appunto supportato lo streaming da client a server con SignalR.
https://docs.microsoft.com/it-it/aspnet/core/signalr/streaming?view=aspnetcore-3.0#client-server-di-streamingclient-to-server-streaming

Oppure, il client potrebbe fare lo streaming direttamente verso AWS Transcribe, purché ovviamente questa sia una strategia valida nel tuo scenario. E ovviamente senza che siano divulgate le chiavi segrete fornite da AWS.

Vedo qui che la richiesta HTTP/2 deve includere un sessionid.
https://docs.aws.amazon.com/en_us/transcribe/latest/dg/API_streaming_StartStreamTranscription.html
Perciò potresti far iniziare il job di trascrizione da Web API e poi, ottenuto il session id, lo passi al client così che possa fare lo streaming diretto verso AWS.
In questo modo solo Web API ha l'autorità per iniziare i job di trascrizione ma, una volta iniziati, la palla passa al client.

ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.