Block, switch, readfs, tabplay, e essas coisas que não funcionam

Block, switch, readfs, tabplay, e essas coisas que não funcionam

por Antonio Goulart -
Número de respostas: 2

Tamo que tamo tentando fazer os overlaps mas não vai, com nenhum comando.

Algum segredo para que o [readfs~] ou o [tabplay~] levem em conta os overlaps ? Independente da escolha do tamanho do overlap os arquivos gerados têm o mesmo tamanho. Não está ocorrendo o overlap.

Outra coisa... com a janela grande baixou demais o pitch. Como corrigir ?

Em resposta à Antonio Goulart

Re: Block, switch, readfs, tabplay, e essas coisas que não funcionam

por Marcelo Queiroz -

É bem provável que estes objetos tenham um comportamento pré-definido em função de serem feitos para "tocar" áudio, e não faz sentido tocar um som fazendo overlaps das janelas.

A solução disso é simples: faça a leitura do áudio em um patch com o tamanho de bloco default, e envie o sinal para um inlet~ de um subpatch onde você definiu o block/overlap desejado: deste modo é o inlet que vai ter o trabalho de dividir as coisas pra você. Acho que é a solução mais simples.

Outra alternativa é imitar a leitura como é feita no patch I07.phase.vocoder.pd, onde a tabela que contém o sinal é lida com tabread4~, mas aí você precisa gerar na mão (com line~) a lista de índices que você quer ler.

Sobre o seu problema do pitch, não entendi nada! Uma janela maior aumenta a resolução da análise, e consequentemente o número de osciladores e a qualidade da representação usada no PV. Se tá baixando o pitch é bug, mas para ajudar preciso de mais informação.

Em resposta à Marcelo Queiroz

Re: Block, switch, readfs, tabplay, e essas coisas que não funcionam

por Antonio Goulart -

Olá Marcelo

Estamos usando em um patch o [block~] para definir o tamanho da janela e o overlap. Neste patch temos o [readfs~] e ele respeita o tamanho da janela mas não o overlap. Usamos o [readfs~] também para marcar o fim do processamento, fechar o arquivo de saída e desligar o DSP. Creio que o problema estava em usarmos o [fprintf~] no mesmo patch que o [readfs~]. Colocamos ele diretamente na saída do fft e a coisa funfou que é uma belezura!

Obrigado.