Navalha 1.1

 

Baixar:

O Software como trabalho artístico - Artesanato de código

Este projeto é um estudo para estimular uma atividade que torna-se cada vez mais evidente no universo do software livre e código aberto - a customização de softwares para idéias artísticas e para produção multimídia em geral permitindo aquele que via criar desenvolver suas idéias abstratas partindo de maneiras rápidas de trabalhar com código, ao invés da lógica onde o artista e visto como um usuário de interfaces ja prontas que ao tentar "prever aquilo que quer o usuário" também acaba impondo sua prática de uso.

Com a escolha da linguagem puredata, que possui uma comunidade extremamente produtiva e colaborativa,  por mais que esta interface esteja apresentando uma prática fechada em uma idéia de recortes de samples e um certo escopo, apresenta-se também como a abertura para ser recombinada com outros códigos e idéias, colocando-se como uma peça a ser aberta e transformada, sendo desde o início deste projeto documentada da maneira mais detalhada possível para permitir tal recombinação.

Este é um Software (ou "patch") totalmente desenvolvido com a liguagem Puredata, como um "objeto" para esta linguagem que pode ser acoplado em qualquer outro "objeto" disponível pela comunidade de desenvolvimento deste software e totalmente compatível com a versão distribuída no pacote "Pd-extended". Para mais detalhes sobre instalção de puredata veja esta página.

Navalha é um software desenvolvido com o intuito de tornar-se um estudo de caso em desenvolvimento rápido prototipado em Puredata de um sistema para performances musicais com interface gráfica e sistema de gerenciamento de "presets" (configurações) salvos em disco rígido. Além de sua utilidade para musicos e artistas é também um detalhado estudo de caso de desenvolvimento em puredata, podendo ser usado como estudo para implementação de outros algoritmos e idéias.

 


Versão OGG deste arquivo

O objeto gráfico - nvl

 

 

O objeto nvl cria instâncias de um sequenciador de fatias (slices) de .wav que podem ser editadas e salvas na própria interface gráfica deste objeto.

Estabelece também um arquivo padrão de metadados que permite que estas fatias sejam recarregadas na exata posição de onde foram salvas anteriormente - o arquivo .nvl.

Estas fatias podem ser tocadas de maneira não-linear modificando padrões (patterns) de um sequenciador embutido que toca numa velocidade determinada em batidas por minuto (podem ser subdivididas dentro desta mesma batida) a atual fatia numa sequencia determinada por este "pattern".

Os objetos [nvl] podem ser conectados em cascata, pelos seus primeiros inlets e outlets - determindo assim um master da conexão mais acima que pode sincronizar os sequenciadores de patterns - determinando um "master sequencer" que irá controlar os demais "slaves" nvl.

Estes pattern também podem ser salvos dentro do arquivo .nvl criando assim uma possével navegação de clichês (ou "riffs") que podem ser recuperados e repetidos durante uma performance.

Os controles de edição da performance já estão todos mapeados para controlesvia teclado do seu computador. Se você necessita desligar esta função num objeto nvl, basta desligar a função "key" que fica no canto inferior esquerdo. Obviamente se duas instâncias nvl estiverem com "key" ligado, ambas serão controladas simultaneamente pelo seu teclado.

[nvl] - Interface Gráfica e padrão de entradas e saídas

 

 

Sequencer

a) Outlet de saída do sincronismo master-slave. Conduz o cursor do sequencer e o bpm atual.
b) Outlet que mostra a posição atual do cursor.
c) Sequencia de slices que será executada durante a passagem do cursor master.
d) Zera todo o pattern de slices.
e) Escolhe um número limite de slices que será randomizado e cria uma sequência de números randômicos para um pattern.
f) Pattern de uma sequencia padrão para frente e para trás.
g) Carrega 10 patterns diferentes que estão salvos na matriz buffer da memoria. Estes patterns são carregados no arquivo .nvl ou podem ser salvos com o procedimento descrito abaixo no item "h".
h) Botão store (ou atalho shift+s) serve para atualizar no buffer de memória ram (não salva em disco) os atuais presets dos slices e patterns. Para salvar em disco, voce precisa dar um nome de arquivo na janela save_preset do canto inferior direito.
i) Number box que define o número de células que o cursor vai correr. Isto torna possível fazer uma sequẽncia com tempos ímpares ou diferentes de 8 batidas por compasso.
j) Liga/Desliga os atalhos do controle de teclado.
k) Liga/desliga sequencia master. É possível tocar mais de um master, mas obviamente não estarão imediatamente sincronizados.
j) Cursor do sequenciador, dispara fatia atual.

Pitch-Bpm-Volume

a) Outlet que mostra a nota (pitch) atual (numa escala númerica cromática com 12 notas para cada sequência de dó a dó - contando todos os semitons).
b) Semitom relativo ao tom original da música, em execução naquele instante.
c) Volume geral deste objeto [nvl] - o pequeno gira os dois juntos em stereo.
d) Muda tempo do Sequencer em batidas por minutos. Determina o numero de subdivisões por compasso.
e) Tom predominante atual, aplicada ou não uma variação de tonalidade. Os botões logo acima podem modificar esta tonalidade por semitom. Ou pelas teclas "zxcvbnm,."

Save Preset

~) Saídas de áudio esquerda e direita.
a) Abre um arquivo wav para editas as fatias (slices).
b) Hack-me: atalho para abrir os códigos.
c) Entrada do nome de arquivo a ser salvo. Escreva o nome sem a extensão .nvl e aperte enter. Os patterns salvos no último store (shift+s) serão salvos no arquivo
d) Nome do .nvl atualmente em execução.
e) Abre um .nvl da pasta.

*PS: Sempre utilize as pastas "samples" e "presets". Se for utilizar .nvl e .wavs de sua máquina de outras pastas. Não utilize samplers muito longos e de preferência recorte anteriormente o trecho que você quer utilizar, para não sobrecarregar o buffer. Este é um software de performance em tempo real, e não uma suíte de edição de áudio - para isso você tem softwares como audacity e ardour.

Slices

 

a) Sliders para seleção dos trechos. Acima ínicio e abaixo o final. Quando editando utilizar os atalhos "qwertyuiop" para selecionar os trechos de 0 até 7, e os atalhos "asdfghjkl" para 8 a 15.
b) Esta tabela carrega o .wav que será executado e/ou fatiado. Utilize a barra de espaço para tocar o trecho todo.
c) Fatia ("slice") da seleção carregada pelo arquivo .nvl ou atualmente em buffer de memória ram. Quando modificar o trecho de um slice não esqueça de atualizar no buffer de memória ram com o atalho shift+s ou o botão Store. Utilize a entrada "save_preset" para salvar o arquivo em disco.

A entrada de controles externa - o segundo inlet

A maioria dos controles acima pode ser tambem manipulada por meio do segundo outlet, utilizando uma mensagem no formato "nome do modificador variavel". Exemplo: pitch $1 , onde $1 seria a varível de entrada do paramêtro pitch.

Veja na figura abaixo (e no arquivo nvl-help.pd) uma lista com todos os modificadores:

 

 

1) slice (numero da fatia)

2) tempo (com duas variaveis - bpm e divisao do compasso)

3) preset (nome do arquivo nvl - que deve estar na pasta presets)

4) pattern (numero do pattern do buffer de 1 a 10)

5) key (liga e desliga acesso a teclado)

6) seq (liga e desliga sequenciador)

7) vol (volume de 0 a 1)

8) random (numero limite da celula do pattern seguido de gerador randomico de pattern)

9) pitch (intervalo em semitons em relação a nota atual)

10) div (numero de celulas no compasso atual do sequenciador)

11) normalize (bang - normalizar a faixa com ampliudes máximas 1 sem clipar)

12) mono2x (bang - duplicar uma faixa mono para dar um falso efeito estereo)

 


Repositório:

Você pode baixar a atual versão em formatos zip ou tar.

Vocẽ também pode clonar este projeto como um repositório Git rodando:

$ git clone git://github.com/glerm/navalha