Autore Topic: generazione della forma d'onda di un file audio (sound waveform)  (Letto 2964 volte)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:generazione della forma d'onda di un file audio (sound waveform)
« Risposta #15 il: 04 Marzo 2016, 17:00:50 »
Le librerie ci sono, non so esattamente cosa gli prenda ...

Il formato MP3 non è supportato dalla libreria libsndfile:
http://www.mega-nerd.com/libsndfile/FAQ.html#Q020
« 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:generazione della forma d'onda di un file audio (sound waveform)
« Risposta #16 il: 07 Marzo 2016, 18:45:06 »
ah .. ecco .... era semplice ....

un bel problema ....

con un file WAV codificato opus (scaricato dal sito degli sviluppatori di opus codec) il sistema va' ...

dopo aver passato la path con un dialog chiamo questo form (MusicImporter) di editing audio e nel form_open

Codice: [Seleziona]
Public Sub Form_Open()
Dim hImage As Picture

  WaveForm.MusicFilePath = MusicImporter.Tag
  If Exist(MusicImporter.Tag & ".png") = False Then WaveForm.Main
 
  hImage = Picture.Load(MusicImporter.Tag & ".png")

 
  DrawingArea_WaveForm.Clear
  DrawingArea_WaveForm.Width = hImage.Width
  DrawingArea_WaveForm.Height = hImage.Height
  DrawingArea_WaveForm.BackGround = Color.Green
  Draw.Begin(DrawingArea_WaveForm)
  Draw.Picture(hImage, 0, 0, 800, 200)
  Draw.End
 
End

nel modulo WaveForm (che hai codiifcato tu), ho aggiunto una public per parametrizzare la path del file audio
Codice: [Seleziona]
Public MusicFilePath As String

e nel main del waveform ho seguito di conseguenza:
Codice: [Seleziona]
Public Sub Main()

  Dim rend As New RENDER
  Dim percorsoFile As String

  percorsoFile = MusicFilePath             ' Il file audio (wav o ogg) dal quale creare la forma d'onda

With rend
  .sndfilepath = percorsoFile
  .pngfilepath = percorsoFile & ".png"                 ' Il percorso del futuro file .png
  .filename = File.Name(percorsoFile)                   ' Il solo nome del file comprensivo di estensione

etc etc etc

e' carino .. ma il limite degli mp3 e' tosto .....
« Ultima modifica: 07 Marzo 2016, 19:22:59 da allegfede »
se corri, morirai stanco (motto degli sniper)

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re:generazione della forma d'onda di un file audio (sound waveform)
« Risposta #17 il: 07 Marzo 2016, 19:27:21 »
tanto perche' google e' una grande risorsa, ma anche una grande distrazione ... questa roba e' una figata!
https://github.com/bbcrd/audiowaveform

e forse anche gstreamer come plug in:
https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-plugin-waveform.html
« Ultima modifica: 07 Marzo 2016, 19:46:01 da allegfede »
se corri, morirai stanco (motto degli sniper)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:generazione della forma d'onda di un file audio (sound waveform)
« Risposta #18 il: 08 Marzo 2016, 03:02:38 »
ah .. ecco ....

un bel problema ....


...potresti agevolmente pre-convertire il file MP3 in fomato WAV con un breve codice della libreria esterna di GStreamer:    :-\

http://www.gambas-it.org/wiki/index.php?title=Convertire_un_file_MP3_in_un_file_WAV_usando_una_linea_di_pipeline_con_la_funzione_%27gst_parse_launch%28%29%27





« Ultima modifica: 08 Marzo 2016, 16:14:33 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:generazione della forma d'onda di un file audio (sound waveform)
« Risposta #19 il: 09 Marzo 2016, 11:04:59 »
Penso di tagliare la testa al toro e "lockare" la versione open source a soli formati aperti.
Dovranno riacquisire i CD audio in formato opus (128kbps penso).

La cosa strana è che come per gli mp3 la libreria fallisce anche per i file .opus
Mentre un WAV codificato opus gli piace ...
se corri, morirai stanco (motto degli sniper)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:generazione della forma d'onda di un file audio (sound waveform)
« Risposta #20 il: 09 Marzo 2016, 12:00:46 »
Dovranno riacquisire i CD audio in formato opus (128kbps penso).
Che 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 allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re:generazione della forma d'onda di un file audio (sound waveform)
« Risposta #21 il: 09 Marzo 2016, 19:40:20 »
Piuttosto che trasformare un mp3 compesso in un wav non compresso che pero' occupera' spazio senza migliorarne la qualita', dovro' fargli riacquisire il materiale dai cd-audio originali direttamente in opus a 128kbps.

Opus a 128 kbps dovrebbe essere full band.

O tu pensavi, decomprimo l'mp3 in wav, renderizzo il waveform e poi butto il wav intermedio?
se corri, morirai stanco (motto degli sniper)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:generazione della forma d'onda di un file audio (sound waveform)
« Risposta #22 il: 09 Marzo 2016, 21:50:42 »
Ho dubbi che in qualche modo acquisterai qualità partendo da un compresso rispetto invece ad un iniziale file raw, come ad esempio un wav.   :-\

« 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:generazione della forma d'onda di un file audio (sound waveform)
« Risposta #23 il: 11 Marzo 2016, 17:03:37 »
esatto.
ma il problema e' che ho gia' una grande quantita' di materiale codificato mp3 ....
devo capire se puntare su "pochi ma buoni" (e taggati decentemente) piuttosto che una marea di mp3 piu' o meno eteroogenei e non "matataggati" .... a malapena hanno i tag mp3 giusti ...
se corri, morirai stanco (motto degli sniper)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:generazione della forma d'onda di un file audio (sound waveform)
« Risposta #24 il: 11 Marzo 2016, 18:07:51 »
Capisco.
Ad ogni modo, non dimenticare la possibilità - volendo - di convertire in esecuzione e temporaneamente i file mp3 in wav con quel brevissimo codice con le risorse di GStreamer che t'ho sopra segnalato.   
« 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. »