Frequência de um acorde

Autor Mensagem
Spiderpoison
Veterano
# set/12


Olá,

Estes dias estou tentando descobrir se é possível calcular a frequência de um acorde.

Um exemplo:
Dó = 263.63
Mi = 329.63
Sol = 391.99

Se levar em conta que um auto-falante vibra em uma frequência por vez, como devo calcular a somatória desses acordes para achar a frequência do acorde Dó Menor?

Edson Caetano
Veterano
# set/12
· votar


É possível sim, como, não sei... Mas para quê??

Curiosidade apenas

JJJ
Veterano
# set/12 · Editado por: JJJ
· votar


Posso estar falando merda, mas acho que não há uma frequência única em um acorde... se fosse uma frequência única, soaria como nota, não como acorde, né?

Luiz_RibeiroSP
Veterano
# set/12
· votar


Spiderpoison

acho que isso pode te dar um caminho.
série de Fourier

Spiderpoison
Veterano
# set/12
· votar


Luiz_RibeiroSP - Eu havia dado uma olhada na Série de Fourier, mas pelo que entendi ela foi usada para determinar as notas harmônicas dentro de uma determinada frequência achando as terças, quintas e tudo mais. Por favor me corrija se estiver errado.

Edson Caetano - Estou trabalhando em um projeto para treinar o ouvido, o aparelho toca uma nota e outro botao mostra a nota tocada, pensei em deixar o lance turbo colocando sons de acordes, mas não achei as frequências.

JJJ - Sim eu pensei nisso ... mas imagine que um auto-falante ele vibra em uma determinada frequência quando soa um acorde, mas é apenas um auto-falante e não 3 cada um gerando uma frequencia.

Luiz_RibeiroSP
Veterano
# set/12
· votar


Spiderpoison
A serie mostra um sinal periódico pode ser decomposto em uma somatória de senos e cossenos. No caso que falou, acho que essa decomposição é do timbre, por exemplo, a nota dó no piano tem um som, no violino tem outro som, o timbre dos dois instrumentos são diferentes apesar da nota ser a mesma.
Se fizermos a gravação dos dois instrumentos, vamos obter um sinal periódico que é a soma de varias senoides diferentes, este sinal periódico tem a frequência fundamental equivalente a nota dó, mas como cada instrumento tem senoides(harmônicos) diferentes, que somadas dão o mesmo valor de frequência fundamental, temos um timbre diferente.
O assunto é muito complicado, estudei ele em eletrônica, não em acústica, mas já li algumas coisas, não posso te ajudar muito.
Vou pesquisar mais e ver se consigo acrescentar mais coisas no tópico, se conseguir a resposta, posta ai .

Spiderpoison
Veterano
# set/12
· votar


Luiz_RibeiroSP
Legal, pelo que estou vendo o acorde é um encapsulamento de determinadas frequências, estou fazendo uns testes com geradores de tom e analise da onda. Qualquer novidade eu posto por ai também ... abraços

Scrutinizer
Veterano
# set/12 · Editado por: Scrutinizer
· votar


Estou trabalhando em um projeto para treinar o ouvido, o aparelho toca uma nota e outro botao mostra a nota tocada, pensei em deixar o lance turbo colocando sons de acordes, mas não achei as frequências.

Você não precisa da freqüência do acorde, você precisa juntar as três notas diferentes. No caso que você postou o acorde tem a frequência de 0.01 hz...

mas imagine que um auto-falante ele vibra em uma determinada frequência quando soa um acorde, mas é apenas um auto-falante e não 3 cada um gerando uma frequencia.

Um auto-falante gera quantas freqüências você quiser ao mesmo tempo dentro das suas limitações físicas. O que você tem que fazer é calcular cada sample e mandar pra ele.

Mas respondendo a pergunta, você pega o máximo divisor comum das freqüências. Algo que você já deve saber para inteiros, mas também pode ser feito para fracionais.

Scrutinizer
Veterano
# set/12 · Editado por: Scrutinizer
· votar


http://crca.ucsd.edu/~msp/techniques.htm

Esse livro é bacana, e não usa cálculo, mas por isso ele também não entra nas séries de Fourier de forma usual... (depois que ele apresenta números complexos fica bem complicadinho)
Mesmo que você esteja usando midi, se tiver interessado, eu acho que você pode usar isso como base...

Spiderpoison
Veterano
# set/12
· votar


Scrutinizer - a frequencia 0.01 hz é inaudível, como ela pode ser o acorde?

Então a geração de sons em auto-falantes se da através de pulsos modulados. No caso PWM. Existe uma limitação em meu hardware que me permite gerar apenas 1 pulso por vez, se não fosse dessa forma colocaria 3 auto-falantes e geraria uma nota em cada.

Pelo que estudei até o momento o Luiz_RibeiroSP foi quem chegou mais perto. Segundo eu li e consegui reproduzir em um teste o segredo é na Série de Fourier mesmo, juntando a notas e gerando uma frequência encapsulada.

Agora preciso ver como calcular isso quando programar o chip ...

Para um teste pegue um programa como o Audacity, ele tem gerador de tom, gere em 3 faixas com 3 tons Dó, Mi, Sol. Junte as faixa e de um zoom no gráfico. Verá que o grafico é idêntico a somatória de frequências nos exemplos que foram passados.

Luiz_RibeiroSP
Veterano
# set/12
· votar


Spiderpoison
Ta fazendo um treco microcontrolador para tocar acordes? se for o caso, da mais detalhes do projeto.

Scrutinizer
Veterano
# set/12
· votar


a frequencia 0.01 hz é inaudível, como ela pode ser o acorde?
Pela definição de freqüência. Que é o inverso do tempo em que o sinal volta a se repetir. Mas foi exatamente isso o que quis dizer, só com uma freqüência você não consegue reproduzir um acorde.

Verá que o grafico é idêntico a somatória de frequências
Na verdade é o somatório de amplitudes. Eu não sei se sua idéia está certa, mas você anda trocando os termos.

Então a geração de sons em auto-falantes se da através de pulsos modulados. No caso PWM.
Dependendo do controle que você tem sobre ele então você simplesmente não vai poder gerar um acorde. Você tá programando um microcontrolador ou o que?

Spiderpoison
Veterano
# set/12 · Editado por: Spiderpoison
· votar


Luiz_RibeiroSP - pois é a ideia é gerar um acorde através de um microcontrolador, mais especificamente o arduino (www.arduino.cc). Ele tem uma função nativa para geração de acordes mas é possível gerar os pulsos PWM manualmente.
Por enquanto o projeto funciona assim:
1 botão toca uma nota aleatoriamente (dividi em alguns modos para ir dificultando os estudos)
2 botão mostra em um visor a nota tocada, alem de tocar a nota.
Por enquanto ela toca apenas notas, mas a ideia é implantar treino para acordes, escalas, etc.
Estou com um protótipo pronto mas estou reduzindo custos de produção e tal.

Scrutinizer - uma frequência pode produzir uma nota, ou melhor pode ser uma nota, 440Mhz (lá), mas queria saber como somas estas para fazer um acorde.

Na verdade é o somatório de amplitudes. Eu não sei se sua idéia está certa, mas você anda trocando os termos. - Desculpe minha ignorância em confundir os termos, mas sou disléxico e tenho dificuldade em guardar o nome de termos, só entendo mais ou menos como funciona e pau na jaca.

microcontrolador ou o que? Exatamente, arduino (arduino.cc) . Consegui entender na teoria como fazer os acordes, amanha irei voltar a estudar matemática para ver se desenvolvo meu algorítimo, não conheço muito as capacidades do Arduino mas em teoria é possível.

Spiderpoison
Veterano
# set/12 · Editado por: Spiderpoison
· votar


corrigido no texto anterior

Bog
Veterano
# set/12 · Editado por: Bog
· votar


Spiderpoison

(acho que a essas alturas você já entendeu que um acorde não tem uma frequência, é uma soma de ondas em diferentes frequências)

Faz um certo tempo que eu não mexo com isso mas...

queria saber como somas estas para fazer um acorde.

Em se tratando de áudio digital, dada a frequência e a fase, você tem a amplitude da onda em qualquer tempo t. Você só precisa de um loop para pegar a amplitude do sample no próximo tempo t para cada uma das ondas (i.e. cada uma das notas do acorde) e somar essas amplitudes. Dependendo da função que você estiver usando para gerar as senóides, talvez precise ajustar os valores para ocuparem direito a resolução da saída (por ex, se a saída um inteiro de 16 bits no intervalo [-32768,32767], e você usar uma função com ponto flutuante para gerar as senóides com saída entre [-1,1]). Também precisa tomar cuidado com overflow, para a soma não estourar a resolução da saída.

Você não precisa realmente da transformada de Fourier para fazer isso, precisaria para fazer o caminho inverso. Note que usando apenas ondas com as frequências fundamentais das notas do acorde, o som vai sair como um apito. Se você quiser timbres mais complexos, aí precisa gerar harmônicos ao redor da fundamental, ou então usar padrões diferentes de uma senóide (triângulo, serrote, quadrado...). Aí você tem um sintetizadorzinho. :)

Luiz_RibeiroSP
Veterano
# set/12 · Editado por: Luiz_RibeiroSP
· votar


Spiderpoison
Eu estou um pouco enferrujado também, mas espero poder ajudar

Você quer usar uma modulação PWM para gerar harmônicos, para isso precisa de uma carga indutiva, como a corrente no indutor é a integral da tensão pelo tempo, uma onda quadrada vai fornecer as frequências necessárias e o indutor vai filtrar apenas as necessárias. Eu não iria por este caminho pois sera preciso um bom dimensionamento desta carga e uma boa precisão no valor

eu faria assim:

saída 8bis -> conversor D/A R-2R -> amp op -> capacitor para filtrar DC -> potenciômetro com saída na derivação, para controle de volume.

uma senoide é Vmax*Sen( 2.pi.f .t)

como seu compilador é em C faz essa continha

Saida= {[1.Sen(2.pi.FDó.t) + 1.Sen(2.pi.FMi.t) + 1.Sen(2.pi.FSol.t)]*42}+126

Fdó= frequencia da nota dó
FMi= frequencia da nota Mi
FSol= frequencia da nota sol

esse t são números de 0 a 255(8 bits)
coloque 0 em t, e mande o resultado para a saida, vai aparecer um valor de tensão, depois de 5ms por exemplo, mande o numero 1..depois 2...depois 3... até 252 depois faça a subtração, mande 252, depois 251, depois 250....

cada numero binário vai gerar um valor de tensão e como ele aumenta e diminui, na saída acho que vai sair uma tensão equivalente a soma das 3 senoides. no exemplo cada senoide pode ter como valor maximo 1 e minimo -1

como valor máximo da soma temos +3 e -3 mas vamos trabalhar com valores entre 0 e 252(foi o melhor que consegui), portanto precisamos
de fatores de correção na equação, quando a soma de senoides for -3
teremos -3*42+126=0 para valor minimo e 3*42+126=252 para valores máximos, na saída do amp op o capacitor vai filtrar o nível DC te dando uma senoide nos quatro quadrantes... boa sorte

Spiderpoison
Veterano
# set/12
· votar


Bog - pois é eu já saquei que é a soma das frequências.
Posso dizer para você que eu sou meio chucro nessa área mas estou me esforçando para dominar o assunto, pois gosto de coisas complicadas.

Dependendo da função que você estiver usando para gerar as senóides
É justamente onde está minha mente, eu consegui visualizar a senoide utilizando um programa de áudio, dessa forma eu entendi como ela deve ser. Neste instante eu estou voltando aos meus estudos de matemática básica para conseguir criar o algorítimo.
Depois de ler sobre a Série de Fourier, notei que a senoide que eu busco é justamente a resultante desta formula. O que resta agora é conseguir portar isso para o microcontrolador.

Sobre o timbre eu notei que ele é alterado dependendo do tipo de auto-falante que eu utilizo entre outros fatores. O que preciso é o som mais primário o possível, imaginei que se um auto-falante pode gerar uma frequência mais complexa como uma gravação, poderá gerar também qualquer tipo de ruído.

Bog
Veterano
# set/12
· votar


Luiz_RibeiroSP

heheh, é legal que no meu mundo só existe software, então eu só me preocupo em como gerar a saída, aí escreve num lugar da memória, seta algum valor mágico em algum registrador, e o resto é bruxaria. =P

Ás vezes eu me sinto muito burro por não conhecer exatamente o que acontece no mundo físico. Para mim, capacitores e opamps se parecem com essência de língua de cobra e lágrimas de sapo.

Spiderpoison
Veterano
# set/12
· votar


Luiz_RibeiroSP - rapaz, depois de ler o lance fiquei até vesgo. Tenho mais facilidades de entender as formulas. Meu grau de conhecimento nessa área ainda não é tão abrangente, mas espero chegar lá.

Irei estudar suas explicações com calma e acredito que a formula em C que passou será de extrema importância pois é bem próximo do que eu busco (se não exatamente).

Irei começar alguns estudos e vou postando as novidades ...

Bog
Veterano
# set/12
· votar


Spiderpoison
Neste instante eu estou voltando aos meus estudos de matemática básica para conseguir criar o algorítimo.

Que eu me lembre, em C tem uma função para senos.

Quanto à parte física, como eu disse no post acima, eu não entendo. O meu mundo só tem software. Hardware = vudu.

Só por curiosidade, qual a razão deste projeto?

Spiderpoison
Veterano
# set/12
· votar


Bog - o Luiz_RibeiroSP domina mesmo ... Acho que foi professor do Merlin ...

Spiderpoison
Veterano
# set/12
· votar


Bog - Que eu me lembre, em C tem uma função para senos. - tem sim, mas no caso eu acho que terei que fazer algumas funções intermediárias para converter os valores antes de fazer a somatória e incluir no meu software.

Só por curiosidade, qual a razão deste projeto?
Por enquanto o projeto funciona assim:
"1 botão toca uma nota aleatoriamente (dividi em alguns modos para ir dificultando os estudos)
2 botão mostra em um visor a nota tocada, alem de tocar a nota.
Por enquanto ela toca apenas notas, mas a ideia é implantar treino para acordes, escalas, etc.
"

A ideia é um dispositivo barato para treinamento do reconhecimento de notas

Luiz_RibeiroSP
Veterano
# set/12
· votar


a ideia é o arduino dividir o valor de pico a pico de uma senoide em 252 e mandar os valores para a saida de 8 bits, um por um, a frequencia do valor de saida vai variar de acordo com o intervalo "t" que recomendo ser o maior possivel, para uma melhor resolução, depois estes valores binarios vão para um conversor A/D digital->analógico

Na saída o potenciômetro regula volume igual esses pedaizinhos que a galera monta, no amp op o valor do resistor de realimentação controla o ganho, repare que só os resistores ja fazem a conversão, o amplificador é para aumentar sinal de saída e casar impedâncias
Mas é um projeto complicado mesmo e aborda muita coisa, vai com calma que aos poucos os assuntos vão sendo assimilados.

Spiderpoison
Veterano
# set/12
· votar


Luiz_RibeiroSP - Pois é, é um projeto um pouco complicado, sei que já existe algo similar mas não sei como funciona realmente, mas o preço é muito caro.

http://www.mio.co.za/article/portable-ear-training-studio-released-200 9-03-11

A idéia da senoide é exatamente esta, como mexo com arduino a pouco tempo será um bom estudo das funções mais obscuras do bicho (no meu mundo), curti a dica do conversor digital, tenho um projeto mais elaborado onde pretendo colocar recursos mais prós, talvez até um teclado de 12 teclas para treino dinâmico,

Luiz_RibeiroSP
Veterano
# set/12
· votar


Spiderpoison
Esse aparelho me lembrou o Speak & Spell

Bog
Veterano
# set/12
· votar


Spiderpoison

Hehe, mas qual o propósito para você?

Você trabalha com eletrônica ou é só hobbie? Fez curso técnico?

Spiderpoison
Veterano
# set/12
· votar


Bog - Agora é hora de dar risada, o proposito é simplesmente aprender, posso dizer que sou literalmente doente por estudo: http://pt.wikipedia.org/wiki/Transtorno_de_personalidade_esquizoide , esta área é apenas uma das que eu gosto de estudar.
Na verdade eu trabalho com desenvolvimento web, www.unimedara.com.br, fazendo sistemas de integração e tal. Sobre estudar eu sempre fui auto-didata, em tudo, música, eletrônica, programação, artesanatos, pintura e uma variedade de ciências obscuras como helmintologia e por ai vai.
Gosto de manter a mente ocupada =o)

Spiderpoison
Veterano
# set/12
· votar


Obs.: a diferença de um esquizoide de quem tem asperger é que os esquizoides se interessam por mais de um assunto, mas estudam de forma obsessiva.

http://pt.wikipedia.org/wiki/S%C3%ADndrome_de_Asperger

Luiz_RibeiroSP
Veterano
# set/12 · Editado por: Luiz_RibeiroSP
· votar


Spiderpoison

Pesquisa sobre a teoria de teoria de nyquist
Este site fala um pouco de digitalização.

Spiderpoison
Veterano
# set/12
· votar


Luiz_RibeiroSP - cara é o néctar, é justamente o que eu buscava entender, agora que tenho o caminho das pedras é mãos a obra =o).
Já esta nos favoritos, valeu.

Muito obrigado pessoal pela ajuda ... hora do merecido descanso.

Enviar sua resposta para este assunto
        Tablatura   
Responder tópico na versão original
 

Tópicos relacionados a Frequência de um acorde