Inicial > DSP, Programação > Basic About Synthesizer

Basic About Synthesizer

Olá Pessoal !

Vocês já se perguntaram como um determinado áudio é sintetizado ?

Pois bem, participei de um curso ministrado pelo professor Steve Everett diretor do  Centro de Pesquisa de Música na Emory University, ele desenvolve vários métodos computacionais para modelar e produzir músicas, minha área de análise em sinais possui pouca relação na produção de áudio, a produção de áudios em si não é um campo que me desperte interesse, mas durante o curso o Steve falou sobre sintetizadores e fiquei curioso em saber como um teclado consegue simular vários tipos de instrumentos …

Cada instrumento musical possui uma determinada sonoridade, você percebe claramente uma grande diferença tonal da mesma nota quando tocada em instrumentos diferentes, por exemplo a nota Lá(A4 – quarta oitava) produz 440Hz em qualquer instrumento seja ele um violão ou em um teclado, se a frequência é sempre a mesma o que faz esta diferença tonal acontecer ?

Temos que lembrar que quando uma nota é tocada diferentes harmônicos acontecem e estes definem qual tonalidade a frequência fundamental vai tomar, ou seja qual corpo ela vai ter, a coleção de harmônicos em conjunto com a frequência fundamental define qual timbre um instrumento tem, lembrando que a Freqüência Fundamental é sempre a frequência com a maior percepção audível, os harmônicos são produzidos por diversos fatores, madeira do instrumento, cordas do instrumento, a cola usada no instrumento, a nota ecoa por toda arquitetura do instrumento que produz um som particular …

Pensando nisso peguei uma nota gravada de um violão e apliquei Fourrier para verificar quais Harmônicos ocorriam, este é um método que descreve o principio básico de como os sintetizadores são feitos, o método que usei recria as frequências e suas respectivas magnitudes a partir de um sinal amostrado, em meus testes o sinal é recriado utilizado Senoide, cada Frequência e Magnitude(Linear) capturado do espectro de magnitude da Transformada de Fourrier é somada formando um sinal complexo, existem outras formas de ondas ( pulso, triangular, quadrada, dente-de-serra), cada uma delas pode ser usada afim de conseguir timbres mais parecidos para determinados tipos de instrumentos , Vejam uma figura que demonstra o tipo de cada onda:

Em meus testes usei a onda “Sine”, escute um exemplo de áudio deste tipo de onda com Freqüência de 1000Hertz:

Conforme novos  Harmonicos são adicionados (Somados) o áudio tende a mudar, vejam na figura a baixo no lado direito você verá o Espectro de Magnitude do Áudio Original e do lado esquerdo o áudio sintetizado, reparem na semelhança dos harmônicos:

D_Guitar

Audio Original:

Audio Sintetizado:

A Nota D  da corda do violão elétrico ficou bem parecida 🙂

Vamos ver como a forma de onda Sine se sai com uma nota lá A4 do piano :

Piano_La

Audio Original:

Audio Sintetizado:

O áudio sintetizado para piano não se saiu muito bem utilizando Senoide, faz sentido já que possui melhores resultados em sinais mais graves !

Até agora vimos tentativas de sintetizar sinais com poucos harmônicos ocorrendo, vamos testar com um sinal bastante complexo com vários harmônicos acontecendo em diferentes magnitudes, vamos tentar sintetizar um áudio com voz :

VOZ

Audio Original:

Audio Sintetizado:

Por ser um sintetizador bem básico feito em duas horas no matlab até que se saiu bem 🙂

Não tive tempo de organizar e limpar o código,  se houver interesse dos leitores neste tipo de “brincadeira” posso liberar o source!

[]’s

Eng Eder de Souza

Categorias:DSP, Programação Tags:,
  1. hrs
    fevereiro 20, 2014 às 3:20 am

    I am extremely happy to having found your blog.
    I loved it!
    I too work on DSP using python.
    Its good to find someone of similar interest, working on similar lines.
    Keep up the great work. I would love to work with you.
    Cheers!

  2. Jan
    julho 11, 2014 às 10:41 pm

    Post bem escrito, parabéns. Uma pena que está um pouco antigo, você poderia escrever mais e compartilhar mais desse conhecimento ai.
    Abraços!

  3. outubro 23, 2014 às 6:30 pm

    Opa, a uma tempo atrás vocês respondeu uma pergunta minha la no stack…e comentou que podia ter mais detalhes e tal, bem eu atualizei a questão la, vejo que você manja bastante do assunto, então se puder me ajudar mais um pouco…

    Esse é o link da pergunta…

    http://pt.stackoverflow.com/questions/33673/existe-a-possibilidade-de-juntar-dois-arquivos-de-audio-em-um-s%C3%B3-em-android/34388#34388

    Vlw.

  4. Caio Cesar
    novembro 10, 2015 às 9:29 am

    Bom dia,

    Sou estudante de Eng Elétrica e tenho um trabalho da faculdade que é sobre este assunto. Como você disse que poderia liberar o código, ficarei grato em recebe-lo. email: caiocesarosms@gmail.com. Obrigado.

  5. Diego Everest R dos Santos
    fevereiro 26, 2019 às 3:50 pm

    Boa tarde, Eder vi um post seu sobre programação de um Shazam preciso de um rankeador de músicas via streaming pode me passar seu contato?

    contato@diegoeverest.com.br

  1. No trackbacks yet.

Deixe um comentário