Não sei se essa pergunta fará sentido, pois sou muito novo no dsp.
Na minha incursão limitada no dsp de áudio, me deparei com:
- Modulação de frequência
- Modulação de amplitude
- Síntese Aditiva
- Síntese Subtrativa
Minha pergunta é: essas são as principais categorias fundamentais de manipulação de sinal (especificamente para áudio)?
Em outras palavras, todos os efeitos e coisas sofisticadas que o FL Studio com um conjunto completo de plug-ins pode fazer, podem ser divididos em uma série e na combinação das 4 operações acima? Ou há muito mais? Uma DAW moderna com plug-ins pode, teoricamente, ser dividida em qualquer categoria dessa maneira? As 4 categorias acima fazem sentido em si mesmas ?!
Um pouco de fundo: Essencialmente, estou tentando criar um sintetizador / editor de áudio muito básico (mas muito flexível) como um projeto para aprender programação e áudio dsp. Usando java, comecei imitando as classes básicas do sintetizador do mundo real, chamando coisas como Oscillator, LFO e similares, mas toda vez que aprendo algo novo, encontro-me tendo que reescrever tudo para ajustar o novo conceito ao programa.
Estou tentando começar de novo agora e criar os objetos e a estrutura básicos do programa. Para isso corretamente, preciso saber como devo permitir que esses objetos interajam, etc ...
Obrigado!
EDIT * * *
Obrigado pelos comentários e respostas úteis. Sei que provavelmente subestimei o lado dsp das coisas e não poderei apenas criar um modelo e estrutura básicos para um sintetizador simples e depois expandi-lo / construí-lo. Provavelmente terei que reconstruir repetidamente várias vezes enquanto aprendo coisas novas e a maneira "correta" de fazer as coisas ... Vai demorar mais, mas talvez eu aprenda mais? Lamento também não ter representantes suficientes para votar em alguém ainda ... assim que puder, terei.
EDIT * EDIT ***
Devo acrescentar que um pouco de pesquisa no Google revelou este guia básico para "tipos de síntese" que achei relevantes e interessantes.
fonte
Respostas:
A categoria AM / FM é um pouco estranha para efeitos - é verdade, você pode obter alguns efeitos interessantes modulando a amplitude de um sinal de entrada; mas o que significa "modulação de frequência" para um sinal de entrada complexo para o qual você nem tem uma representação de frequência precisa? Você poderia muito bem dizer que todo efeito é uma modulação de amplitude pelo sinal , mas isso não vai ajudá-lo a implementá-lo!out(t)in(t)
Não existe um mecanismo mágico de propósito único no centro de todos os efeitos de áudio fornecidos pelo software de produção musical. Mas se você olhar para o código-fonte de um grande conjunto de efeitos de áudio de um desenvolvedor de DSP, aqui estão alguns "blocos de construção" que serão fatorados em suas próprias classes e que são compartilhados por muitos efeitos diferentes. Não quero dizer que isso constitua uma boa base para categorizar efeitos; mas do ponto de vista da implementação, esses blocos são essenciais:
Com esses blocos você pode criar:
Embora alguns desses efeitos sejam apenas uma questão de corrigir os diferentes blocos (um flanger realmente é um LFO modulando uma linha de atraso), alguns outros efeitos precisam de cola mais complexa entre as partes, que é específica o suficiente para não ser fatorada em um bloco de construção. própria.
Este é, em geral, um conjunto interessante de efeitos que cobrirá muito terreno para a produção musical, mas não é exaustivo e existem alguns efeitos que não se encaixam nessa estrutura ... Alguns exemplos: * Redutor sujo da taxa de amostragem (em um triturador de bits): true, é uma multiplicação por um dirac comb e, em seguida, uma convolução por uma janela retangular ... mas é mais fácil escrevê-lo como algo que duplica o valor de uma amostra sobre as N amostras seguintes, em vez de aplicar uma modulação de amplitude e uma convolução! * Os efeitos de alteração de afinação (mudança de afinação, ajuste automático) não se encaixam bem nessa estrutura. Eles precisam de uma representação mais complexa do sinal de áudio a ser executado (vocoder de fase para métodos no domínio da frequência; detecção de pitch e marcas de pitch nos métodos no domínio do tempo).
Sugiro que você jogue com ferramentas de software de "estilo modular", como Pd, Reaktor, Plogue, SyntheEdit ... - e tente implementar efeitos a partir dos componentes básicos que eles fornecem.
fonte