<para>Antes de tudo, ao tentar executar o &arts-builder;, você deve também estar executando o servidor de som (&artsd;). Normalmente, se você usar o &kde; 2.1, isto já deverá estar ocorrendo. Caso contrário, você pode configurar a inicialização automática do servidor de som no &kcontrol; em <menuchoice><guilabel>Som</guilabel><guilabel>Servidor de Som</guilabel></menuchoice>. </para>
<para>Quando você está executando o &arts;, ele sempre roda pequenos módulos. O &arts-builder; é uma ferramenta para criar novas estruturas de pequenos módulos conectados. Você simplesmente clica nos módulos dentro da grade. Para fazer isto, escolha-os a partir do menu <guimenu>Módulos</guimenu>, e então clique em algum local no plano verde-cinza. </para>
<para>Módulos normalmente possuem portas (onde normalmente sinais de áudio entram ou saem). Para conectar duas portas, clique na primeira, fazendo com que ela fique laranja, e então clique na segunda. Você somente pode conectar uma porta de entrada (no lado superior de um módulo) com uma porta de saída (no lado inferior de um módulo). Se você deseja atribuir um valor fixo à uma porta (ou desconectá-la), faça então um duplo-clique na porta. </para>
<para>Você precisa de um módulo Synth_AMAN_PLAY para ouvir a saída do que está criando. Logo crie um módulo Synth_AMAN_PLAY selecionando <menuchoice><guimenu>Módulos</guimenu> <guisubmenu>Síntese</guisubmenu> <guisubmenu>IO de Som</guisubmenu> <guisubmenu>Synth_AMAN_PLAY</guisubmenu></menuchoice> e clique em um espaço de módulo vazio. Coloque-o abaixo da quinta linha em diante, porque nós iremos adicionar algum material acima. </para>
<para>O módulo terá um parâmetro <parameter>title</parameter> (porta mais a esquerda) e <parameter>autoRestoreID</parameter> (ao lado da porta mais à esquerda) para encontrá-lo. Para preenchê-los, dê um duplo-clique nestas portas, selecione valore constante e digite <userinput>tutorial</userinput> na caixa de edição. Clique <guibutton>OK</guibutton> para aplicar. </para>
<para>Selecione <menuchoice><guimenu>Arquivo</guimenu><guimenuitem>Executar estrutura</guimenuitem></menuchoice>. Você não ouvirá absolutamente nada. O módulo para tocar precisa de alguma entrada ainda... ;) Se você tiver ouvido o silêncio por enquanto, clique <guibutton>OK</guibutton> e vá para o Passo 2. </para>
<para>Crie um módulo Synth_WAVE_SIN (a partir de <menuchoice><guimenu>Módulos</guimenu> <guimenuitem>Síntese</guimenuitem> <guimenuitem>Formas de onda</guimenuitem></menuchoice>) e coloque-o acima do módulo Synth_AMAN_PLAY (Deixe uma linha de espaço entre eles). </para>
<para>Como pode ver, isto produz alguma saída, mas precisa de um <guilabel>pos</guilabel> como entrada. Primeiro vamos colocar a saída para as caixas de som.Clique na porta <guilabel>out</guilabel> do Synth_WAVE_SIN e então na porta <guilabel>left</guilabel> do Synth_AMAN_PLAY. Bingo! Você conectou dois módulos. </para>
<para>Todos os osciladores no &arts; não necessitada de uma frequência como entrada, mas uma posição na onda. A posição deve estar entra 0 e 1, o qual mapeia para um objeto Synth_WAVE_SIN padrão para o intervalo 0,2*pi. Para gerar valores oscilando a partir de uma frequência, um módulo Synth_FREQUENCY é usado. </para>
<para>Crie um módulo Synth_FREQUENCY (a partir de <menuchoice> <guimenu>Módulos</guimenu> <guimenu>Síntese</guimenu> <guimenu>Oscilação & Modulação</guimenu> </menuchoice>) e conecte sua saída <quote>pos</quote> à entrada <quote>pos</quote> do seu Synth_WAVE_SIN. Especifique a frequência da porta do gerador FREQUENCY como um valor constante de 440. </para>
<para>Selecione <menuchoice><guimenu>Arquivo</guimenu><guimenuitem>Executar estrutura</guimenuitem></menuchoice>. Você ouvirá uma onda senóide de 440 Hz em uma de suas caixas. Se você estiver ouvindo isto por enquanto, clique <guibutton>OK</guibutton> e vá para o Passo 3. </para>
<para>Ok, seria melhor se você ouvisse a onda senóide em ambas as caixas. Conecte também a porta right do Synth_PLAY ao outvalue do Synth_WAVE_SIN. </para>
<para>Crie um objeto Synth_SEQUENCE (a partir de <menuchoice><guimenu>Módulos</guimenu> <guisubmenu>Síntese</guisubmenu> <guisubmenu>Midi & Sequenciamento</guisubmenu></menuchoice>). Isto deve estar no topo da tela. Se você precisar de mais espaço você pode mover os outros módulos selecionando-os (para selecionar múltiplos módulos use &Shift;), e arrastando-os para baixo. </para>
<para>Agora conecte a saída frequency do Synth_SEQUENCE a entrada frequency do módulo Synth_FREQUENCY. Então especifique a velocidade de sequência como valor constante de 0.13 (a velocidade é a porta mais à esquerda). </para>
<para>Agora vá para a porta mais à direita (sequence) do Synth_SEQUENCE e digite um valor constante de <userinput>A-3;C-4;E-4;C-4;</userinput> que especifica uma sequência. Mais sobre isto na Referência do Módulo. </para>
<para>O Synth_SEQUENCE realmente <emphasis>precisa</emphasis> de uma sequência e velocidade. Sem isto você talvez obtenha erros no construtor. </para>
<para>Selecione <menuchoice><guimenu>Arquivo</guimenu><guimenuitem>Executar Estrutura</guimenuitem></menuchoice>. Você ouvirá uma bela sequência em execução. Se você tiver gostado do que ouviu, cliuqe <guibutton>OK</guibutton> e vá para o Passo 4. </para>
<para>Crie um módulo Synth_PSCALE (a partir de <menuchoice><guimenu>Módulos</guimenu> <guisubmenu>Síntese</guisubmenu> <guisubmenu>Envelopes</guisubmenu></menuchoice>). Desconecte o outvalue da onda SIN dando um duplo clique e selecionando <guilabel>não conectado</guilabel>. Conecte </para>
<para>Como isto funciona agora: O Synth_SEQUENCE fornece informações adicionais sobre a posição da nota musical que está sendo tocada agora, enquanto 0 significa iniciada e 1 significa terminada. O módulo Synth_PSCALE escalonará o fluxo de áudio que é direcionado através dele a partir de um volume 0 (silêncio) à 1 (nível original) e de volta à 0 (silêncio). De acordo com a posição. A posição onde o pico deve ocorrer pode ser fornecida como pos. 0.1 significa que após 10% da nota ter sido tocada, o volume atinge seu máximo, e inicia a diminuir em seguida. </para>
<para>Selecione <menuchoice><guimenu>Arquivo</guimenu><guimenuitem>Executar Estrutura</guimenuitem></menuchoice>. Você ouvirá uma agradável sequência ser executada. Se você tiver gostado do que ouviu, clique <guibutton>OK</guibutton> e vá para o Passo 5. </para>
<para>Coloque um Synth_AMAN_PLAY nele, configure-o para um nome razoável qualquer. Coloque um Synth_BUS_DOWNLINK nele e:</para>
<para>Inicie a execução da estrutura. Como esperado, você não ouvirá nada, ... não ainda. </para>
<para>Retorne à estrutura com o Synth_WAVE_SIN e substitua o módulo Synth_AMAN_PLAY por um Synth_BUS_UPLINK, e configure o nome para audio (ou joao se desejar). Para excluir módulos selecione-os e escolha <menuchoice><guimenu>Editar</guimenu> <guimenuitem>excluir</guimenuitem></menuchoice> no menu (ou pressione a tecla <keycap>Del</keycap>). </para>
<para>Acione <menuchoice><guimenu>Arquivo</guimenu> <guilabel>Executar estrutura</guilabel></menuchoice>. Você ouvirá a sequência com notas escalonadas, transportadas pelo barramento. </para>
<para>Se você deseja saber porque algo como isto pode ser útil atualmente, clique <guibutton>OK</guibutton> (no &arts-builder; que estiver executando o Synth_SEQUENCE, você pode deixar o outro em execução) e vá para o Passo 6. </para>
<title>Passo 6: Transmissão para usuários avançados</title>
<para>Escolha <menuchoice><guimenu>Arquivo</guimenu> <guimenuitem>Renomear estrutura</guimenuitem></menuchoice> no menu do artsbuilder que contém o Synth_SEQUENCE, e chame-o de tutorial. Clique <guibutton>OK</guibutton>. </para>
<para>Inicie mais outro &arts-builder; e selecione <menuchoice><guimenu>Arquivo</guimenu> <guimenuitem>Carregar</guimenuitem></menuchoice>, e carregue o tutorial novamente. </para>
<para>Agora você pode selecionar <menuchoice><guimenu>Arquivo</guimenu> <guimenuitem>Executar estrutura</guimenuitem></menuchoice> em ambos os &arts-builder; que possuem esta estrutura. Você agora ouvirá duas vezes a mesma coisa. Dependendo do momento em que você iniciá-lo o som será mais ou menos agradável. </para>
<para>Outra coisa que é bom fazer neste ponto do tempo é: iniciar o &noatun;, e tocar algum <literal role="extension">mp3</literal>. Inicie o &artscontrol;. Vá para <menuchoice><guimenu>Ver</guimenu><guimenuitem>Ver gerenciador de áudio</guimenuitem></menuchoice>. O que você verá é a estrutura de playback do &noatun; e do seu <quote>tutorial</quote> tocando alguma coisa. A coisa legal que você pode fazer é isto: duplo-clique no &noatun;. Você agora obterá uma lista de todos os barramentos disponíveis. E veja? Você pode fazer com que o &noatun; envie sua saída para o barramento de áudio da estrutura de playback que seu tutorial fornece. </para>
<para>Finalmente, agora você deve ser capaz de transformar sua onde senóide em um instrumento real. Isto somente faz sentido se você possui algo em mãos que possa enviar eventos &MIDI; para o &arts;. Eu descreverei aqui como você pode usar alguns teclados externos, mas um barramento midi que disponha de sequências como o &brahms; funcionará também. </para>
<para>Primeiramente, limpe seu ambiente de trabalho até que você tenha somente um &arts-builder; com a estrutura de onda senóide na estrutura (não executando). Então, vá três vezes para <menuchoice><guimenu>Portas</guimenu><guisubmenu>Criar sinal de áudio IN</guisubmenu></menuchoice>, e três vezes para <menuchoice><guimenu>Portas</guimenu><guisubmenu>Criar sinal de áudio OUT</guisubmenu></menuchoice>. Coloque as portas em algum lugar. </para>
<para>Finalmente, vá para <menuchoice><guimenu>Portas</guimenu><guilabel>Mudar posições e nomes</guilabel></menuchoice> e chame as portas de frequência, velocidade, pressionada, esquerda, direita, feito. </para>
<para>Finalmente, você pode excluir o módulo Synth_SEQUENCE, e ao invés de usar este módulo conecte a porta de entrada de frequência da estrutura à porta de frequência do Synth_FREQUENCY. Uhmm. Mas e o pos?</para> <para>Não não o usaremos, porque com nenhum algoritmo no mundo você pode predizer quando o usuário soltará a nota que ele pressionou no teclado midi. Logo nós ao invés disso usamos um parâmetro de pressionado que apenas indica se o usuário ainda mantém a tecla pressionada. (pressionada = 1: a tecla ainda está pressionada, pressionada = 0: a tecla foi solta) </para>
<para>Isto significa que o objeto Synth_PSCALE também deve ser substituído agora. Conecte-o em um Synth_ENVELOPE_ADSR no lugar (a partir de <menuchoice><guimenu>Módulos</guimenu> <guisubmenu>Síntese</guisubmenu> <guisubmenu>Envelopes</guisubmenu> </menuchoice>). Conecte: </para>
<para>Configure os parâmetros attack para 0.1, decay para 0.2, sustain para 0.7 e release para 0.1. </para>
<para>Outra coisa que nós precisamos pensar é que a estrutura de instrumento deve saber de alguma maneira quando terminou de tocar e então deve ser interrompida, porque caso contrário ela nunca irá parar mesmo se a nota for solta. Felizmente, o envelope ADSR reconhece quando não haverá mais nada para ouvir, uma vez que de qualquer jeito escala o sinal para zero em algum ponto após a nota ser solta. </para>
<para>Isto é indicado pela configuração do done output para 1. Logo conecte isto ao output do feito da estrutura. A estrutura será removida tão logo vá para 1. </para>
<para>Renomeie sua estrutura para instrumento_tutorial (a partir do <menuchoice><guimenu>Arquivo</guimenu> <guimenuitem>Renomear estrutura</guimenuitem></menuchoice>. Então salve-a usando o salvar como (o nome padrão oferecido agora deve ser instrumento_tutorial).</para><para>Inicie o artscontrol, e vá para o <menuchoice><guimenu>Ver</guimenu> <guimenuitem>Gerenciador de Midi</guimenuitem></menuchoice>, e escolha <menuchoice><guimenu>Adicionar</guimenu><guimenuitem>Saída de MIDI do Sintetizador aRts</guimenuitem></menuchoice>. Finalmente, você deve ser capaz de selecionar seu instrumento (tutorial) aqui. </para>
<para>Abra um terminal e digite <userinput><command>midisend</command></userinput>. Você verá que o <command>midisend</command> e o instrumento estão listados agora no gerenciador de &MIDI; do &arts;. Após selecionar ambos e clicar <guibutton>conectar</guibutton>, nós finalmente terminamos. Pegue o seu teclado e comece a tocar (é claro que ele deve estar conectado ao seu computador). </para>
<para>Tente usar coisas além de uma onda SIN. Quando você pluga uma onda TRI, você muito provavelmente achará que o som não é muito legal. Mas tente colocar um filtro SHELVE_CUTOFF logo após a onda TRI para cortar as frequências acima de um valor determinado (tente algo como 1000 Hz, ou mesmo duas vezes a frequência de entrada ou frequência de entrada + 200 Hz ou algo como isto). </para>
<para>Tente usar mais de um oscilador. O Synth_XFADE pode ser usado para fazer uma transição suave (mixar) de dois sinais, e o Synth_ADD para adicioná-los. </para>
<para>Tente pós-processar o sinal após ele sair do barramento. Você pode por exemplo misturar uma versão retardada do sinal com o original para obter um efeito de eco. </para>
<para>Tente usar a configuração velocidade (ela é a força com a qual a nota é pressionada, você pode também dizer volume). O efeito especial é sempre quanto isto não somente modifica o volume do sinal resultante, mas também o som do instrumento (por exemlo a frequência de corte). </para>
<para>Se você tiver criado alguma coisa bem legal, por favor considere fornecê-la para a página web do &arts;. Ou para inclusão na próxima versão. </para>
<para>O &arts-builder; vem com diversos exemplos, que podem ser abertos através do <menuchoice><guimenu>Arquivo</guimenu><guimenuitem>Abrir Exemplo...</guimenuitem></menuchoice>. Alguns deles estão na pasta, outros (que por alguma razão não funcionam com a versão atual) estão à esquerda na pasta todo. </para>
<para>Os exemplos dividem-se em diversas categorias: </para>
<para>Exemplos por si só ilustrando como usar cada um dos módulos embutidos do arts (nomeados <filename>example_*.arts</filename>). Estes tipicamente enviam alguma saída para uma placa de som. </para>
<para>Instrumentos construídos a partir dos módulos do arts de nível mais baixo (nomeados <filename>instrument_*.arts</filename>). Estes seguem a convenção padrão para portas de entrada e saída de modo que eles podem ser usados com o gerenciador &MIDI; no &artscontrol;. </para>
<para>Elementos de mixagem usados para criar mixadores, incluindo controles gráficos (nomeados <filename>mixer_element_*.arts</filename>). [ todos em todo ] </para>
<para>Gera uma tom de onda senóide de 440Hz no canal esquerdo e um tom de onda senóide de 880Hz no canal direito, e envia-os para a saída da placa de som. Isto é referenciado na documentação do &arts;. </para>
<para>Gera um tom duplo pela produção de ondas senóides de 697 e 1209 Hz, escalonando-as em 0.5, e adicionando-as juntas. Este é o tom DTMF para o dígito "1" no teclado do telefone. </para>
<para>Baixa a partir de um barramento chamado <quote>Bus</quote> e envia para o barramento <quote>out_soundcard</quote> com os canais direito e esquerdo invertidos. </para>
<para>Baixa a partir de um barramento chamado <quote>Delay</quote>, e envia o canal direito com 0.5 segundos de cdelay, e o canal esquerdo sem mudanças. Você pode usar o &artscontrol; para conectar o efeito a um tocador de som e observar os resultados. </para>
<para>Isto usa o Synth_CAPTURE_WAV para salvar uma onda senóide de 400 Hz como um arquivo de onda. Roda o módulo por uns poucos segundos, e então examinha o arquivo criado no <filename class="directory">/tmp</filename>. Você pode tocar o arquivo com um tocador como o <application>kaiman</application>. </para>
<para>Isto usa o módulo Data para gerar um fluxo constante de valor <quote>3</quote> e enviá-lo para o módulo Debug para periodicamente exibí-lo. Ele também contém um módulo Nil, ilustrando como ele pode ser usado para não fazer nada. </para>
<para>Isto conecta o efeito Freeverb a partir de um barramento de baixar para um barramento de enviar. Você pode usar o artscontrol para conectar o efeito para um tocador de som e observar os resultados. </para>
<para>Esta estrutura combina os dois canais de uma barramento em um, passa-o através do filtro Moog VCF, e envia-o para o barramento out_soundcard. </para>
<para>Esta estrutura passa os dados do canal esquerdo da placa de som através do efeito Pitch Shift. Ajusta o parâmetro de velocidade para variar o efeito. </para>
<para>Esta estrutura passa o gerador de ruído branco através de um filtro RC e envia-o para a placa de som. Vendo o mostrador do FFT Scope do artscontrol você pode ver como isto varia de um ruído não filtrado para a forma em onda. </para>
<para>Esta estrutura passa um gerador de ruído branco através do filtro Shelve Cutoff e envia para a placa de som. Vendo o mostrador do FFT Scope do artscontrol você pode ver como isto varia de um ruído não filtrado para a forma em onda. </para>
<para>Este exemplo mixa ondas senóides de 440 e 880 Hz usando uma transição suave. Ajusta o valor da entrada percentual da transição de -1 para 1 para controlar a mixagem dos dois sinais. </para>
<para>Isto ilustra o módulo Play Wave. Você precisará inserir o caminho completo para um arquivo <literal role="extension">.wav</literal> como parâmetro filename. </para>
<para>Isto mostra o módulo Multi Add que aceita qualquer número de entradas. Ele soma três módulos Data que produzem entradas de 1, 2 e 3, e exibe o resultado 6. </para>