Gambas-it

Gambas3 => Programmazione => Topic aperto da: allegfede - 27 Dicembre 2013, 19:10:07

Titolo: registrazione audio long time
Inserito da: allegfede - 27 Dicembre 2013, 19:10:07
dovendo registrare 90 giorni di audio (si 3 mesi) ..... da diverso tempo ho abbandonato i videoregistratori "time-lapse" per passare ad una applicazione windows .....

ora pero' sento veramente la spinta morale di abandonare la piattaforma win per passare a dun servizio linux in esecuzione su una delle mie macchine virtuali.

A tal fine pensavo di crearmi una piccola applicazione gambas che mi registrasse su file AAC (uno ogni ora) l'audio catturato da una scheda audio usb ....

pensavo a gstreamer e gb.media , qualcuno ha avuto esperienze in merito?

un saluto e buone feste :D
Titolo: Re: registrazione audio long time
Inserito da: vuott - 27 Dicembre 2013, 21:03:22
pensavo a gstreamer e gb.media....


Penso che dovrai comprendere le modalità necessarie per registrare dati audio con gstreamer, se intendi successivamente utilizzare le funzioni del componente gb.media.
Titolo: Re: registrazione audio long time
Inserito da: vuott - 29 Dicembre 2013, 19:42:56
...potresti anche ipotizzare l'uso delle funzioni esterne dal API di ALSA:

http://www.gambas-it.org/smf/index.php?topic=3176.msg31701
Titolo: Re: registrazione audio long time
Inserito da: allegfede - 30 Dicembre 2013, 10:17:17
Molto interessante.
potrei creare file da un ora pcm e poi fare un controllo per lanciare una conversione batch in aac (con eliminazione del pcm a conversione effettuata) ....
ho sempre in mente di aggiungere la visualizzazio e di un vumeter .... ed in questo caso (con alsa) potrei analizzare il singolo sample dallo stream e darne u a rappresentazione grafica .....
Titolo: Re: registrazione audio long time
Inserito da: vuott - 30 Dicembre 2013, 10:59:40
potrei creare file da un ora pcm e poi fare un controllo per lanciare una conversione batch in aac (con eliminazione del pcm a conversione effettuata) ....

Bisognerebbe verificare se la conversione da PCM a AAC sia possibile con le risorse di GStreamer o anche con quelle della libreria Sox.
Titolo: Re: registrazione audio long time
Inserito da: allegfede - 30 Dicembre 2013, 11:19:25
pensavo a gstreamer e gb.media....


Penso che dovrai comprendere le modalità necessarie per registrare dati audio con gstreamer, se intendi successivamente utilizzare le funzioni del componente gb.media.

qualcosa ho trovato qui':
https://www.google.it/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CDQQFjAA&url=https%3A%2F%2Fopencast.jira.com%2Fwiki%2Fdownload%2Fattachments%2F19365893%2FGstreamer%2520Recording%2520Pipleline.pdf%3Fversion%3D1%26modificationDate%3D1288629448356%26api%3Dv2&ei=cUbBUqnNE-eKyQPcvIG4Cg&usg=AFQjCNHCJvDBdkNQqqkzeCZMsbhxF0LvyA&sig2=qNUDclKe1ZpdZYOjZOBfGg&bvm=bv.58187178,d.bGQ

oppure qui':
https://www.google.it/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CD4QFjAB&url=https%3A%2F%2Fopencast.jira.com%2Fwiki%2Fdownload%2Fattachments%2F19365893%2FGstreamer%2520Recording%2520Streaming%2520Monitoring%2520Pipleline.pdf%3Fversion%3D1%26modificationDate%3D1288632029423%26api%3Dv2&ei=cUbBUqnNE-eKyQPcvIG4Cg&usg=AFQjCNHCpmHiyRIxNvtpJ4TFSzzvZP5hjA&sig2=BSUqcvSHgmv9m2whn34hwg&bvm=bv.58187178,d.bGQ&cad=rja

pero' ora devo scoprire come si smaneggiano i filtri (aggiungere togliere collegare) :D
Titolo: Re: registrazione audio long time
Inserito da: vuott - 30 Dicembre 2013, 11:26:38
pero' ora devo scoprire come si smaneggiano i filtri (aggiungere togliere collegare)

Con GStreamer io mi sono cimentato solo con la riproduzione audio e la riproduzione video.

Ne hai da studiare:  ;D
http://gstreamer.freedesktop.org/
Titolo: Re: registrazione audio long time
Inserito da: allegfede - 30 Dicembre 2013, 12:35:20
vero vero ... per ora penso che mi limitero' a alsa :D
Titolo: Re: registrazione audio long time
Inserito da: vuott - 05 Gennaio 2014, 00:50:20
Ora nella pagina della WIKI relativa alla registrazione audio con le funzioni esterne di ALSA:
http://www.gambas-it.org/wiki/index.php?title=Apertura_del_subsistema_PCM_in_modalit%C3%A0_Registrazione
ho inserito anche un esempio (l'ultimo in quella pagina) per interrompere la registrazione, quando si vuole, premendo un tasto posto sul Form. Poi ripremendo sul primo tasto è possibile effettuare una nuova registrazione, quindi interromperla e così via.
Titolo: Re: registrazione audio long time
Inserito da: allegfede - 08 Gennaio 2014, 22:59:14
primo test (multi file ma non compressi)

in attach
Titolo: Re: registrazione audio long time
Inserito da: allegfede - 09 Gennaio 2014, 13:24:05
multi file con compressione AAC
in attach
Titolo: Re: registrazione audio long time
Inserito da: vuott - 09 Gennaio 2014, 13:28:21
multi file ...

Cosa intendi per "multi file" ?
Titolo: Re: registrazione audio long time
Inserito da: allegfede - 10 Gennaio 2014, 10:01:24
Mah niente di che ... semplicemente ogni volta che premi rec crea un file nuovo invece di sovrascrivere il vecchio.
nella mia applicazione devo fare un file di registrazione ogni ora per 90 giorni e poiiniziare a cancellare i più vecchi  :)

volendo realizzare un vumeter per monitorare il segnale d'ingresso pensavo di analizzare la variabile buffer .....
Titolo: Re: registrazione audio long time
Inserito da: vuott - 10 Gennaio 2014, 15:31:00
volendo realizzare un vumeter per monitorare il segnale d'ingresso pensavo di analizzare la variabile buffer .....

Sì, a mio avviso è l'unico modo. Infatti potrai notare nel susseguirsi dei dati di quel secondo argomento della funzione esterna 'snd_pcm_readi()' proprio la descrizione - visivamente - dell'onda audio.

Comunque, dovresti ovviamente individuare le ampiezze massime dell'onda.  :-\
Titolo: Re: registrazione audio long time
Inserito da: vuott - 11 Gennaio 2014, 00:22:08
Codice: gambas [Seleziona]
Exec ["faac", "-q 10", PercorsoIN]


...sarebbe molto più interessante se si potesse ottenere gestendo le risorse esterne del API di libfaac.so  !    :coder:
Titolo: Re: registrazione audio long time
Inserito da: vuott - 16 Gennaio 2014, 18:49:19
...sarebbe molto più interessante se si potesse ottenere gestendo le risorse esterne del API di libfaac.so  !    :coder:

...insomma, una cosa tipo questa:
http://www.gambas-it.org/smf/index.php?topic=3216.0