Autore Topic: estrarre i tag dai file musicali (ogg e mp3)  (Letto 2202 volte)

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
estrarre i tag dai file musicali (ogg e mp3)
« il: 24 Dicembre 2012, 18:41:22 »
prosegue il progetto di radio automation e ovviamente c'e la nescessita' di caricare nei DB i brani della vostra collezione musicale.

spesso questi sono in mp3 (od OGG se preferite file in formato open) e sarebbe carino poterli catalogare agevolmente per autore/anno/titolo etc etc.

Perche' duplicare l'immissione se spesso queste informazioni sono gia' nel file con gli opportuni metadata?

TAG mp3 (ed equivalenti OGG) non si possono (ancora?) estrarre attraverso l'interfaccia gstreamer di gambas (gb.media) od almeno ancora non ci sono riuscito, ma con un piccolo tool open (scaricabile dai repository) che si chiama "mp3info" (ogginfo per i file .ogg che trovate nel pacchetto vorbis-tools) poterete aggirare l'ostacolo facilmente.

mettete i pacchetti e poi potete scrivere qualcosa del genere:
Codice: [Seleziona]
Public Sub GetInfo(filepath As String)
Dim sOutput As String
Dim aScan As String[]
 
  Select Case LCase(File.Ext(filepath))
   
    Case "mp3" 'mp3info -p "%S\n"
      Exec ["mp3info", "-p", "%a", filepath] To sOutput
      Label_artist.Text = sOutput
      Exec ["mp3info", "-p", "%c", filepath] To sOutput
      TextArea_Comments.Text = sOutput
      Exec ["mp3info", "-p", "%l", filepath] To sOutput
      Label_album.Text = sOutput
      Exec ["mp3info", "-p", "%n", filepath] To sOutput
      Label_track.Text = sOutput
      Exec ["mp3info", "-p", "%t", filepath] To sOutput
      Label_title.Text = sOutput
      Exec ["mp3info", "-p", "%y", filepath] To sOutput
      Label_year.Text = sOutput
     
     
    Case "ogg", "flac"
      Exec ["ogginfo", filepath] To sOutput
      For Each sOutput In Split(sOutput, "\n")
        sOutput = Trim(sOutput)
        aScan = Scan(sOutput, "*: *m:*s")
         If aScan.Count = 3 Then
          'Return CInt(CInt(aScan[1]) * 60 + CFloat(Replace(aScan[2], ",", ".")) + 0.5)
         Endif
      Next
   
  End Select

un piccolo esempio nel pezzo della piattaforma PRS_OSE in fase di alfa :D
https://sourceforge.net/projects/prsose/files/latest/download?source=files

spero possa esservi utile :D
se corri, morirai stanco (motto degli sniper)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: estrarre i tag dai file musicali (ogg e mp3)
« Risposta #1 il: 24 Dicembre 2012, 19:08:52 »
TAG mp3 (ed equivalenti OGG) non si possono (ancora?) estrarre attraverso l'interfaccia gstreamer di gambas (gb.media) od almeno ancora non ci sono riuscito,

Anch'io sto lavorando sull'estrazione dei Tag con gstreamer, ma ancora non riesco a capire con precisione il meccanismo...  :hatecomputer:

Ad ogni modo la strategia adottata da fsurfing (vedi qua: http://www.gambas-it.org/smf/index.php?topic=2450.msg26533#msg26533 ) sarebbe la più idonea.

Ci risentiremo su quest'argomento.
« Ultima modifica: 24 Dicembre 2012, 19:11:16 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re: estrarre i tag dai file musicali (ogg e mp3)
« Risposta #2 il: 24 Dicembre 2012, 21:22:45 »
si e' sicuramente un bel lavoro, ma e' forse un po' troppo legato alla formattazione del file.

Sarebbe perfetto se non fosse che spesso gli "standard" non vengono rispettati ;-)

A questo punto una libreria esterna (mp3info per esempio) potrebbe risultare piu' aggiornata (e' un progetto stabile e molto usato) e meno soggetto ad errori di programmazione (i miei) :D

.... da qualche parte mi e' passata per le mani una discussione (forse sulla mailing list dei developers di gambas), in cui un tizio costruiva un grafo "fake" per estrarre le info del file multimediale .... ma non lo trovo piu' .... :(


... del resto gstreamer dovrebbe essere piu' che in grado di gestire la cosa:
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-metadata.html

PS: .... ancora sono al lavoro per controllare una riparazione dell'ultimo momento e mi scordavo che e' il 24 dicembre .... BUON NATALE !!!! e buon duemilaCredici :D
se corri, morirai stanco (motto degli sniper)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: estrarre i tag dai file musicali (ogg e mp3)
« Risposta #3 il: 25 Dicembre 2012, 01:33:17 »
si e' sicuramente un bel lavoro, ma e' forse un po' troppo legato alla formattazione del file.

Sarebbe perfetto se non fosse che spesso gli "standard" non vengono rispettati ;-)


Più precisamente cosa intendi dire ?
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: estrarre i tag dai file musicali (ogg e mp3)
« Risposta #4 il: 25 Dicembre 2012, 20:46:58 »
Ci risentiremo su quest'argomento.

Allora, ho trovato il modo di vedere i Tag di un file audio con il componente gb.media..... cavolo ! Mi ero perso in un bicchiere d'acqua !

Ho riportato la breve e semplice spiegazione alla fine della pagina della WIKI relativa a quel componente:
https://www.gambas-it.org/wiki/index.php?title=Eseguire_i_file_audio_mediante_la_Classe_%27%27MediaPlayer%27%27_del_componente_gb.media#Estrarre_i_Tag_da_un_file_audio


Segnalo, ad ogni modo, anche quest'altre discussioni del forum:
http://www.gambas-it.org/smf/index.php?topic=77.0
http://www.gambas-it.org/smf/index.php?topic=866.0
http://www.gambas-it.org/smf/index.php?topic=2450.0
http://www.gambas-it.org/smf/index.php?topic=3279.0
« Ultima modifica: 11 Novembre 2021, 02:35:52 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re: estrarre i tag dai file musicali (ogg e mp3)
« Risposta #5 il: 28 Dicembre 2012, 02:05:58 »
Cavolo mo si che si ragiona :-)

E' sempre un Po cervellotico ma ha un senso ;-)

Bene, domani lavoro nuovo codice in puro gambas per la costruzione della mediatica :D

Ps: vuott come al solito sei illuminante!
se corri, morirai stanco (motto degli sniper)

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: estrarre i tag dai file musicali (ogg e mp3)
« Risposta #6 il: 28 Dicembre 2012, 12:26:03 »
Citazione
vott come al solito sei illuminante!
Vero.
Perfortuna che c'è vuott che prova e testa i nuovi componenti , senno non sapremmo neppure che esistono.
Bravissimo!

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: estrarre i tag dai file musicali (ogg e mp3)
« Risposta #7 il: 28 Dicembre 2012, 14:30:01 »
Citazione
vott come al solito sei illuminante!
Vero.
Perfortuna che c'è vuott che prova e testa i nuovi componenti , senno non sapremmo neppure che esistono.
Bravissimo!

Ringrazio entrambi, però sarebbe opportuno che questa "fatica" la facessero anche altre persone.  >:(
Faremmo prima a sbrogliare le varie matasse e i misteri che avvolgono i vari componenti ed argomenti.

« Ultima modifica: 28 Dicembre 2012, 14:36:00 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: estrarre i tag dai file musicali (ogg e mp3)
« Risposta #8 il: 28 Dicembre 2012, 15:32:23 »
senza mistero la vita sarebbe noiosa...  ;D

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: estrarre i tag dai file musicali (ogg e mp3)
« Risposta #9 il: 28 Dicembre 2012, 15:41:37 »
senza mistero la vita sarebbe noiosa...

Senza un buon gruppo di persone che cooperano l'applicazione e lo studio diventano fatica, e l'operatore diventa l'unico fesso...   :donkey:
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: estrarre i tag dai file musicali (ogg e mp3)
« Risposta #10 il: 28 Dicembre 2012, 18:19:16 »
secondo me tu fai troppo bene il tuo "Lavoro" di scopritore per cui un gruppo sarebbe inutile :)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: estrarre i tag dai file musicali (ogg e mp3)
« Risposta #11 il: 28 Dicembre 2012, 18:42:05 »
secondo me tu fai troppo bene il tuo "Lavoro" di scopritore...
....faccio bene il fesso.  :donkey:




.....per cui un gruppo sarebbe inutile

Ah, sì ?

Be', io ti ho sempre ritenuto un ottimo programmatore e conoscitore di Gambas, per cui.... sei cooptato !  :devil:
« Ultima modifica: 06 Febbraio 2013, 00:05:55 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Speedvicio

  • Gamberetto
  • *
  • Post: 25
    • Mostra profilo
Re: estrarre i tag dai file musicali (ogg e mp3)
« Risposta #12 il: 29 Dicembre 2012, 12:09:54 »
secondo me tu fai troppo bene il tuo "Lavoro" di scopritore...
ma... in vero io semplicemente mi ci applico e ci sbatto duramente la testa !  :hard:   ...proprio come un asino !

Penso che sei l'esempio tipico del programmatore "curiosone" che cerca di carpire tutti i segreti del linguaggio di programmazione  :coder:

Io avevo utilizzato il componente ExifTool per il mio player.
Grazie al tuoi aiuto potrò fare qualche "scarso" tentativo anche con gb.media  :)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: estrarre i tag dai file musicali (ogg e mp3)
« Risposta #13 il: 29 Dicembre 2012, 13:35:14 »
.....programmatore "curiosone" che cerca di carpire tutti i segreti del linguaggio di programmazione
Be'.... ovviamente uno più conosce il linguaggio che ha dinnanzi, meglio gestisce ed elabora il progetto.  ;D



Io avevo utilizzato il componente ExifTool
Io ti ringrazio per aver inserito questo collegamento: ci sono le spiegazioni dei Tag a livello di protocollo di moltissimi tipi di file.



potrò fare qualche "scarso" tentativo anche con gb.media  :)

Scarso ? Ma guarda che le istruzioni per ottenere i Tag con gb.media sono davvero molto semplici !  :-\
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
« Ultima modifica: 24 Agosto 2020, 17:38:45 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »