Duvidas PrimeiroTrabalho Maior

Duvidas PrimeiroTrabalho Maior

por Fernando Aluani -
Número de respostas: 1

(1) Na parte de detecção de eventos MIDI, o enunciado diz para usarmos 2^(1/12) =~ 0.0595 como o limite para frequências de notas iguais (se diferença entre frequências for menor que isso, é a mesma nota)... Eu estava implementando essa parte agora e os resultados estavam errados, ai notei que 2^(1/12) = 1.0594...

O que fazemos então? Usamos 0.0595 diretamente mesmo?

 

(2) [ftom] retorna o código MIDI em float, com valores decimais. Podemos imprimi-lo assim mesmo ou devemos arredondar para um valor inteiro?

 

(3) Estou fazendo o trabalho separando-o em vários subpatches diferentes (para pegar parametros do usuario, calcular espectro, etc) e um "main" que usa eles para realizar o que o enunciado pede. A maioria dos  subpatches que usa sinais tem um [block~] adequado, de acordo com o parametro do usuário, porém descobri que não pode ter um [block~] diferente de 64 no mesmo patch (ou acima) que um patch que tenha um [adc~]... Então por exemplo, não posso ter um [block~] no main porque o [adc~] que um subpatch usa fica dando erro (se block size != 64).

Eu consigo resolver isso e colocar um [block~] no main se no subpatch que usa o [adc~] eu sempre dou um [block~] de 64.

A minha duvida em relação a isso é que enquanto os subpatches que o main usa (como o para calcular espectro) tem um [block~] adequado, no main não tem mas no main tem conexões de sinais entre objetos, ai queria saber se não ter um [block~] adequado no main mesmo usando somente conexões de sinal nele acarretaria problemas com o tamanho da janela do sinal...

Ou se ficar setando block size como 64 no subpatch que lê um arquivo ou usa o [adc~] e no resto o block size adequado daria problemas...

 

 

São só essas por enquanto. Eu também não entendi direito a parte de forma de onda estabilizada, mas não tentei implementar isso ainda então se for o caso eu pergunto depois.

Abraços

Em resposta à Fernando Aluani

Re: Duvidas PrimeiroTrabalho Maior

por Marcelo Queiroz -

Olá, Fernando!

(1) Obrigado por apontar a incongruência na condição de frequências próximas. De fato a intenção era testar se a diferença relativa era limitada por 2^(1/12)-1 ≈ 0.0595; uma condição análoga, embora não igual, seria testar se as duas frequências f e g sucessivas satisfazem 2^(-1/12)<=f/g<=2^(1/12). Atualizei o enunciado.

(2) O enunciado pede explicitamente a solução inteira da conversão para MIDI, que você pode implementar diretamente com a fórmula dada, ou usar o [ftom] pra facilitar (mas precisa arredondar).

(3) A solução mais simples é deixar a entrada e a saída ([adc~] e [dac~]) no patch principal, sem [block~]. O help do [block~] traz uma parte chamada "block-interactions" que fala sobre as restrições de reblocagem nestes objetos de I/O e também em alguns outros ([send~]/[receive~], [throw~]/[catch~]).

Abraço,

Marcelo