imprimir
(Versão descontinuada - página mantida por referênca histórica)

Versão atualmente em uso - Navalha


Pacote "genérico" do Navalha com instalador (i386) e dependências. - inclui pd0.41 e alguns externals e roda no /usr/local/ (não influi no pd de pacote da distribuição
Pacote para Ubuntu Feisty no Repositório do Nighto.










O que é (ou o que quer ser) o Navalha


A idéia


O Navalha é um software de código aberto em desenvolvimento constante, que fuciona como um tipo de "plugin" com interface gráfica dentro do software PD("Puredata").

O foco deste software é a performance ao vivo, utilizando algumas idéias de reciclagem, recorte e manipulação de velocidade e afinação de amostras ao vivo, podendo ser controlado via rede, MIDI, OSC, teclado comum, mouse, e o que mais der na telha, afinal por isso que ele está sendo feito em PD.

O escopo inicial do Navalha são amostra de áudio, mas que esta versão sirva também como incentivo para estendermos a metáfora para outras linguagens. Falarei mais sobre onde o Navalha pretende chegar em breve um pouco mais abaixo.

O Navalha tem seu núcleo totalmente desenvolvido em linguagem do próprio PD, utilizando como "motor" vários objetos das bibliotecas desenvolvidas pela comunidade deste software.

A idéia surgiu das "imersões" de grupo de usuários de pd aqui da comunidade so Estúdio Livre, Metarecicleiros, Gamb+is e outros doidos que frequentam o PureDeposito, entre outros botecos.

É possivel que por ter uma interface gráfica um tanto intuitiva, o Navalha sirva também como uma "introdução" e principalmente incentivo ao uso do PD, despertando em você o interesse por fazer suas próprias interfaces neste software e suas infinitas bibliotecas. Veremos.

O presente


A versão 0.333 já é uma versão bastante funcional. Bastante coisa pode ser feita na sua própria interface gráfica. Existem algumas funções que já são possíveis de maneira bem facilitada, mas é preciso conhecer um pouco de como funciona a programação do PD. E obviamente se você já tem certa destreza em PD o Navalha pode tornar-se apenas um dos parafusos da sua nave espacial.


O futuro


A brincadeira está só começando.

O Navalha converge para uma integração com o uso do acervo do Estúdio Livre em tempo real (durante performances) - baixando, "tagueando" e subindo amostras ao vivo, e este é uma dos suas principais buscas, além de é claro, navalhar.

Outro foco do Navalha é a gambiarra para construção de instrumentos. Nos próximos meses o Navalha vai servir como interface "virtual" para construção de interfaces físicas como o seu irmão "joystick" - o Bagulho.


Painel do Navalha


Segue a partir de agora uma descrição do painel do que chamamos de "Navalha" e algumas de suas funcionalidades. Como o "Navalha" foi totalmente desenvolvido com PD, acho importante durante a descrição das funções citar alguns objetos de bibliotecas do PD que foram essenciais na construção do Navalha. Se você ainda nao conhece muito de PD, não se preocupe, logo que você começar a se interessar pela contrução da interface essas referências começam a fazer sentido. De qualquer maneira toda funcionalidade básica para você entender a interface gráfica estará aqui.


1.Canivete


Foi batizado de "Canivete" a célula sampler do Navalha. Por uma questão prática, principalmente para não exigir muita performance da máquina esta primeira versão integrada foi desenvolvida com quatro "Canivetes". Aqui abaixo descrevo com detalhes o painel desta interface, que no momento é um dos núcleos da ação no console do Navalha. Algumas coisas além da interface gráfica já estão faciliadas no "canivete" porém isso requer que você saiba um pouco de PD, e é algo que eu posso falar um pouco mais a frente. Mas saiba que existe um mapa de todos os controles e isso pode ser facilmente controlado por instrumentos musicais ou por outra máquina na rede.

O canivete utiliza como "motor" principal os objetos sndfiler (para leitura de um arquivo ogg numa tabela), o objeto susloop~ (para algumas operações sobre o loop da tabela) e o objeto beat (para aluguns ajustes de metrônomo na detecção de batdas feitas pelo objeto bonk~). A detecção de BPM, aida é um pouco caótica, mas funciona bem como uma sugestão de BPMs e detecta pulsos, mostrando-os de maneira gráfica.

Além destes tem importantíssimas funções o objeto pvoc~ para transformação de "afinações" do loop, sem alterar sua velocidade e o objeto fiddle~ para detectar tonalidades.




Abaixo seguem uma descrição das funcionalidades da interface:


1.Carregar Sample



Esses dois botões tem a função de escolher um sampler para ser usado nesta unidade de performance. O botão mais acima utiliza a playlist (explicada mais abaixo) e tem a função de ser uma maneira mais ágil de carregar os samplers. Também é possível com o botão logo abaixo abrir uma janela de busca em diretórios, para você localizar sampers oggs perdidos em alguma pasta.



2.Ligar DSP Canivete


Este é o botão de liga e desliga o processamento de uma único "canivete". Deve ser usado para parar o samples nao estão sendo utilizados, poupando memória e processamento.



3.Navalhadores (inicio,fim)


Estes são dois navegadores muito importantes, com ele voce pode selecionar o trecho do loop que será tocado, podendo navegá-lo de maneira não linear, criando ritmos e melodias com esses movimentos.



4.Visualização da Seleção


Complementando o trabalho dos "Navalhadores" do desenvovida uma inerface gráfica que mostra uma cor de outra tonalidade sobre o trecho selecionado.


5.Controles de Volume


Estes são os controles de volume e mute de uma unidade "canivete".

6.Seleçao de Controle de Interface (Hardware)


Neste seletor você escolhe o modo que pretende utilizar cada um dos samplers além da interface "mouse". Lembre-se que ao utilizar o mapa de teclado, você transforma seu teclado em "piano" (com as teclas a-s-d-f-g-h-j-k & w-e-y-u-i ). O mapeamento MIDI existe apenas no momento para o dipositivo que eu tinha disponível, mas pode ser feito facilmente com uma navegação interna nos mapas. Estuda-se a implementação de um "MIDI learn" em futuras versões.
Utilizando o mapa também não haverá dificuldade para mapear mensagens de rede e uma webcam, mas uma nterface gráfica para isso fica para futuras versões.

7.Normalizar buffer


A normalização de buffer é um algoritmo conhecido de compressão que elimina "clipadas" das ondas e potencializa o nível para o máximo possével sem estes estouros.



8.Controles de BPM


Os controles de BPM do Navalha já estão bastante funcionais, mas ainda funcionam mais como uma interface que pode "sugerir" BPMs para aquele trecho. O Número irá piscar de acordo com o BPM detectado. Como essa detecção é feita em tempo real algumas vezes pode ficar bem caótica. Você pode utilizar os divisores e multiplicadores de BPM para encontrar divisões de tempo mais aceitáveis ou que casem com alguma batida buscada.


9.Reverse


Toca o sampler em modo reverso.

10.Controles de aceração e pitch(FFT)


Esta parte tem os controles de ''afinação" do sampler. No modo "Tempo" você pode modificar o afinação influenciando a aceleração, no modo FFT você muda de afinação sem influir na aceleração. No entanto tenha em mente que o algoritmo FFT (que opera esta modulação) em tempo real é bastante custoso para seu CPU. Experimente utilizar um de cada vez e vá testando. Teste também modificando os parâmetros do FFT, alguns efeitos possíveis e configurações de maior ou menor definição. Se seu CPU pedir água lembre-se que o atalho para para o processamento de áudio no PD é "ctrl+." ...




11.Paramêtros de FFT


Os paramêtros disponíveis na interace gráfica são volume do efeito FFT, bandas agudas e graves onde ele atua e um seletor de blocos de amostra
(que podem conseguir aumentar a definição ou gerar um efeito de "granulação espectral"). No enanto tome sempre cuidado comos limites de seu CPU, pois esse algoritmo é bastante custoso em tempo real.

12.Console de detecção de afinação



Este é o console que mostra a tonalidade média do sample e o seu intervalo relativo a detecção da tonalidade média de toda a mixagem, com isso você pode treinar maneiras de construir "acordes", sabendo qual a tonalidade de um sampler em relação a outro ou em relação a uma mixagem de samples.


13.Zera o buffer


Zera a tabela do sampler, liberando memória ram.

14.Tempo da atual seleção em segundos


Isso mesmo, adivinhou.


2.Espacialização Estéreo




Utilizando o objeto audience~ da biblioteca UNAUTHORIZED, foi possível colocar nesta interface uma interface gráfica para espacialização bastante intuitiva.

Os bonequinhos estão representando as saídas da mixagem e os auto-falantes cada sampler. Perceba que movendo os auto-falantes temos a simulação de uma espacialização numa sala. Faça a experiência utilizando fones.

Por conveniência foi configurado para o objeto trabalhar com 2 saídas, no entanto seria muito simples, se você possui uma placa de mais saídas ou pretende trabalhar em rede, configurar para mais. (Utilizando as configurações do objeto audience~).


3.Sonicpiano:




1.Console de afinação em formato Piano.


Este console mostra a localização da nota de maneira gráfica. Este piano é sensível ao toque do mouse, no entanto a implementação de uma modulação de tonalidade relativa usando esta interface fica para a próxima versão.


2.Nota em escala cromática.


Mostra a nota e sua altura (oitava).


3.Frequencia


Nota detectada em frequencia (Hertz)


4.Liga e desliga detecção de tonalidade.


Desligue a detecção para economizar CPU, quando não necessitar.



4.Playlist




O objeto playlist, é outro adianto na interface gráfica possibilitado pela lib UNAUTHORIZED. Na interface do Navalha, a playlist existe para facilitar o acesso rápido a pastas que já estao com os samples organizados. Por padrao estamos definindo essa pasta no diretorio /puredata/samples que você deve criar e usar para guardar seus samples (Se voce utilizar o script de instalação do Navalha esta pasta será criada automáticamente).
Este objeto tambem facilita a troca de samples por "Program Change" com comandos MIDI.




Utilize para carregar um sample o bota logo abaixo da palavra "load"(carregar).



A célula-sampler vai ficar piscando.Neste momento ela pode receber continuamete vários samples da playlist. Isto também é útil para carregar vários samples iguais ao mesmo tempo em diferntes "canivetes" (voce pode querer isso para criar texturas diferentes em cada um deles).
Clique novamente para desativar o modo Playlist ( o sampler para de piscar)

No Puredata


O arquivo usado para executar o Navalha no PD está nomeado como Navalha-v0.33.pd. Para executá-lo basta que seu PD esteja convenientemente configurado para trabalhar com saída ALSA ou Jack. Obviamente utilizando Jack você pode levar o som do Navlha para de ntro de qualquer software... como ardour ou efeitos ladspa no jack-rack. Se você quer usar somente o PD pode utilizar o driver alsa usando MIDI por alsa conects *dtalhes no turorial ALSA ). Sempre configure seu MIDI para ALSA-midi e susas conexões MIDI estarão resolvidas em ambos os casos (obviamente conectando seu dipositivo por Jack ou aconnectgui ).

Preparando o PD


Bassta selecionar sua entrada/saída de áudio (ALSA ou Jack).



OGG gravador:




Este é um gravador rápido, que grava o que está acontecendo ao vivo num arquivo emergencial com o nome de gambi_(data de hoje).ogg na sua pasta de usuário. Quando não estiver utilizando deixe o gravador desligado para economizar processamento.

Ligando o Painel




Este é um painel bastante simples, para ligar e desligar o áudio geral do PD e controlar os volumes da mixagem. Foi colocado fora do Navalha, para facilitar que voce mixe o processo do Navalha com outros processos sonoros que você pode criar no PD.

Instalação


Atualmente diponibilizo por aqui um pacote tar.gz. É necessário que você tenha o PureData > 0.39 instalado na sua máquina. Qualquer distro distribui facilmente o Puredata. Aceito ajuda para fazer pacotes apt, slackware, gentoo e outros deste tar.gz.
As dependências de bibliotecas não-oficiais do PD está descrita mais abaixo, no entanto estou distribuindo nesse pacote todos objetos de PD não oficiais utilizados, para facilitar aos iniciantes.



Pacote tar.gz


Pacote do Navalha com instalador(i386) e dependencias.

Pacotes de PD com muitas libs.

Pacote com os fontes das dependências.

Este programa e suas bibliotecas estão sob licença GNU-GPL.

Dependencias e libs:


Além dos objetos nativos do PD, o Navalha utiliza as seguintes objetos (e aproveita para agradecer aos bravos desenvolvedores que as disponibilizaram, e é claro a Miller Puckette e todos os core developers do PD)

Os nomes ddas libs estão no mesmo formato usado no folder "externals" do CVS do PD.

susloop~ - bsaylor (Ben Saylor)

pvoc~ - FFTease (Eric Lyon & Cristopher Penrose portado por Thomas Grill com flext )

rrad.scale - rradical (Frank Barknecht)

beat - maxlib (Olaf Mathes)

oggwrite~ - pdogg (Olaf Mathes)

knob - footils (Frank Barknecht & Olaf Mathes)

image - ggee (Gunter Geiger)

shell -ggee (Gunter Geiger)

sndfiler - tb (Tim Blechmann & Georg Holzmann)

playlist- UNAUTHORIZED (Yves Degoyon)

audience~ - UNAUTHORIZED (Yves Degoyon)

fftease-system

allow

mstosr

time

date

threadlib


l2s e outros objetos da lib zexy ( Iohannes m Zmoelnig )



+


Abrindo o Navalha


Fico devendo aqui um tutorial mais detalhado de como o Navalha foi montado no PD, e outras possibilidades de configuração que já existem mas ainda não estão com interface gráfica. Com isso espero ajudá-lo a aprender a desenvolver com PD e contribuir com o Navalha no que você quiser. Enquanto isso entre em contato com glerm pelo email organismo@gmail.com ou assine a lista e utilize o svn do PureDeposito.


Atuais Funções na interface gráfica versão 0.333


  • Loop frente e reverso
  • Normalização
  • modulaçao de afinação
  • deteçcão de BPM
  • aceleração de BPM
  • controles de espectro e blockrate do FFT
  • deteção de tonalidade da mixagem e individual
  • intervalo relativo entre mixagem e sampler avulso
  • controles via teclado ASCii
  • controles mapeados para rede, MIDI e webcam (sem interface gráfica)


Próximas versões


  • Salvar ações (partitura navalha)
  • Midi learning
  • interface gráfica para conectar via rede
  • interface grafca para conectar movimentos de webcam
  • mapa OSC
  • publicar e baixar arquivos no acervo do Estúdio Livre



Wishlist, bugs e comentários


Deixa aqui abaixo seu cometário e ideias para proximas versoes.
Voce pode participar do desenvolvimento diretamente, codando ou traduzindo utilizando a versão de desenvolvimento do suveversion do Puredeposito.


comentarios

ESCREVA AQUI: ............................

...........................................
..........................................
.................................









Versoes anteriores:


Navalha0.0.1




Última alteração: 30/08/2009 às 06:55, por: glerm