Pergunta

Então eu tenho algo como:

    void createSinewave( short * array, int duration, int startOffset,
float freq, float amp ) ;
    void createSquarewave( short * array, int duration, int startOffset,
float freq, float amp ) ;

Outras funções "deslizam" uma forma de onda de alguma frequência de baixa frequência e alta frequência e aceita dois parâmetros de frequência.

Usando apenas essas funções, pude criar uma variedade de sons. Kick Bitum, um som de incêndio a laser da velha escola e um monte de coisas que soam como passos. Não consegui sintetizar um som do tipo tambor.

Alguma sugestão sobre como gerar uma? Em que frequências misturar e em que quantias as misturam? Outros tipos de forma de onda para usar seno e onda quadrada e triângulo?

Meio inspirado por 64 K executável concursos.

Foi útil?

Solução

Tambores são frequentemente sintetizados por pequenas rajadas de ruído, por exemplo branco, rosa ou Castanho ruído.

Destes, o ruído branco é o mais fácil de gerar: basta preencher sua matriz com amostras aleatórias, escolhidas independentemente com probabilidade uniforme. O ruído marrom também é muito fácil.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top