desenho simples processing
//Barriga da Boneca
ellipse(100, 100, 40, 40);
//Cabeça da Boneca
ellipse(92, 97, 10, 10); ellipse(108, 97, 10, 10);
//olhos da boneca
rect(88,180,10,10); rect(103,180,10,10); //Pés da Boneca
rect(70,140,20,10); rect(110,140,20,10); //Mãos da Boneca
arc(112,105,50,10,HALF_PI,PI);
//Boca da Boneca
line(88,115,80,140); line(80,100,60,140); //Cabelo da Boneca
Dividimos por exercícios, o Fernando fez os 3 primeiros e o Rafael 2 últimos, porém durante os desafios encontrados ambos foram em auxílios mútuos, problemas não encontrados apenas na primeira função e o arquivo pdf foi escrito em conjunto.
A primeira função para mudar o ganho(volume) ela percorre cada posição do vetor, tamanho especificado pelo parâmetro numero de constantes, de índice e multiplica pelo valor do parâmetro ganho. Na segunda função para simular a amostragem utiliza-se dois for para separar os grupos de amostras(numero de mostras, dividindo pela quantidade de constantes(numero de constantes) e no segundo for substitui-se todas as posições, com a condição das numero de constantes mais o valor inicial, do vetor dado pelo valor da primeira(contador inicio que atualiza a posição inicial a cada loop). E uma condição para caso o resto da divisão referida acima de valor diferente de 0, pois não necessita do contador inicio. Terceira função para causar um ruído periódico no som em questão é usado um for, incrementando o parâmetro intervalo ao contador, para contar os intervalos e uma condição para não preencher índices que não existam no vetor e outra para substituir por -1 as posições pares do vetor dado e com 1 as impares. Para a função remove ruído foi necessário um vetor auxiliar utilizando ele para salvar os valores da primeira e ultima amostra e um for que pula uma amostra a cada loop salvando a média da posição interior atual e próxima do vetor dados no vetor chamado vetor e outro for que usa como condição todas as amostras