Newsgroup: it.arti.musica
Titolo: Estrarre le frequenze da un file audio

Salve,
vorrei capire se è possibile estrarre da un file wave delle frequenze. In
pratica devo ricavare tanti files wave quante sono le frequenze che mi
servono (in teoria 11) e poi fare analizzare ogni singolo file da un
programma che mi salva in un file di testo l'analisi dell'intera banda in un
certo intervallo di millisecondi. Sono costretto a utilizzare questo metodo
spartano perché non sono riuscito a trovare un programma che mi faccia
l'analisi spettrale di un file audio ogni x millisecondi e salvarla in un
file di testo.
Quale programma posso utilizzare per filtrare le frequenze? Esiste un
programma che mi faccia l'analisi spettrale e me la salva in ascii?
Ho notato però che con un programmino audio ottengo qualcosa solo con un
certo range: ad esempio se mi serve la frequenza 500Hz devo settare il
filtro tra 400Hz e 600Hz. E' normale?
Non sono un esperto di audio.
Grazie per l'aiuto.
Max

 programma che mi faccia l'analisi spettrale e me la salva in ascii?
C'e' un software apposito utilizzato l'analisi e successiva resintesi con CSound...
LPANAL, se non erro: crea un file txt di analisi da un file wav.
Mediante flag nella riga di comando, puoi anche definire il numero di bande con
cui suddividere lo spettro.
Ciao
Mos

Ciao,
e grazie mille! Ho sentito parlare di CSound :) Ho visto LPANAL: mi sembra
proprio la soluzione giusta, ma in realtà non scrive un file in formato
ASCII ma in un formato proprietario LPC che sono stato incapace di leggere
:(
Hai mai provato ad utilizzarlo? Grazie.
Max

 ha scritto nel messaggio

Non ho ancora mai fatto analisi e resintesi con CSound
Ma il prof mi aveva mostrato un file analizzato con HETRO... ed era testuale ascii...
in teoria sarebbe possibile modificare il file di analisi a mano...
forse mi sfugge qualche passaggio...
Guardo il manuale di CSound... Ah, ecco...
-------------------------------------
<util_name>   infilename   outfilename
Convert from/to one of Csound's binary analysis file formats to/from comma-separated text file. This
allows easy editing in a spreadsheet or text manipulation. No command-line flags are used.
The available utilities are:
HET_IMPORT, HET_EXPORT
PV_IMPORT, PV_EXPORT
LPC_IMPORT, LPC_EXPORT
--------------------------------------
Prova a vedere con LPC_EXPORT...
Ciao
Mos

> Prova a vedere con LPC_EXPORT...
In realta' il programma e' LPC_EXPO.EXE... 
Esegui da riga di comando 
lpc_expo nomefile.lpc nomefile.txt
converte il file in formato ascii, ottenendo la serie di valori 
d'analisi separati da una virgola...
il risultato e' un po' caotico, ma sembra funzionare... 
Ciao
Mos

Ciao Mos,
grazie per tutto l'aiuto. Ho notato però che il parametro hopsize che
permette di definire il numero di "frames per secondo" (così recita il
manuale) si ferma a 500. In realtà per ottenere un framerate di 25 dovrei
impostare questo parametro a ben 1764 (44100/1764=25) e non mi è possibile
:( Confermi?
Ciao
Max

 ha scritto nel messaggio news:c4uedd$fbp$1...@lacerta.tiscalinet.it...

A pensarci LPANAL forse non e' il piu' adatto, il suo uso e la sintesi vocale a partire da un
file, con la capacita' di distinguere tra vocali (armoniche) e consonanti (inarmoniche), in
uscita da quattro valori per ogni punto analizzato, con una discreta confusione.
Potresti usare il PVANAL, piu' semplice e basandosi su FFT e' piu' intuitivo nel suo uso analitico.
Con questo puoi selezionare il framerate (come potenza di due), un numero piccolo, ti dara'
risoluzioni temporali estremamente alte, ma risoluzione delle frequenze scarse...
perche' se non erro...
intervallo di tempo tra le analisi = framerate/samplerate
larghezza delle bande  = samplerate/framerate
Ciao
Mos

Credo anche io che la soluzione possa essere PVANAL, ma nemmeno così tanto
perché nessun tool risponde precisamente alle mie esigenze. Cercherò di
studiare meglio la cosa :)
Grazie intanto.
Max