Quantcast

FFT em arquivo de audio (Wav)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

FFT em arquivo de audio (Wav)

Lua BR mailing list


Estou desenvolvendo uma aplicação em Lua e apareceu a necessidade de identificar frequências em uma gravação de audio (formato Wav).


Pela teoria, bastaria aplicar uma Fast Fourier Transform na sequência de amostras e extrair a parte real.


Consegui um pacote de FFT para Lua:
https://rosettacode.org/wiki/Fast_Fourier_transform#Lua

Meu primeiro teste foi com um audio muito simples (1 segundo de tom 440Hz, sample rate 16KHz). A saida da rotina deveria ser um array com apenas o valor 440 em todos os elementos ... Mas estou quebrando a cabeça e nada da coisa funcionar.


Posso enviar o audio de teste e a rotina em Lua que lê o arquivo Wav e tenta aplicar a FFT.


Agradeceria qualquer ajuda.


Fernando Jefferson


--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: FFT em arquivo de audio (Wav)

Denis Dos Santos Silva
mande

Em terça-feira, 10 de janeiro de 2017 13:42:21 UTC-3, Fernando Jefferson escreveu:


Estou desenvolvendo uma aplicação em Lua e apareceu a necessidade de identificar frequências em uma gravação de audio (formato Wav).


Pela teoria, bastaria aplicar uma Fast Fourier Transform na sequência de amostras e extrair a parte real.


Consegui um pacote de FFT para Lua:
<a shape="rect" href="https://rosettacode.org/wiki/Fast_Fourier_transform#Lua" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Frosettacode.org%2Fwiki%2FFast_Fourier_transform%23Lua\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNED3pfMMNpHBq_zYYzPTq802LKNOg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Frosettacode.org%2Fwiki%2FFast_Fourier_transform%23Lua\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNED3pfMMNpHBq_zYYzPTq802LKNOg&#39;;return true;">https://rosettacode.org/wiki/Fast_Fourier_transform#Lua

Meu primeiro teste foi com um audio muito simples (1 segundo de tom 440Hz, sample rate 16KHz). A saida da rotina deveria ser um array com apenas o valor 440 em todos os elementos ... Mas estou quebrando a cabeça e nada da coisa funcionar.


Posso enviar o audio de teste e a rotina em Lua que lê o arquivo Wav e tenta aplicar a FFT.


Agradeceria qualquer ajuda.


Fernando Jefferson


--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: FFT em arquivo de audio (Wav)

Lua BR mailing list
In reply to this post by Lua BR mailing list

Oi Denis.


   Só hoje vi seu post ...


Em anexo um ZIP com o código do programa de teste que desenvolvi (pode executar no Corona ou em Lua stand alone) e o arquivo de teste.

 
   Agradeço qualquer ajuda ...


Fernando Jefferson


--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.

FFT.zip (35K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: FFT em arquivo de audio (Wav)

Lua BR mailing list
In reply to this post by Lua BR mailing list
Nova rotina de teste, funcionando em Lua Interpreter

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.

TestFFT.zip (34K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: FFT em arquivo de audio (Wav)

Denis Dos Santos Silva
In reply to this post by Lua BR mailing list
bem, testei aqui;

1) não sabia nem da existência do FFT ;)
2) eh extremamente lento 

dúvidas:
* o que você deseja saber é a frequência em Hz de cada sample?


Em terça-feira, 10 de janeiro de 2017 13:42:21 UTC-3, Fernando Jefferson escreveu:


Estou desenvolvendo uma aplicação em Lua e apareceu a necessidade de identificar frequências em uma gravação de audio (formato Wav).


Pela teoria, bastaria aplicar uma Fast Fourier Transform na sequência de amostras e extrair a parte real.


Consegui um pacote de FFT para Lua:
<a shape="rect" href="https://rosettacode.org/wiki/Fast_Fourier_transform#Lua" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Frosettacode.org%2Fwiki%2FFast_Fourier_transform%23Lua\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNED3pfMMNpHBq_zYYzPTq802LKNOg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Frosettacode.org%2Fwiki%2FFast_Fourier_transform%23Lua\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNED3pfMMNpHBq_zYYzPTq802LKNOg&#39;;return true;">https://rosettacode.org/wiki/Fast_Fourier_transform#Lua

Meu primeiro teste foi com um audio muito simples (1 segundo de tom 440Hz, sample rate 16KHz). A saida da rotina deveria ser um array com apenas o valor 440 em todos os elementos ... Mas estou quebrando a cabeça e nada da coisa funcionar.


Posso enviar o audio de teste e a rotina em Lua que lê o arquivo Wav e tenta aplicar a FFT.


Agradeceria qualquer ajuda.


Fernando Jefferson


--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Loading...