# O Manual do &kwave;

## Introdução

Este é o "&kwave;", um editor de som simples para o &kf5-full;. As suas funcionalidades incluem:

- uma interface de utilizador que pode mudar para SDI, MDI ou páginas

- funções de corte, cópia e colagem simples

- desfazer/refazer em vários níveis

- legendagem dos sinais

- Funcionalidade de gravação, incluindo a pré-gravação

- Reprodução através do Qt, PulseAudio, ALSA e OSS

- Gravação através do PulseAudio, ALSA e OSS

- Importação/exportação para MP3

- Importação/exportação para Ogg/Vorbis e Opus

- Importação/exportação para FLAC

- algumas funções de análise como o Audiograma

- usa internamente a precisão de 24 bits para os dados de amostras

- taxas de amostragem arbitrárias

- suporte para a edição de ficheiros multi-canais

- reprodução de ficheiros de áudio multi-canais (o resultado do áudio será misturado para mono ou estéreo, se necessário)

- extensível através de uma interface simples por 'plugins'

- importação/exportação de outros formatos de áudio através da biblioteca audiofile

Se estiver interessado no que está feito e está ainda por ser feito, então veja os ficheiros `CHANGES` e `TODO` que vêm incluídos no pacote de código. A ajuda e críticas construtivas são sempre bem-vindas.

### Recursos do &kwave;

Como tal, se quiser entrar em contacto com os programadores, se precisa de mais alguma ajuda a usar o &kwave;, enviar correcções, relatórios de erros ou outras coisas, os seguintes recursos poderão ser interessantes para si:

- Página Web do Projecto

  Para mais informações sobre versões actualizadas ou outras informações sobre este projecto, dê uma vista de olhos na página Web do &kwave;

- Lista de Correio

  Se precisar de alguma ajuda na utilização do &kwave; ou se quiser envolver-se no desenvolvimento, junte-se à lista de correio de desenvolvimento do Kwave, indo para tal a "&url_mailinglist;".

- Repositório de GIT

  Existe também um novo repositório de Git alojado nos servidores do KDE, bem como uma réplica alojada no SourceForge, onde poderá obter o código da última versão em desenvolvimento. Para obter instruções de acesso ao repositório, veja o capítulo sobre a compilação a partir do GIT. Também existe uma boa interface Web do Git no KDE e no SourceForge que poderá usar para navegar pelo código.

### Histórico de Versões do &kwave;

Este projecto foi iniciado pelo Martin Wilz no Verão de 1998 e foi desenvolvido e melhorado por ele e por outras pessoas. Em Novembro de 1999, o Thomas Eschenbacher começou a corrigir alguns pequenos erros aqui e ali e foi aprofundando a sua acção no código-fonte do programa. Até hoje estendeu, remodelou ou refez praticamente todos os componentes do programa, gastando bastante tempo a melhorá-lo.

Desde o &kwave; v0.8.0, o registo de alterações não vem mais incluído neste manual. Como tal, se estiver interessado numa lista de alterações, poderá ver o histórico completo aqui: &url_changelog; ou navegar você mesmo pelo código, usando a interface Web do GIT.

A versão v0.9.0 do &kwave; é a primeira versão alojada no KDE (kdereview) e nos servidores da SourceForge, seguida pela v0.9.1, sendo a primeira versão de &kf5-full;.

## Instalação

### Como obter o &kwave;

O &kwave; tem uma página Web própria em &url_homepage;. Aqui poderá encontrar mais informações sobre o projecto, assim como informações acerca das versões estáveis e actualizadas de desenvolvimento.

Também existe uma página do projecto KDE em &url_kde_project;, a qual será principalmente interessante para os programadores.

Se quiser obter uma dada versão do &kwave;, terá a hipótese de visitar &url_download; e

- transferir um pacote binário com a última versão estável e, caso exista um para a sua distribuição,

- transferir um pacote RPM de código para a última versão estável,

- compilar você mesmo, a partir de um pacote .tar.bz2 com o código-fonte da última versão estável,

- compilar você mesmo, a partir da última versão do código no GIT.

Não tenha medo; compilar o Kwave deverá ser bastante simples, mesmo que não seja um programador. Apenas precisa de instalar alguns pacotes de desenvolvimento e de algum tempo.

### Requisitos

Para poder usar com sucesso o &kwave;, precisa de:

- um computador a correr Linux (o &kwave; também poderá correr sob outro sistema operativo, mas nunca foi testado de forma intensiva; diga-nos alguma coisa se o conseguir colocar a funcionar noutra plataforma / sistema operativo)

- reprodução de som a funcionar (não é realmente necessário para usar, mas o que iria fazer com um editor de som se não conseguir ouvir o resultado do seu trabalho?)

- As Plataformas do KDE 5.2 (KF5) ou superior (pelo menos as bibliotecas; caso utilize um outro ambiente de trabalho diferente, poderá também executar o &kwave; se as bibliotecas adequadas estiverem instaladas).

- Qt-5.4 ou superior (normalmente vem como uma dependência do KF5)

- ALSA 1.0.14 ou superior (para a gravação/reprodução)

- PulseAudio 4.0 ou superior (para a gravação/reprodução)

- id3lib-3.8.1 ou superior (para as marcas ID3)

- mad-0.15 ou superior (opcional - para a importação/exportação de MP3)

- flac-1.2.0 ou superior (para a importação/exportação de FLAC)

- libsamplerate-0.1.3 ou superior (conversão de taxas de amostragem)

Para uma lista mais completa e actualizada, por favor consulte o ficheiro 'README' que vem incluído na distribuição do código. Este ficheiro também contém algumas sugestões especiais para colocar o &kwave; em execução e/ou compilar o &kwave; em algumas distribuições.

Se pretender compilar o &kwave; a partir do código-fonte, será necessário pelo menos:

- cmake-2.8.12 ou posterior

- Um compilado de C/C++ recente. O GCC-4.x funciona perfeitamente, sendo que algumas versões mais recentes ou antigas (como o gcc-5.0) também poderão funcionar.

- O ambiente de desenvolvimento da glibc2 (libc-6). Nos sistemas SuSE, o pacote chama-se "libc", mas noutros sistemas poder-se-á chamar "libc-devel".

- Pacotes de desenvolvimento do Qt5 e KF5

- pulseaudio-0.9.16 ou posterior

- id3lib-devel-3.8.1 ou posterior

- fftw-3.0 ou posterior

- mad-devel-0.15 ou posterior (se tiver permissão para usar o código para MP3)

- flac-devel-1.2.0 ou posterior

- Caso pretenda obter o código-fonte do &kwave; a partir do GIT, irá também necessitar de um pacote do 'git' actual.

- ...muitos outros pacotes; por favor, dê uma vista de olhos no ficheiro 'README' que vem incluído no pacote de código-fonte.

### Compilação e Instalação Manual

Desde a versão 0.7.10, o &kwave; usa o cmake, um sistema de compilação que também é usado pelo próprio KDE. Como tal, se souber como compilar outras aplicações do KDE, não deverá ter problemas a compilar o &kwave;. Se tiver alguns problemas, por favor comunique-os na lista de correio do &kwave;.

Para poder compilar e instalar o &kwave; no seu sistema, uma boa prática é fazer uma compilação fora-da-árvore. Isto significa que você guarda o código do &kwave; numa pasta e compila o pacote noutra pasta (temporária).

Por exemplo, assumindo que o seu código já está descomprimido em ``$HOME/src/kwave-&version;``, poderá fazer o seguinte:

    % mkdir /tmp/kwave-build
    % cd /tmp/kwave-build
    % cmake $HOME/src/kwave-&version; [opções de compilação]
    % make
    % su root -c "make install"

(A indicação das opções de compilação é uma forma de activar ou desactivar determinadas funcionalidades. Veja a seguinte secção para consultar algumas descrições)

### Opções de compilação

Ao indicar as opções de compilação, poderá activar ou desactivar algumas funcionalidades do &kwave;, como a exclusão de alguns componentes ou 'plugins' do pacote gerado. Aqui está uma lista com as opções disponíveis:

- O `WITH_ALSA` activa a reprodução/gravação com o ALSA [`on`/`off`, por omissão=`on`]

- O `WITH_DEBUG` compila uma versão para depuração [`on`/`off`, por omissão=`off`]

- O `WITH_DOC` compila a documentação 'online' [`on`/`off`, por omissão=`on`]

- O `WITH_FLAC` activa o suporte para ficheiros FLAC [`on`/`off`, por omissão=`on`]

- O `WITH_MP3` activa o suporte para os ficheiros MP3 [`on`/`off`, por omissão=`off`] Lembre-se por favor que precisa de permissão para usar o código coberto pelas patentes de 'software' do MP3!

- O `WITH_OGG_OPUS` activa o suporte para os ficheiros Ogg/Opus [`on`/`off`, por omissão=`on`]

- O `WITH_OGG_VORBIS` activa o suporte para os ficheiros Ogg/Vorbis [`on`/`off`, por omissão=`on`]

- O `WITH_OPTIMIZED_MEMCPY` usa uma versão optimizada do 'memcpy', disponível para as plataformas X86, X86_64 e PPC [`on`/`off`, por omissão=`on`]

- O `WITH_OSS` activa a reprodução/gravação com o OSS [`on`/`off`, por omissão=`on`]

- O `WITH_PULSEAUDIO` activa a reprodução/gravação com o PulseAudio [`on`/`off`, por omissão=`on`]

- `WITH_QT_AUDIO` activa a reprodução com o Qt Multimedia [`on`/`off`, por omissão=`on`]

Estas opções poderão ser passadas ao ``cmake`` com a sintaxe ``-D``opção``=``valor``. Por exemplo, se quiser activar o suporte para MP3, poderá passar a opções correspondente ao seguinte:

    % cmake [pasta do código] -DWITH_MP3=ON [outras opções...]

### Criar pacotes RPM a partir dos pacotes .tar.bz2

#### Com um 'rpmbuild -ta' funcional

Se estiver a executar um sistema com suporte para RPM, a forma preferida de instalar o &kwave; no seu sistema será a criação de um pacote RPM adequado. Primeiro que tudo, deverá obter o código actual do &kwave;, seja com um pacote 'tar.bz2' da página de transferências do &kwave; ou extrair uma cópia actualizada com o GIT (como descrito no capítulo sobre o GIT) e ler o capítulo seguinte.

Se tiver transferido os pacotes tar.bz2 do &kwave;, crie e instale os RPM's de acordo com os seguintes passos (onde a `[arquitectura]` representa a plataforma para a qual compilou o pacote, podendo ser algo do tipo `i586`, `i686`, `sparc` ou outra coisa qualquer, e o `XXX` corresponde ao número da versão que transferiu).

Para criar o pacote do &kwave; e instalá-lo, faça o seguinte:

    % rpmbuild -ta kwave-XXX.tar.bz2
    % rpm -i /usr/src/redhat/RPMS/[arch]/kwave-XXX.[arch].rpm

Nota para os utilizadores da SuSE: terá de indicar a pasta `/usr/src/packages` em vez da `/usr/src/redhat` !

Se não tiver visto nenhuns erros, então é tudo, podendo então ignorar o resto do capítulo. Se o RPM não conseguiu compilar os pacotes e disse algo do tipo "ficheiro spec não encontrado", então prossiga e leia o resto desta secção.

#### Com um suporte do 'rpmbuild -ta' com problemas

Se não conseguir colocar o `rpmbuild -ta` a funcionar, aqui estão os passos para o criar manualmente (da forma mais difícil):

1. Vá para a pasta de topo do seu RPM. Normalmente é a `/usr/src/redhat` para a distribuição RedHat ou a `/usr/src/packages`, no caso da distribuição SuSE.

       % cd /usr/src/redhat

2. Coloque o pacote 'tar.bz2' na sub-pasta SOURCES (tem de substituir o "algures" pela pasta real onde se encontram os ficheiros, como é óbvio).

       % cp /algures/kwave-XXX.tar.bz2 SOURCES

3. Extraia o ficheiro 'spec' dos pacotes e coloque-o na sub-pasta SPEC.

       % tar -xOjf SOURCES/kwave-XXX.tar.bz2 \*.spec
       > SPECS/kwave.spec

4. Deixe o 'rpm' fazer a tarefa de compilação e gerar o RPM do &kwave;. Se só quiser criar um pacote binário, poderá indicar `-bb` em vez de `-ba`, ou apenas `-bs` para criar apenas um pacote de código-fonte.

       % rpmbuild -ba SPECS/kwave.spec

5. Se tudo correr OK, poderá instalar o RPM binário do &kwave;, que estará na pasta BUILD. Se já tiver uma versão instalada do &kwave;, por favor remova-a primeiro ou use o parâmetro `-U` em vez do `-i` para a actualização, em vez da instalação.

       % rpm -ivh BUILD/[arquitectura]/kwave-XXX.[arquitectura].rpm

### Compilar os pacotes RPM a partir do GIT

#### Obter o código-fonte

Para extrair inicialmente o código-fonte, precisa de algum espaço em disco (cerca de 25 MB) numa pasta à sua escolha, do pacote do Git da sua distribuição favorita e de acesso completo à Internet. Se tiver mensagens de erro sobre ligações recusadas, provavelmente escreveu algo de errado ou então o seu fornecedor não lhe deu o acesso total. Um bom local para os ficheiros do código será em `"$HOME/src"`.

1. Primeiro crie a pasta que irá receber a sub-pasta com o código do &kwave; e entre para dentro dela:

       % mkdir -p $HOME/src
       % cd $HOME/src

2. Depois obtenha o último código-fonte do servidor de Git:

       % git clone &url_git_master; kwave

   ou poderá obter uma versão específica com os seguintes comandos:

           % git clone &url_git_master; kwave
           % cd kwave
           % git checkout tags/[marca-versão]

   Poderá descobrir os nomes das marcas de versões na página Web do Git em &url_git_list_tags;. As marcas das versões são sempre composta da palavra `Release-` e do número da versão, com sublinhados em vez de pontos. Por exemplo, "`Release-&version_tag;`" para a v&version;.

Não deverá existir nenhuma pasta chamada `kwave` na pasta para onde deseja transferir o código. Caso contrário, o programa 'git' irá avisar sobre ficheiros já existentes, pelo que a transferência não irá funcionar.

#### Actualizar o código mais recente do Git

O procedimento descrito na secção anterior só é necessário uma vez. Por mais actualizações, é muito mais simples. Basta entrar na pasta onde tem o código extraído e fazer o seguinte para se actualizar para a última versão:

    % git pull

Depois, vá para a secção seguinte e compile como de costume.

Se achar que fez algo de errado com a sua estrutura local de código ou se existirem conflitos durante a actualização e quiser começar a partir de um estado limpo, poderá fazer o seguinte para eliminar todas as alterações locais e voltar para a última versão da ramificação 'master':

    % git clean --force -d
    % git reset --hard
    % git checkout master

#### Compilar

A compilação de um pacote RPM a partir de uma imagem do GIT é bastante simples. O procedimento é quase o mesmo que foi descrito na secção anterior e, como tal, infelizmente também tem o mesmo problema com o `rpmbuild -ta` que o nosso método usa a nível interno. Como no capítulo anterior a `[arquitectura]` representa a plataforma para a qual compilou o pacote, podendo ser algo do tipo `i586`, `i686`, `sparc` ou outra coisa qualquer, e o `XXX` corresponde ao número da versão que transferiu.

Nota para os utilizadores da SuSE: aqui também terá de indicar a pasta `/usr/src/packages` em vez da `/usr/src/redhat`!

Assumindo que já está na pasta de topo do que transferiu a partir do Git, faça o seguinte para criar uma Makefile, o pacote do &kwave; e instalá-lo. Se já tiver instalada uma versão do &kwave;, remova-a primeiro ou use o `rpm -U` em vez do `rpm -i` para actualizar o pacote, em vez de o instalar.

    % mkdir /tmp/kwave-build
    % cd /tmp/kwave-build
    % cmake $HOME/src/kwave
    % make rpm
    % rpm -ivh /usr/src/redhat/BUILD/[arquitectura]/kwave-XXX.[arquitectura].rpm

Se continuar a ter problemas com o `make rpm`, irá encontrar o pacote 'tar.bz2' que foi produzido na `/tmp`. Siga por favor as instruções no capítulo anterior.

### Compilar um pacote DEB para testes e uso pessoal

Se quiser criar um pacote .deb do &kwave;, ⪚ para testar uma versão que ainda não esteja disponível nos repositórios de pacotes oficiais, então poderá criar o seu próprio pacote de forma bastante simples. Primeiro que tudo, terá de instalar alguns pacotes obrigatórios:

    % sudo apt-get install build-essential checkinstall

Depois, poderá instalar as dependências de compilação obrigatórias, fingindo que instala as dependência do pacote oficial do &kwave;:

    % sudo apt-get build-dep kwave

Depois de instalar os pacotes necessários, poderá compilar o &kwave; como descrito nos capítulos acima. Depois de compilar, poderá escrever isto para criar um ficheiro .deb na sua pasta de compilação actual:

    % make deb

O pacote .deb que irá obter com este passo não terá a mesma qualidade que um pacote da sua distribuição oficial terá - é bom o suficiente para instalar e desinstalar o &kwave; para fins de testes e para uso pessoal.

### Compilar pacotes optimizados para o CPU

Se tiver um CPU Pentium, um AMD K6, Athlon ou Athlon-XP, poderá querer usar as optimizações do compilador para criar a sua versão do &kwave; com a possibilidade de correr mais rápido em alguns pontos percentuais. O ganho em velocidade será na ordem dos 30% em alguns sistemas, enquanto as funções que lidam com a manipulação de sinais e todas as funções que façam operações complexas de tempo-frequência (como a FFT e o Audiograma) irão tirar bastante partido disto.

Não precisa de perceber muito sobre programação para usar um compilador optimizado na compilação do &kwave;, mas talvez precise de algum tempo para pôr o compilador a funcionar e instalado.

#### Optimizações do RPM

Poderá compilar facilmente o pacote RPM para o Athlon, Athlon-XP, Pentium e Pentium Pro (entre outros CPU's), usando algumas definições no seu ficheiro `rpmrc`. Tanto poderá modificar o ficheiro `rpmrc` do seu sistema em `/usr/lib/rpm` como o ficheiro `.rpmrc` na sua pasta pessoal. Aqui poderá indicar algumas linhas de opções como as seguintes:

    optflags: i586 -O2 -march=pentium -DNDEBUG -fomit-frame-pointer
    optflags: i686 -O2 -march=pentiumpro -DNDEBUG -fomit-frame-pointer
    optflags: athlon -O2 -march=athlon -DNDEBUG -fomit-frame-pointer
    optflags: k6 -O3 -march=k6 -DNDEBUG -fomit-frame-pointer
    optflags: k7 -O3 -march=athlon-xp -DNDEBUG -fomit-frame-pointer

(Descobri estes truques interessantes em http://www.keywarrior.net/duesti/rpmopt.en.html. Obrigado a Matthias Düsterhöft!).

Isto significa que, numa arquitectura `k7`, o pacote RPM será compilado com `-O3 -march=athlon-xp -DNDEBUG -fomit-frame-pointer` como opções de compilação, e assim por diante; poderá estender ou adaptar essas opções de acordo com as suas próprias necessidades. As definições aplicam-se a todas as secções descritas acima onde é usado o `rpmbuild -ta`, ou onde for para criar um RPM binário a partir de um RPM de código com a opção `rpmbuild --rebuild`.

Se o `rpm` se recusar a instlaar o seu pacote, por não parecer ser o adequado à arquitectura do seu computador, poderá instalar normalmente um pacote optimizado, indicando o parâmetro adicional `--ignorearch` e não se preocupar.

#### Como passar manualmente as opções do optimizador ao compilador

A invocação do compilador é bastante simples. Normalmente é suficiente definir as variáveis de ambiente `CFLAGS` e `CXXFLAGS` da forma correcta e depois compilar como de costume. Para saber as melhores configurações, consulte por favor a documentação na página Web sobre o compilador correspondente.

Se tiver compilado o &kwave; a partir de uma estrutura de código (pacote .tar.bz2 descomprimido ou Git), tem de indicar as opções antes da chamada. Por exemplo:

    % CFLAGS="-O4 -march=athlon-xp -mcpu=athlon-xp -pipe" \
      CXXFLAGS="-O4 -march=athlon-xp -mcpu=athlon-xp -pipe" \
      cmake [pasta de código]

Se tiver recompilado o &kwave; a partir de um pacote RPM de código, siga por favor as instruções na secção anterior.

## Bases sobre áudio digital

Este capítulo deverá dar uma breve introdução sobre as bases do processamento de áudio digital, sem entrar em muitos detalhes. Obviamente, isto poderá estar um pouco incompleto mas, se tiver questões, poderá perguntar na lista de correio do &kwave; ou consultar mais alguma literatura.

### O mundo analógico

Primeiro que tudo, uma pessoa precisa de saber que o mundo é analógico - contudo, os computadores funcionam de forma digital. Como tal, existem várias formas de converter o áudio digital em digital e vice-versa. Como o caminho do digital para o analógico é normalmente a forma inversa da conversão de analógico para digital, só iremos descrever a forma do analógico para o digital.

Conversão do som para 'bits'

Conversão do som para 'bits'

Antes de prosseguir, o áudio analógico tem de ser transformado em sinais electrónicos para poder ser tratado por um computador. Uma forma comum de o fazer é usando um microfone e um amplificador. Esta combinação captura o som (mudanças da pressão do ar) à sua entrada e produz uma tensão eléctrica à sua saída. Quanto maiores as amplitudes das mudanças de pressão, maior a tensão produzida à saída do amplificador. Esta saída também é chamada de 'sinal'. Em vez de um microfone, também poderá usar obviamente outras fontes de áudio. Do mesmo modo, o "amplificador" poderá ser o incorporado na sua placa de som, onde normalmente não o poderá ver.

Conversão para sinais electrónicos

Conversão para sinais electrónicos

Nesta fase, o sinal eléctrico tem três limitações que uma pessoa deverá ter em mente:

1. A amplitude (volume) está limitada a um dado valor máximo. Esta é uma consequência dos amplificadores electrónicos, que só conseguem lidar com tensões até um determinado limite. Não existe nenhum problema, desde que os sons não sejam demasiado altos. Nesse caso, o sinal iria ficar cortado, o que significa que o sinal eléctrico iria entrar em conflito com essas margens, pelo que o resultado ficaria distorcido.

2. A gama de frequências também é limitada. Devido às restrições mecânicas dos microfones e da gama de frequências limitada dos amplificadores, a gama de frequências de um sinal está limitada. Não existem fronteiras restritas a partir das quais o sinal desapareça por completo, mas fora de determinados valores de frequências, a amplitude do sinal diminui cada vez mais. A existência de uma frequência máxima poderá ser compreendida facilmente como uma velocidade limitada para o sinal subir e descer. Ao usar amplificadores e microfones de alta qualidade, os limites poderão ser alargados para intervalos que o ouvido humano já não consiga ouvir o resultado, pelo que deixam de ser interessantes. O ouvido humano normalmente não consegue ouvir sons acima dos 20 kHz.

3. O sinal contém ruído. O ruído é o maior inimigo de quem tiver de lidar com sinais de áudio de qualquer espécie. O ruído é um efeito anaĺógico típico, que faz com que o sinal de áudio seja "pouco definido" e seja incómodo, sendo que está sempre presente e não é possível ser evitado. Uma pessoa poderá tentar usar componentes de alta qualidade que produzam o mínimo de ruído possível, para que ninguém o consiga ouvir. Normalmente o ruído tem um dado volume, pelo que um som interessante deverá ser muito mais elevado face ao ruído. Esta é normalmente chamada de relação sinal-ruído (SNR), sendo que quanto maior for, melhor será a qualidade do som. Os sons que tenham menor volume que o ruído não conseguem ser audíveis.

### Digitalização

Quando quisermos gravar e reproduzir áudio num computador, temos de converter o sinal analógico em dados digitais, em primeiro lugar. Este processo chama-se digitalização. Ele converte um sinal eléctrico para uma sequência de valores digitais.

Digitalização do sinal eléctrico

Digitalização do sinal eléctrico

A conversão poderá ser entendida como uma medida repetitiva do valor do sinal electrónico numa determinada altura do tempo, retirando assim uma amostra do sinal. O resultado é então codificado como um valor digital.

A amostragem poderá ser feita com distâncias arbitrárias ou com intervalos constantes. O último método é muito mais fácil de tratar, pelo que é usado normalmente com uma taxa constante - a dita taxa de amostragem. As taxas de amostragem mais normais são 8000, 11025, 22050, e 44100 amostras por segundo. Na prática, as taxas de amostragem são também referidas como frequências e medidas em Hz ou kHz.

A taxa de amostragem limita a frequência máxima que um sinal digital consegue representar. Devido ao teorema de Shannon, a frequência útil mais elevada é metade da taxa de amostragem; como tal, com uma taxa de amostragem de 44.1 kHz, não é possível fazer uma amostra de sinais com mais de 22 kHz. Para evitar uma violação dessa regra de meia-amostra, a sua placa de som já tem filtros incorporados que retiram as frequências superiores a metade da taxa de amostragem usada.

Sinal amostrado

Sinal amostrado

### Codificação da Amostra

O resultado do processo de amostragem digital é uma sequência de amostras individuais. Uma amostra é uma representação digital do valor de um sinal numa determinada altura.

O valor de uma amostra poderá ser interpretado e codificado de várias formas. A mais simples é a codificação linear. Isto significa que o valor de cada amostra representa directamente o valor do sinal analógico, multiplicado por um factor constante. Isto é fácil de tratar, mas tem a desvantagem que o ruído será audível, especialmente em baixas amplitudes, onde incomoda mais, e é menos audível nas altas amplitudes, onde é menos audível.

Uma forma de reduzir a influência do ruído é a codificação não-linear. Isto significa que as menores amplitudes são amplificadas antes do processamento. Como as amplitudes menores são amplificadas, a sua distância face ao ruído aumenta, melhorando assim a qualidade. Os métodos mais comuns para isto são as codificações Lei-A e Lei-U - que são curvas-padrão de amplificação logarítmica, usadas na telefonia digital (norma ITU G.711).

Codificação Não-Linear

Codificação Não-Linear

### Formatos de Amostras

As amostras poderão ser gravadas em diferentes formatos e precisões. As mais comuns são os formatos inteiros (vírgula fixa), que guardam os valores com quantizações fixas. Dependendo de onde definir a linha do zero, terá de ser distinguido entre sem sinal (apenas valores positivos, sendo que a "linha do zero" fica a meio da gama numérica) e com sinal (números positivos e negativos).

Formato com Sinal

Formato com Sinal

Formato sem Sinal

Formato sem Sinal

Como a quantização perde alguma precisão, produz algum ruído, denominado como ruído de quantização. Este tipo de ruído tem mais efeito nas baixas amplitudes, pelo que este método de armazenamento de amostras não é óptimo, mas é muito simples e rápido de tratar (os computadores são rápidos a calcular com números de vírgula fixa).

A segunda forma de codificar as amostras é com números de vírgula flutuante. Com estes números, o ruído é disseminado por igual em todas as gamas de amplitudes e tem vantagens especiais nas baixas amplitudes. Contudo, este formato é muito mais lento quando é usado no processamento (os computadores são muito mais lentos nos cálculos com valores de vírgula flutuante, em comparação com os números de vírgula fixa).

O &kwave; usa internamente o formato inteiro com sinal com uma precisão de 24 bits e guardado em inteiros de 32 bits. Isto tem a vantagem de consumir mais memória quando se processar ficheiros com menor precisão (⪚ 8 bits), mas o processamento de números de 32 bits é muito rápido e deixa também algumas reservas para os cálculos internos, dado que só são usados normalmente 24 bits.

## Usar o &kwave;

Aqui está uma pequena imagem da janela principal do &kwave;, para que possa ter uma impressão sobre a aparência do &kwave;...

Aqui está uma imagem do &kwave; Imagem da Janela Principal

### Modo da Interface do Utilizador

Dependendo das suas preferências pessoais ou casos de uso, poderá configurar como o &kwave; lida com vários ficheiros abertos. Poderá mudar esta configuração na hora com o menu Configuração Mostrar os Ficheiros Em... .

As três opções possíveis são:

- Janelas Separadas (SDI): Ao usar o modo de Single Document Interface - Interface de Documentos Individuais (SDI), cada ficheiro será apresentado numa janela principal separada. imagem do &kwave; no modo SDI Imagem do modo SDI

- Mesma Janela (MDI): Ao usar o modo Multi Document Interface (MDI), existe apenas uma janela principal do &kwave;, mas dentro desta terá uma área que mostra sub-janelas, as quais poderão ser dimensionadas, movidas, colocadas lado-a-lado, em cascata ou minimizadas.

  Poderá seleccionar uma janela a partir do menu Janelas ou circular pelas sub-janelas com &Ctrl;Tab. imagem do &kwave; no modo MDI Imagem do modo MDI

- Páginas: Esta é uma variante da interface MDI, onde os ficheiros aparecem em páginas separadas. Poderá reconhecer este modo de alguns navegadores Web conhecidos.

  Poderá activar uma página com o menu Janelas ou circular pelas páginas com o &Ctrl;Tab. imagem do &kwave; no modo de páginas Imagem do modo de páginas

### Configuração da Memória

Ao usar o &kwave; pela primeira vez, deverá ir para a janela de configuração da memória e modificar as definições de acordo com as suas necessidades e com a memória instalada no seu computador. Poderá aceder a essa janela em Configuração Memória... .

Aqui está uma imagem da janela de configuração da memória do &kwave; Imagem da Janela de Configuração da Memória

O &kwave; é capaz de usar dois tipos de memória: a memória física e a virtual.

A memória física é a memória (RAM) que está instalada no seu computador. Deverá limitar a utilização da memória física a um tamanho razoável; como regra de algibeira, metade da memória instalada deverá estar OK. Se definir o limite demasiado alto, o Linux irá retirar a memória às outras aplicações, o que significa que terá de trocar essa memória das outras aplicações com dados em disco (por paginação), o que é substancialmente mais lento. Se definir o limite demasiado baixo, poderá perder alguma performance ao lidar com ficheiros grande, porque irá usar menos memória física do que poderia usar de facto.

Se activar a memória virtual, o &kwave; é capaz de carregar e processar ficheiros maiores que a quantidade de memória física instalada. O &kwave; faz isto através da utilização de ficheiros temporários numa pasta específica, o que será muito mais rápido e mais cooperativo com as outras aplicações do que usa a paginação do sistema operativo. A pasta que configurar deverá constar no seu disco rígido local.

### Linha de Comandos

#### Lista dos Ficheiros ou Comandos

Se iniciar o &kwave; a partir da linha de comandos, poderá indicar uma lista dos ficheiros a abrir. O primeiro ficheiro indicado será aberto em primeiro lugar, seguido dos outros ficheiros. Cada ficheiro será aberto numa janela ou sub-janela nova própria da mesma instância do &kwave;. Se indicar caracteres especiais (* e ?), poderá abrir um grande conjunto de ficheiros de uma vez.

Por exemplo, o seguinte comando inicia o &kwave; e abre todos os sons do gestor de janelas do KDE, cada um numa janela nova ou sub-janela:

    % kwave /usr/share/sounds/KDE-*.ogg

Também é possível passar ao &kwave; comandos de texto, codificados como um URI

identificador de recurso universal

especial, sendo isto descrito numa secção posterior.

#### Tipo de GUI

O parâmetro `--gui-type=`SDI`|`MDI`|`TAB`` permite ao &kwave; iniciar-se num dos três modos de GUI possíveis: SDI, MDI ou páginas.

#### Opções da plataforma Xt

Para além de uma lista de ficheiros, também poderá indicar uma lista de opções da plataforma Xt, como o `-geometry` para indicar o tamanho e/ou posição da primeira janela aberta do &kwave; e/ou a `-display` para iniciar o &kwave; num ecrã diferente.

Por exemplo, o seguinte comando inicia uma janela do &kwave; com uma largura inicial de 600 pixels e uma altura de 400 pixels, estando o contorno direito posicionado a 30 pixels do extremo direito e a 0 pixel do topo do ecrã.

    % kwave -geometry 600x400-30+0

#### Opções do Arranque

Com a opção `--disable-splashscreen`, poderá desactivar o ecrã inicial que aparece quando arrancar o &kwave;. Isto poderá ser útil quando iniciar o &kwave; a partir de outro programa.

A opção `--iconic` da linha de comandos permite ao &kwave; iniciar-se minimizado (como um ícone). Isto poderá ser útil quando quiser iniciar o &kwave; sem interagir com a GUI, ⪚ quando o executar a partir de um programa. Esta opção também desactiva o ecrã inicial, implicitamente.

Ao usar a opção da linha de comandos `--logfile=`kwave.log``, poderá registar a sequência de acções de uma sessão do &kwave; num ficheiro. Isto é útil para a depuração, sendo que lhe poderão pedir um destes ficheiros quando quiser relatar um erro.

### Abrir e gravar ficheiros

A abertura de ficheiros com o &kwave; funciona como nas outras aplicações, sendo que pode

- indicar uma lista de ficheiros na linha de comandos, ao iniciar o &kwave;,

- abrir uma janela vazia do &kwave; (por exemplo, com o &Ctrl;W Ficheiro Novo... ) e colocar um ficheiro nela por arrastamento ou então

- abrir um ficheiro através do menu com a opção &Ctrl;O Ficheiro Abrir

- ou um dos últimos ficheiros abertos recentemente em Ficheiro Abrir um Recente

- gravar o ficheiro actual com &Ctrl;S Ficheiro Gravar ,

- gravar com um nome diferente em &Shift;&Ctrl;S Ficheiro Gravar Como...

- gravar todas as áreas separadas por marcações, em cada ficheiro próprio, com a opção Ficheiro Gravar Blocos...

- ou apenas a selecção actual com Ficheiro Gravar Selecção...

#### Formatos de ficheiros suportados

O &kwave; suporta os seguintes formatos de ficheiros:

- O formato de ficheiro favorito do &kwave; é (como poderá adivinhar pelo nome) o `.wav`. Este formato é muito comum aos outros "sistemas operativos" e é também usado, a título comum, dentro do ambiente do KDE.

- O segundo formato que o &kwave; suporta é o "ASCII". Poderá exportar e importar a partir do ASCII. Tenha atenção que a gravação neste formato poderá produzir ficheiros muito grandes! O formato do ficheiro será descrito mais abaixo.

- A importação de `.mp3` e `.mp2` está disponível através da biblioteca libmad, para a descodificação do MP3, em conjunto com a id3lib para descodificar as marcas ID3 e o lame para a codificação.

- Importação e exportação do Ogg/Vorbis (`*.ogg`). Veja mais detalhes em &url_ogg_vorbis;.

- Importação do FLAC (`*.flac`). Veja mais detalhes em &url_flac;.

- Adicionalmente, poderá importar formatos de ficheiros como o `*.8svx` (Formato de Ficheiros de Som IFF/8SVX do Amiga), `*.au` (NeXT, Áudio da Sun), `*.aiff` (Formato de Intercâmbio de Áudio), `*.avr` (Formato de Ficheiros de Investigação Visual de Áudio), `*.caf` (Formato do Core Audio), `*.nist` (Formato de Ficheiros de Áudio NIST SPHERE), `*.sf` (Berkeley, IRCAM, Formato de Som Carl), `*.smp` (Formato de Visão de Amostras), `*.snd` (NeXT, Áudio da Sun), `*.voc` (Creative Voice), entre outros, através do 'plugin' do audiofile.

#### Converter de e para .wav

A melhor forma de lidar com outros formatos que não os suportados pelo &kwave; é usar um programa de conversão externo. Um bom conjunto de ferramentas para tal encontra-se no pacote SoX, sendo que este possui também alguma boa documentação!

Os planos para o futuro incluem o suporte para filtros de importação e exportação para mais formatos, e provavelmente alguns filtros que usem um programa definido pelo utilizador, que faça uma chamada a um filtro externo, para que mesmo os formatos não suportados pelo `SoX` (como o MP3) possam ser lidos e/ou gravados.

#### Formato dos ficheiros ASCII

O formato ASCII é bastante útil para fins científicos e educativos. Devido ao seu formato simples, tanto poderá criar ficheiros simples você mesmo, com um editor, como usar o resultado de uma outra aplicação devidamente convertido para ASCII. Dado que o formato é realmente simples, não deverá ter grandes problemas a criar um conversor, pelo que a maioria das aplicações científicas também poderão ter alguma espécie de formato ASCII próprio para exportação.

O formato de um ficheiro ASCII é bastante simples e tem as seguintes regras:

1. No início da linha vem um bloco de propriedades, com uma por cada linha.

2. Cada linha de propriedade começa por `##`.

3. Depois das propriedades vem uma lista de amostras, com uma amostra por cada linha. Ao usar vários canais, as amostras são separadas por vírgulas.

4. As linhas poderão terminar com um carácter CR e/ou um LF (para que os ficheiros do DOS também possam ser suportados). Contudo, na gravação, os ficheiros serão sempre gravados com o carácter LF como fim de linha.

5. As linhas e caracteres em branco a seguir a um `#` são tratadas como comentários e são assim ignoradas.

6. Os valores terão de ser indicados como um inteiro com sinal com uma gama de 24 bits, por ser o formato de armazenamento interno do &kwave;.

7. Tudo o que estiver a seguir a um `#` (excepto as linhas de propriedades, descrito acima) será tratado como um comentário e será assim ignorado. As linhas em branco serão também ignoradas.

Aqui está um exemplo de um ficheiro ASCII simples que representa uma onda sinusoidal com onze amostras:

##### conteúdo de um ficheiro ASCII com uma única onda sinusoidal

    ## 'rate'=44100
    ## 'tracks'=2
    ## 'bits'=16
    ## 'length'=11
    ## 'Date'='2013-11-09'
    ## 'Software'='Kwave-0.8.11 para o KDE 4.11.3'
      5930496,   5930496 #            0
            0,   8388352 #            1
     -5930752,   5930496 #            2
     -8388608,         0 #            3
     -5930752,  -5930752 #            4
            0,  -8388608 #            5
      5930496,  -5930752 #            6
      8388352,         0 #            7
      5930496,   5930496 #            8
            0,   8388352 #            9
     -5930752,   5930496 #           10
    # EOF

### Criar um Novo Ficheiro

Poderá criar um novo ficheiro vazio com a opção do menu Ficheiro Novo... .

Aqui está uma imagem da janela de novos ficheiros do &kwave;. Imagem da Janela de Novo Ficheiro

Poderá seleccionar a taxa de amostragem, a resolução em 'bits' por amostra e o número de faixas. Por omissão, o formato do ficheiro será o ".wav", mas poderá ser alterado à mesma na altura em que gravar o ficheiro.

O tamanho do sinal poderá ser definido por tempo (horas, minutos, segundos) ou pelo número de amostras. Adicionalmente, poderá seleccionar o mesmo em relação ao tamanho máximo possível, o qual está limitado pela memória disponível e pelo limite interno do &kwave; (2 GB).

### A gravar

O &kwave; é capaz de gravar dados de áudio a partir de várias fontes, com todo o tipo de taxas de amostragem, formatos de amostras e outros modos que o seu 'hardware' de som suporte. De momento, o &kwave; grava através da interface de som antiga - o OSS e, desde a versão 0.7.4, também suporta a interface ALSA, mais poderosa e o método preferido para o 'kernel' do Linux desde a versão 2.6.

Poderá aceder à gravação pelo menu em Ficheiro Gravar .

Aqui está uma imagem da janela de gravação do &kwave;, mostrando a primeira página com os controlos de gravação durante uma sessão de gravação em execução. Como na maioria das janelas do &kwave;, poderá obter alguma ajuda ou ver as dicas dos controlos.

Aqui está uma imagem da janela de gravação do &kwave; Imagem da Janela de Gravação

Aqui terá os seguintes controlos:

- Pré-Gravação: Se a funcionalidade de pré-gravação do &kwave; estiver activada e a gravação tiver sido iniciada, o &kwave; grava os dados numa memória interna que poderá ter alguns segundos de tamanho. Se carregar no botão Gravar ( botão para gravar ) de novo, então a gravação irá começar de facto, mantendo também esses dados pré-gravados. Isto é útil, por exemplo, se quiser gravar a sua música favorita a partir do rádio, mas poderá reconhecer tarde demais que a música já começou. Nesse caso, poderá carregar à mesma no botão para gravar e apanhar o início da música que o &kwave; já pré-gravou anteriormente, pelo que não irá perder mais o início.

- Tempo de Gravação: Se a duração da gravação deverá ser limitada com base num dado tempo, poderá activar esta opção e seleccionar um tempo em horas, minutos e segundos para a sua gravação. Se esta opção não estiver activa, a gravação irá correr até que carregue no botão Parar ( botão para parar ).

- Começar a: Se esta opção estiver activada, poderá definir uma data e hora em que irá começar a gravação. Por favor, tenha em mente que, se o tempo configurado for no passado, a gravação será iniciada imediatamente.

- Disparo da Gravação: Se estiver activo, a gravação começa apenas se o volume à entrada ultrapassar um dado limite, o qual poderá ser definido de 0 a 100% do volume máximo de entrada. Isto é útil se não quiser gravar o silêncio inicial. (Sugestão: combine isto com a funcionalidade de pré-gravação, mencionada acima, para apanhar alguns segundos antes do disparo, para que não perca os aumentos e diminuições graduais silenciosos.)

- O botão Novo ( botão novo ) está activo quando a gravação não está em execução ou quando terminou, para eliminar o conteúdo actual do ficheiro e começar de novo.

- O botão Parar ( botão para parar ) está activo quando a gravação ou pré-gravação está em execução ou o &kwave; está à espera do disparo. Se carregar, o progresso actual será interrompido.

- O botão Pausa ( botão para parar ) está activo quando a gravação ou pré-gravação está em execução. Da primeira vez que carregar nele, a gravação será interrompida e o botão irá começar a piscar. Quando carregar nele de novo, o botão irá parar de piscar e a gravação será retomada imediatamente, sem ter de esperar por um disparo.

- O botão Gravar ( botão para gravar ) inicia a gravação e/ou pré-gravação, dependendo das funcionalidades activadas acima:

  1. Se não usar a pré-gravação ou o nível de disparo, a gravação irá começar assim que carregar no botão para gravar.

  2. Se a pré-gravação não for usada e tiver definido um nível de disparo, o primeiro carregamento fará com que o &kwave; espere por atingir o nível de disparo. Enquanto espera, poderá forçar o início automático da gravação, carregando para tal no botão de novo; caso contrário, a gravação irá começar automaticamente assim que o nível de disparo for atingido.

  3. Se a pré-gravação estiver activa, o primeiro botão apenas inicia a pré-gravação e o segundo botão começa realmente a gravação.

### Reprodução

Dependendo das opções de compilação, o &kwave; é capaz de reproduzir som através de um dos seguintes métodos de reprodução:

- ALSA (Advanced Linux Sound Architecture): Substituto do OSS - suporta mais funcionalidades e mais 'hardware'. Poderá entrar em conflito com o KDE ou com outras aplicações, como acontece no OSS, mas tem um 'plugin' chamado "dmix" como alternativa. As versões mais recentes do ALSA usam um 'plugin' do tipo do "dmix" por omissão, pelo que deverá ser a melhor escolha para si!

- OSS (Open Sound System): A implementação mais antiga do Linux, sendo capaz de reprodução de som em mono e estéreo. Descontinuado desde o 'kernel' 2.6 do Linux, continua à mesma a ser altamente difundido. Poderá colidir com o KDE ou outras aplicações de som, dado que só uma aplicação poderá usar a reprodução do OSS de cada vez !

Antes de tentar reproduzir os sons, deverá dar uma vista de olhos sobre a janela de configuração da reprodução:

Aqui está uma imagem da janela de configuração da reprodução do &kwave; Imagem da Janela de Configuração da Reprodução

De momento, o &kwave; suporta apenas a reprodução de 8 e 16 bits através da interface de OSS, mas também é o formato que muito do seu 'hardware' de som suporta através da interface do ALSA.

Se o seu ficheiro de som usar mais ou menos canais do que os permitidos pela sua placa de som, todos os canais serão misturados em conjunto durante a reprodução. Por exemplo, se tiver um ficheiro com três canais e usar a reprodução em estéreo, o canal esquerdo irá tocar o canal 0 (superior) e metade do canal 1 (central), sendo que o direito irá tocar a outra metade do canal 1 (central) e o canal 2 (inferior).

Para obter uma reprodução suave sem interrupções, deverá também definir o tamanho do 'buffer' (memória intermédia) com um valor apropriado. Se tiver problemas com a reprodução a ser interrompida, deverá aumentar aqui o tamanho do 'buffer'. Contudo, quando maior o 'buffer', maior será a latência entre o som audível e a apresentação da posição de reprodução na área do sinal.

A janela de configuração da reprodução também oferece um botão para reproduzir um som de testes simples. Deverá ouvir um tom de 440Hz que se passeia por todos os altifalantes, de um para o outro.

Assim que tiver configurado a reprodução, poderá usar os controlos de reprodução da janela principal do &kwave;, através do menu Reproduzir ou com os atalhos de teclado:

- P Reproduzir Iniciar : Inicia a reprodução da selecção actual, a partir do seu início, ou de todo o ficheiro desde a posição actual do cursor, caso não esteja nada seleccionado. Reproduz apenas uma vez.

- Reproduzir Ciclo : Como o anterior, mas repetindo em ciclo.

- Espaço Reproduzir Pausa : Coloca a reprodução em pausa na posição actual. Só está disponível quando a reprodução estiver em curso.

- Espaço Reproduzir Continuar : Retoma a reprodução da posição em que foi colocado em pausa. Só está disponível se a reprodução estiver em pausa.

- Esc Reproduzir Parar : Pára a reprodução, voltando ao início da selecção.

### Propriedades do Ficheiro

O &kwave; é capaz de lidar com vários meta-dados que estejam guardados dentro de um ficheiro de áudio. Ele irá tentar importar e exportar o máximo de informação possível. Por exemplo, se importar um ficheiro MP3 com marcas de ID3, poderá manter essa informação ao exportar para um ficheiro WAV. Se o &kwave; perder informação na gravação, irá emitar um aviso.

Poderá ver e modificar os meta-dados em Editar Propriedades do Ficheiro... . Aí também poderá alterar alguns pontos, como o formato das amostras, a resolução e a compressão.

Aqui está uma imagem da janela de propriedades do ficheiro do &kwave; Imagem da Janela de Propriedades do Ficheiro

### Ampliação e navegação

O &kwave; oferece várias formas de ampliar e navegar, com atalhos de teclado associados, comandos de menus, botões da barra de ferramentas ou com o rato. As seguintes secções deverão dar uma ideia geral de como usar todas estas funções.

#### Ampliar e reduzir

- ampliar para o sinal inteiro: selecciona um factor de ampliação que torna todo o sinal visível na janela actual.

  - item de menu: Ver Ampliar para o sinal inteiro

  - botão da barra de ferramentas: botão para ampliar para tudo

- ampliar para 100%: amplia para uma escala em que cada amostra é representada como um pixel no ecrã.

  - item de menu: Ver Ampliar a 100%

  - botão da barra de ferramentas: botão de ampliação para 100%

- ampliar: amplia para ver mais detalhes; a escala de ampliação tem um factor de 3.

  - item de menu / atalho de teclado: &Ctrl;+ Ver Ampliar

  - botão da barra de ferramentas: botão para ampliar

- reduzir: reduz para ver menos detalhes; o factor de redução é de 3.

  - item de menu / atalho de teclado: &Ctrl;- Ver Reduzir

  - botão da barra de ferramentas: botão para reduzir

- ampliar para a selecção: amplia para um factor em que a área seleccionada está completamente visível na área actual.

  - item de menu / atalho de teclado: &Ctrl;Espaço Ver Ampliar para a Selecção

  - botão da barra de ferramentas: botão de ampliação da selecção

- seleccionar a ampliação predefinida: seleccione um factor de ampliação da lista de ampliações na barra de ferramentas.

#### Deslocar-se para a esquerda e direita

- deslocar para a esquerda: desloca-se para o início do sinal em 1/3 da janela actual.

  item de menu / atalho de teclado: Esquerda Ver Deslocar para a esquerda

  botão da barra de ferramentas: botão de deslocamento para a esquerda

- deslocar para a direita: desloca-se para o fim do sinal em 1/3 da janela actual.

  item de menu / atalho de teclado: Direita Ver Deslocar para a direita

  botão da barra de ferramentas: botão de deslocamento para a direita

- página anterior: desloca-se para a posição imediatamente anterior à vista actual (para a esquerda).

  item de menu / atalho de teclado: Page Up Ver Página Anterior

  botão da barra de ferramentas: botão da página anterior

- página seguinte: desloca-se para a posição imediatamente posterior à vista actual (para a direita).

  item de menu / atalho de teclado: Page Down Ver Página Seguinte

  botão da barra de ferramentas: botão da página seguinte

- para o início: desloca a vista actual para que se coloque no início do sinal.

  item de menu / atalho de teclado: &Ctrl;Home Ver Início

- para o fim: desloca a vista actual para que se coloque no fim do sinal.

  item de menu / atalho de teclado: &Ctrl;End Ver Fim

#### Usar a visão geral

O ecrã principal do &kwave; mostra uma pequena visão geral de todo o sinal acima da barra de deslocamento horizontal da janela principal. Esta visão geral também oferece alguma funcionalidade de navegação:

- 'click' simples do botão esquerdo do rato: move directamente a vista actual para a posição onde carregou.

- duplo-'click' do botão esquerdo do rato: move directamente a vista actual para a posição onde carregou e amplia automaticamente.

- duplo-'click' do botão esquerdo do rato e com o &Shift; carregado: move directamente a vista actual para a posição onde carregou e reduz automaticamente.

#### Ampliação vertical

Poderá ampliar a vista actual na vertical se carregar na tecla Alt e deslocar a roda do rato.

### Como seleccionar

O &kwave; permite-lhe seleccionar uma gama contínua de amostras, assim como qualquer combinação de canais (se estiver a editar um ficheiro multi-canais). Ao seleccionar uma gama de amostras (ao longo do tempo), todos os seguintes comandos ficarão limitados a esse intervalo e, ao desmarcar um canal, o seu conteúdo não será alterado.

#### Seleccionar os canais

A activação ou desactivação de um canal é bastante simples. Basta carregar no símbolo da luz, do lado esquerdo do sinal, para comutar o seu estado:

luz verde uma luz verde significa "activo", enquanto

luz vermelha uma luz verde significa "inactivo".

Nota: Se um canal estiver deseleccionado, também não estará audível para reprodução!

#### Seleccionar amostras

Se seleccionar uma gama de amostras no &kwave;, essa gama será inclusiva. Isto significa que a primeira e a última amostras seleccionadas também pertencem à selecção e serão usadas para as seguintes acções. Por isso, mesmo que não tenha seleccionado um intervalo, mas apenas uma única amostra, a selecção nunca estará realmente "vazia". Por isso, se por exemplo não ver nenhum intervalo seleccionado, a função "apagar" aplica-se apenas a essa única amostra.

A forma mais simples de seleccionar um intervalo de amostras é através do rato. Funciona como está habituado nas outras aplicações: basta carregar com o botão esquerdo do rato no ponto em que deseja iniciar a selecção e largar o botão onde quiser que ela termine.

Se quiser ajustar ou mover o início ou fim da selecção, poderá mover o cursor do rato para perto do início ou fim da selecção, até que mude do cursor normal da seta para a seta esquerda-direita, e depois carregue no botão esquerdo do rato para ajustar.

Também poderá alargar ou encolher a selecção para um dado ponto específico, mantendo carregada a tecla &Shift;, enquanto carrega com o botão esquerdo do rato. Dependendo do extremo que estiver mais próximo, será ajustada a posição do extremo esquerdo ou direito da selecção.

Aqui estão algumas funções disponíveis no menu e, obviamente, alguns atalhos de teclado:

- seleccionar todo o sinal: &Ctrl;A Editar Selecção Tudo

- remover todas as selecções e não seleccionar "nada": N Editar Selecção Nada

- a área visível de momento: V Editar Selecção Visível

- o bloco seguinte de amostras, a começar uma amostra após o fim da selecção actual e com o mesmo tamanho: &Shift;+ Editar Selecção Seguinte

  (Sugestão: use a tecla "+" do teclado numérico!)

- o bloco anterior de amostras, a terminar uma amostra antes do fim da selecção actual e com o mesmo tamanho: &Shift;- Editar Selecção Anterior

  (Sugestão: use a tecla "-" do teclado numérico!)

- expandir a selecção até ao início do sinal (primeira amostra): &Shift;Home Editar Selecção Até ao início

- expandir a selecção até ao fim do sinal (última amostra): &Shift;End Editar Selecção Até ao fim

- expandir a selecção da esquerda e direita até à legenda seguinte (ou início/fim do sinal, caso não exista nenhuma), a começar na posição actual do cursor: E Editar Selecção Expandir até às legendas

- seleccionar a área entre as duas legendas seguintes à direita da selecção actual ou até ao fim do sinal: &Shift;&Ctrl;N Editar Selecção Até às legendas seguintes

- seleccionar a área entre as duas legendas anteriores à esquerda da selecção actual ou até ao início do sinal: &Shift;&Ctrl;P Editar Selecção até às legendas anteriores

### Área de Transferência

O &kwave;, desde a v0.8.1, usa a área de transferência do KDE. Desta forma, é possível trocar dados de áudio entre diferentes janelas do &kwave;. Também é possível trocar dados entre o &kwave; e outras aplicações de áudio, dependendo da sua capacidade de usar a área de transferência do KDE.

Quando copiar os dados para a área de transferência, através da função `Copiar`, o &kwave; usa o tipo MIME `audio/vnd.wave` como formato de dados, em conformidade com o RFC 2361, que é o mesmo que o formato conhecido `wav`. Ao colar a partir da área de transferência para o &kwave;, todos os formatos de dados que estejam disponíveis como formatos de importação de ficheiros são suportados, como por exemplo o Ogg/Vorbis, FLAC, entre outros.

### Arrastar e Largar

O &kwave; suporta o protocolo de arrastamento ('drag-and-drop') do KDE. Isto permite-lhe abrir ficheiros, bastando para tal colhê-los numa janela do `konqueror` ou do ecrã e largá-los sobre uma janela do &kwave;.

Por favor lembre-se que, se largar um ficheiro sobre uma janela do &kwave; que já tenha um ficheiro aberto, o ficheiro actualmente aberto será fechado e depois será então aberto o ficheiro que largou sobre a aplicação. Se não quiser isto, deverá abrir primeiro uma nova janela vazia do &kwave;.

Também poderá seleccionar uma gama de amostras, arrastá-las e largá-las sobre uma janela do &kwave;. Por omissão, a operação de arrastamento é feita no modo de movimento, onde a gama seleccionada é removida do local original e inserida na posição de destino. Ao carregar na tecla Ctrl, poderá modificar isto e arrastar no modo de cópia em alternativa.

## Automatização e Programação com o &kwave;

O &kwave;, desde a sua primeira versão, usa uma linguagem de comandos de texto interna. Esta linguagem de comandos é usada internamente para o tratamento dos menus, o controlo da interface, para os efeitos incorporados e para a invocação de 'plugins'. Os comandos serão descritos mais tarde na secção da .

### Sintaxe Geral

- Todos os comandos consistem num nome de comando e numa lista de parâmetros opcional entre parêntesis, dependendo do comando.

- Os caracteres permitidos para os nomes dos comandos são as letras, números e os dois-pontos. Os comandos fazem distinção entre maiúsculas e minúsculas e são sempre em minúsculas.

- Os parâmetros dentro de uma lista de parâmetros são separados por vírgulas.

- Os parâmetros numéricos poderão ser dados como números de vírgula fixa ou flutuante, usando o ponto como separador decimal.

- Os parâmetros de texto normalmente são recortados (todos os espaços em branco no início e no fim são removidos). Se isto não for o pretendido, poderá envolver os textos entre aspas ("). Se um parâmetro de texto tiver caracteres especiais (como o ,, ;, # ou o próprio \), estes caracteres especiais terão de ser antecedidos de um \.

- Poderá concatenar vários comandos numa lista de comandos, usando um ; como separador.

Exemplo:

    fileinfo(Comentários,"Isto é um comentário de \"exemplo\".")

Este exemplo consiste no comando `fileinfo` e tem dois parâmetros: a palavra-chave `Comentários` e o texto `"Isto é um comentário de \"exemplo\"."`. (Estes parâmetros são explicados na secção correspondente, na referência de comandos).

### Usar a Linha de Comandos

Para além as opções da linha de comandos indicadas na secção Linha de Comandos, as quais são usadas para iniciar o &kwave; no modo minimizado ou sem ecrã inicial, também poderá passar comandos de texto na linha de comandos, codificados com um formato especial de URI's:

`kwave:`comando`[?`parâmetro`[,`parâmetro` ...] ]`

As regras para transformar um comando de texto do &kwave; num URI válido são as seguintes:

- O URI começa com a palavra `kwave`, seguida de um : e do nome do comando.

- Se o comando tiver parâmetros, têm de ser adicionados a seguir ao nome do comando, usando um ? como separador.

- Poderá adicionar vários parâmetros com um , como separador.

- Todos os caracteres especiais num nome de comando têm de estar codificados como URL's. Aqui está uma lista das traduções:

  ### Tabela de Tradução da Codificação de URL's

  original | codificado | &no-i18n-unicode-0x0020; | original | codificado | &no-i18n-unicode-0x0020; | original | codificado | &no-i18n-unicode-0x0020; | original | codificado
  (espaço) | `&no-i18n-urlenc-20;` | &no-i18n-unicode-0x0028; | `&no-i18n-urlenc-28;` | &no-i18n-unicode-0x003A; | `&no-i18n-urlenc-3A;` | &no-i18n-unicode-0x005C; | `&no-i18n-urlenc-5C;`
  &no-i18n-unicode-0x0021; | `&no-i18n-urlenc-21;` | &no-i18n-unicode-0x0029; | `&no-i18n-urlenc-29;` | &no-i18n-unicode-0x003B; | `&no-i18n-urlenc-3B;` | &no-i18n-unicode-0x005D; | `&no-i18n-urlenc-5D;`
  &no-i18n-unicode-0x0022; | `&no-i18n-urlenc-22;` | &no-i18n-unicode-0x002A; | `&no-i18n-urlenc-2A;` | &no-i18n-unicode-0x003C; | `&no-i18n-urlenc-3C;` | &no-i18n-unicode-0x005E; | `&no-i18n-urlenc-5E;`
  &no-i18n-unicode-0x0023; | `&no-i18n-urlenc-23;` | &no-i18n-unicode-0x002B; | `&no-i18n-urlenc-2B;` | &no-i18n-unicode-0x003D; | `&no-i18n-urlenc-3D;` | &no-i18n-cmd_next; | `&no-i18n-urlenc-5F;`
  &no-i18n-unicode-0x0024; | `&no-i18n-urlenc-24;` | &no-i18n-unicode-0x002C; | `&no-i18n-urlenc-2C;` | &no-i18n-unicode-0x003E; | `&no-i18n-urlenc-3E;` | &no-i18n-unicode-0x0060; | `&no-i18n-urlenc-60;`
  &no-i18n-unicode-0x0025; | `&no-i18n-urlenc-25;` | &no-i18n-unicode-0x002D; | `&no-i18n-urlenc-2D;` | &no-i18n-unicode-0x003F; | `&no-i18n-urlenc-3F;` | &no-i18n-unicode-0x007B; | `&no-i18n-urlenc-7B;`
  &no-i18n-unicode-0x0026; | `&no-i18n-urlenc-26;` | &no-i18n-unicode-0x002E; | `&no-i18n-urlenc-3E;` | &no-i18n-unicode-0x0040; | `&no-i18n-urlenc-40;` | &no-i18n-unicode-0x007C; | `&no-i18n-urlenc-7C;`
  &no-i18n-unicode-0x0027; | `&no-i18n-urlenc-27;` | &no-i18n-unicode-0x002F; | `&no-i18n-urlenc-2F;` | &no-i18n-unicode-0x005B; | `&no-i18n-urlenc-5B;` | &no-i18n-unicode-0x007D; | `&no-i18n-urlenc-7D;`
  &no-i18n-unicode-0x007E; | `&no-i18n-urlenc-7E;`

### Ficheiros de Programas do &kwave;

#### Estrutura Geral

Um programa do &kwave; consiste numa lista de linhas, onde cada linha poderá ser:

- um único comando,

- uma lista de comandos, com dois ou mais comandos separados por ;.

- um comentário,

- uma legenda

- ou uma linha vazia, contendo apenas espaços

#### Comentários e Linhas em Branco

Todos os caracteres a seguir a um # (excepto, quando for usado entre aspas ou quando estiver 'escapado') são tratados como comentários, sendo ignorados de forma silenciosa.

As linhas que tiverem apenas espaços em branco ou comentários também são ignoradas.

#### Terminação

Um programa do &kwave; termina quando todos os comandos tiverem sido executados com sucesso e sem erros, ou quando um comando tiver devolvido um código de erro. Não existe nenhum comando especial para interromper a execução de um programa. Se quiser implementar uma possibilidade para o utilizador terminar um programa, poderá usar o comando `msgbox`(``texto``). Isto mostra uma janela de mensagem com os dois botões OK (que permite ao programa prosseguir) e Cancelar (que devolve um código de erro e termina o programa).

#### Legendas

As linhas que consistam apenas num identificador, seguido de um : são chamadas de legendas. As mesmas poderão ser referenciadas no programa com a palavra-chave especial `GOTO`

Nota: Não misture por favor a palavra-chave `GOTO` com o comando de texto `goto` (``posição``) !

, o que fará com que a execução do programa continue na localização dessa legenda (ver o exemplo abaixo).

Uma linha que tiver uma legenda não deverá conter mais conteúdos (excepto comentários ou espaços em branco) após o :.

Exemplo:

    inicio:  # <= isto é uma legenda
                        # fazer algo...
                        msgbox(mais uma vez?)
                        GOTO inicio

### Referência de Comandos

### Índice Alfabético

&no-i18n-tag;

### a

### c

### d

### e

### f

### g

### i

### l

### m

### n

### o

### p

### q

### r

### s

### u

### v

### w

``

### &no-i18n-tag;a

#### &no-i18n-cmd_about_kde;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_about_kde;`()

Mostra uma janela com informações sobre a versão do KDE usada pelo computador em que está a correr o &kwave;.

#### &no-i18n-cmd_add_label;

##### &i18n-cmd_syntax;`&no-i18n-cmd_add_label;`(`pos`[,`texto`])

Adiciona uma nova legenda numa posição indicada. Se a posição em questão já tiver uma legenda, este comando não fará nada. A legenda poderá ter uma descrição opcional.

##### Parâmetros

`pos`: | a posição, em amostras, onde será colocada a legenda
`texto`: | algum texto descritivo (opcional)

#### &no-i18n-cmd_add_track;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_add_track;`()

Adiciona uma nova faixa após todas as faixas existentes.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_insert_track;`()

### &no-i18n-tag;c

#### &no-i18n-cmd_clipboard_flush;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_clipboard_flush;`()

Elimina o conteúdo actual da área de transferência (poderá libertar alguma memória).

#### &no-i18n-cmd_close;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_close;`()

Fecha o ficheiro actual. Se a interface estiver configurada como MDI ou Páginas, isto também fecha a sub-janela correspondente.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_open;`(`ficheiro`), `&no-i18n-tag;&no-i18n-cmd_quit;`()

#### &no-i18n-cmd_continue;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_continue;`()

Corresponde ao botão Continuar da barra de ferramentas e permite retomar a reprodução, caso estivesse em pausa.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_pause;`()

#### &no-i18n-cmd_copy;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_copy;`()

Copia o conteúdo da selecção actual para a área de transferência. Se a selecção estiver vazia, este comando não faz nada e o conteúdo da área de transferência permanecerá inalterado. Só é copiado o conteúdo das faixas seleccionadas de momento para a área de transferência!

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_paste;`()

#### &no-i18n-cmd_crop;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_crop;`()

Recorta o sinal para a selecção actual, apagando tudo o que estiver antes ou depois da selecção actual. Afecta todas as faixas. Caso não esteja nada seleccionado, este comando não faz nada.

#### &no-i18n-cmd_cut;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_cut;`()

Copia o conteúdo da selecção actual para a área de transferência e remove-o do sinal. Se a selecção estiver em branco, este comando não faz nada e o conteúdo da área de transferência irá permanecer inalterado. Somente será copiado o conteúdo das faixas seleccionadas de momento para a área de transferência, contudo o intervalo seleccionado será removido de todas as faixas.

### &no-i18n-tag;d

#### &no-i18n-cmd_delayed;

##### &i18n-cmd_syntax;`&no-i18n-cmd_delayed;`( `milisegundos`, `comando` )

Executa um dado `comando` ao fim de um dado período de tempo. Lembre-se que o comando é executado de forma assíncrona, ao fim do período de tempo indicado. Poderá colocar vários comandos numa fila de espera, sendo que os atrasos são relativos ao último comando em espera. Este comando pretende ser usado para colocar em espera os comandos, quando tirar capturas de imagens para fins de documentação.

##### Parâmetros

`milisegundos`: | número de milisegundos inteiros a esperar antes da execução do comando
`comando`: | um comando, incluindo os parâmetros a executar após o atraso indicado

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_sync;`(), `&no-i18n-tag;&no-i18n-cmd_window_resize;`(), `&no-i18n-tag;&no-i18n-cmd_window_click;`(), `&no-i18n-tag;&no-i18n-cmd_window_sendkey;`(), `&no-i18n-tag;&no-i18n-cmd_window_close;`(), `&no-i18n-tag;&no-i18n-cmd_window_screenshot;`()

#### &no-i18n-cmd_delete;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_delete;`()

Apaga a gama de amostras seleccionada de momento. Se a selecção estiver vazia, este comando não faz nada. Afecta todas as faixas.

#### &no-i18n-cmd_delete_label;

##### &i18n-cmd_syntax;`&no-i18n-cmd_delete_label;`(`índice`)

Apaga uma legenda, identificada pelo seu índice (a começar em zero). Se não existir nenhuma legenda com o índice indicado, este comando não faz nada.

##### Parâmetros

`índice`: | o índice da legenda a remover, a começar em 0

#### &no-i18n-cmd_delete_track;

##### &i18n-cmd_syntax;`&no-i18n-cmd_delete_label;`(`índice`)

Apaga uma faixa, identificada pelo seu índice (a começar em zero). Se não existir nenhuma faixa com o índice indicado, este comando termina com um erro.

##### Parâmetros

`índice`: | índice da faixa a remover, a começar em 0

#### &no-i18n-cmd_dump_metadata;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_dump_metadata;`()

Imprime uma lista com todos os itens de meta-dados na consola, para fins de diagnóstico. (Só está disponível quando o &kwave; tiver sido compilado com a opção `WITH_DEBUG` activada).

### &no-i18n-tag;e

#### &no-i18n-cmd_edit_label;

Imagem Imagem da janela de edição de legendas

##### &i18n-cmd_syntax;`&no-i18n-cmd_edit_label;`(`índice`)

Abre uma janela na qual o utilizador poderá editar a posição e a descrição de uma legenda, a qual é identificada pelo seu índice (a começar em zero). Se não existir nenhuma legenda com o índice especificado, este comando não faz nada.

##### Parâmetros

`índice`: | índice da legenda a editar, a começar em 0

#### &no-i18n-cmd_expandtolabel;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_expandtolabel;`()

Expande a selecção actual para as legendas à esquerda e direita dos extremos actuais da selecção. Se o extremo da selecção já estiver sobre uma legenda, o mesmo fica inalterado. Se não existir nenhuma legenda à esquerda ou à direita da selecção actual, a mesma será expandida até ao início ou ao fim do ficheiro.

### &no-i18n-tag;f

#### &no-i18n-cmd_fileinfo;

##### &i18n-cmd_syntax;`&no-i18n-cmd_fileinfo;`(`índice`)

Configura um item de informação de ficheiro com um novo valor.

##### Parâmetros

`palavraChave`: | a palavra-chave do item
`valor`: | valor do item

#### &no-i18n-cmd_forward;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_forward;`()

Corresponde ao botão Avançar da barra de ferramentas. Se a reprodução estiver em curso de momento, irá avançar em 1/10 da gama visível. Se a reprodução não estiver em curso, isto faz o mesmo que o comando `&no-i18n-cmd_view_scroll_right;`.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_view_scroll_right;`(), `&no-i18n-tag;&no-i18n-cmd_rewind;`()

### &no-i18n-tag;g

#### &no-i18n-cmd_goto;

##### &i18n-cmd_syntax;`&no-i18n-cmd_goto;`(`pos`)

Configura o cursor na posição indicada e torna-o visível na área actual. Depois disto, a selecção terá um tamanho nulo.

##### Parâmetros

`pos`: | a posição, em amostras, para onde ir

### &no-i18n-tag;i

#### &no-i18n-cmd_insert_at;

##### &i18n-cmd_syntax;`&no-i18n-cmd_insert_at;`(`pos`)

Insere o conteúdo da área de transferência na posição indicada, como o comando `&no-i18n-cmd_paste;()`(). Se a área de transferência estiver vazia de momento, esta função não faz nada.

##### Parâmetros

`pos`: | a posição, em amostras, onde inserir

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_paste;`()

#### &no-i18n-cmd_insert_track;

##### &i18n-cmd_syntax;`&no-i18n-cmd_insert_track;`(`índice`)

Insere uma nova faixa no índice passado, usando as definições de tamanho e taxa de amostragem actuais do sinal. Se o índice for maior ou igual ao número de faixas actual, o mesmo será adicionado como última faixa, de forma igual à do comando `&no-i18n-cmd_add_track;()`. O índice de todas as faixas existentes no índice passado e os seguintes será incrementado em uma unidade.

##### Parâmetros

`índice`: | índice da faixa onde inserir, a começar em 0

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_add_track;`()

### &no-i18n-tag;l

#### &no-i18n-cmd_loadbatch;

##### &i18n-cmd_syntax;`&no-i18n-cmd_loadbatch;`(`ficheiro`)

Abre um ficheiro de programa do &kwave; e processa os comandos nele. Usa o contexto do ficheiro aberto de momento ou a janela principal actual, caso não esteja carregado nenhum ficheiro.

##### Parâmetros

`ficheiro`: | nome do ficheiro do programa do 'kwave', incluindo a localização e a extensão

#### &no-i18n-cmd_loop;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_loop;`()

Corresponde ao botão Ciclo da barra de ferramentas. Inicia a reprodução (se não estiver já em execução) e deixa-a tocar em ciclo.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_playback_start;`()

### &no-i18n-tag;m

#### &no-i18n-cmd_menu;

##### &i18n-cmd_syntax;`&no-i18n-cmd_menu;` (`comando`, `localização`, [`atalho`], [`id`])

Este é um comando muito poderoso e é usado para adicionar um novo item ao menu ou para modificar um item existente. Ele determina qual o comando que é executado quando é activado o item do menu, qual o ícone que é apresentado no menu e qual o atalho de teclado que é usado. Cada item do menu poderá estar desactivado ou escondido, poderá ter um id único e também poderá estar associado a um grupo do menu.

Normalmente não precisa deste comando dentro de um programa do &kwave;!

##### Parâmetros

`comando`: | Um comando de texto (incluindo os parâmetros) ou uma lista de comandos que será executado quando o item do menu for activado. Se um item de menu não tiver um comando correspondente (por exemplo, se for um sub-menu e não um item individual), deverá usar o comando `ignore()`.
`localização`: | A localização dentro do menu, usando um / como separador. A última parte da localização poderá ser um sub-comando que modifica uma dada propriedade do item do menu (ver abaixo). A última parte da localização (que não seja um sub-comando) produz um item do menu, enquanto as partes anteriores produzem o item de menu principal ou os sub-menus que conduzem até ele. Os itens do menu principal ou os sub-menus são criados automaticamente quando criar um item do menu, pelo que não precisa de os criar manualmente.
`atalho`: | Uma máscara de 'bits' que consiste numa combinação de teclas e modificadores predefinidos, concatenados com um +. A tecla poderá ser um número, uma letra maiúscula, uma tecla de função (F1 ... F12) ou qualquer outro nome de tecla aceite pela classe do Qt `QKeySequence`, incluindo os nomes das teclas das acções predefinidas (como por exemplo `::Copy`). Os modificadores típicos são o `SHIFT`, `ALT` e `CTRL`.
`id`: | Um ID único que possa ser usado a nível interno para identificar este item do menu, sub-menu ou menu. Só deverão ser usadas letras maiúsculas, números e o `_` e deverá começar por `ID_`. É da sua responsabilidade garantir que o mesmo ID não é usado duas vezes.

##### Sub-Comandos

`&no-i18n-tag;#checkable`: | Torna um item de menu capaz de ser marcado, para que possa ser activado ou desactivado.
`&no-i18n-tag;#disabled`: | Permite ao item de menu ou menu/sub-menu ser desactivado.
`&no-i18n-tag;#enabled`: | Permite ao item de menu ou menu/sub-menu ser activado de novo, após ter sido desactivado anteriormente.
`#exclusive`(`grupo`): | Faz com que um item menu faça parte de um `grup` exclusivo (selecção única entre várias opções). O grupo que é passado como parâmetro não deverá ser usado para mais nenhum outro fim. Só poderá estar seleccionado um item dentro desse grupo de cada vez.
`#group`(`lista`): | Adiciona o item do menu ou sub-menu/menu a um ou mais grupos, de modo que a aplicação possa activar/desactivar um conjunto de itens de menu, sem ter de saber todos os seus ID's. Poderá passar vários grupos como uma lista, usando um `,` como separador. Os nomes dos grupos têm de começar por `@`. Existem os seguintes grupos predefinidos: `&no-i18n-tag;@CLIPBOARD`: Só está activo quando a área de transferência não está vazia. `&no-i18n-tag;@LABELS`: Só está activo quando o sinal actual tiver pelo menos uma legenda. `&no-i18n-tag;@NOT_CLOSED`: Activo quando o sinal actual não estiver fechado (o sinal poderá estar vazio ou ter um tamanho nulo). `&no-i18n-tag;@SELECTION`: Activo quando a selecção não está vazia (está seleccionada mais que uma amostra). `&no-i18n-tag;@SIGNAL`: Activo quando existe algum sinal carregado e que não esteja vazio ou que tenha um tamanho nulo.
`&no-i18n-tag;#hidden`: | Esconde o item de menu ou menu/sub-menu.
`#icon`(`nome`): | Atribui um ícone a um item do menu. O `nome` do ícone deverá corresponder a um ficheiro de ícone (sem localização ou extensão do ficheiro) que é instalado com o KDE ou com o &kwave;.
`#listmenu`(`id`,`comando`): | Insere um item de substituição para uma lista de itens de menu para um sub-menu. O `id` único indicado neste sub-comando é usado para adicionar/remover ou limpar a lista de itens do menu. O parâmetro `comando` tem de `%1` como parâmetro, o qual será substituído pelo texto do item de menu, quando for activado. (Este sub-comando é usado internamente pela lista de ficheiros recentes, pela lista de faixas e pela lista de janelas).
`&no-i18n-tag;#separator`: | Insere um separador num sub-menu.

#### &no-i18n-cmd_msgbox;

##### &i18n-cmd_syntax;`&no-i18n-cmd_msgbox;`(`texto`)

Mostra uma janela de mensagem com um dado `texto` e os dois botões OK (devolve sem código de erro) e Cancelar (devolve um código de erro). Poderá usar este comando para dar ao utilizador a possibilidade de interromper um programa em execução.

##### Parâmetros

`texto`: | Uma mensagem que será apresentada na área de mensagens; deverá conter uma pergunta que possa ser respondida com OK ou Cancelar

### &no-i18n-tag;n

#### &no-i18n-cmd_newsignal;

##### &i18n-cmd_syntax;`&no-i18n-cmd_newsignal;`( `amostras`, `taxa`, `bits`, `faixas`)

Cria um novo sinal, com um dado tamanho em `amostras`, uma dada `taxa` em amostras por segundo (número de vírgula flutuante), um número de `bits` por amostra e um número de `faixas`. Poderá calcular o tamanho em amostras, multiplicando o tamanho desejado em segundos com a taxa de amostragem.

##### Parâmetros

`samples`: | O tamanho do sinal em amostras.
`taxa`: | A taxa de amostragem em amostras por segundo.
`bits`: | O número de 'bits' por amostra; deverá ser diferente de zero e um número de 8...32.
`faixas`: | O número de faixas.

#### &no-i18n-cmd_next;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_next;`()

Corresponde ao botão Seguinte da barra de ferramentas. Se a reprodução estiver actualmente em curso, irá avançar até à próxima legenda. Se a reprodução estiver parada, isto fará o mesmo que o comando `&no-i18n-cmd_view_scroll_next_label;`.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_view_scroll_next_label;`(), `&no-i18n-tag;&no-i18n-cmd_prev;`()

### &no-i18n-tag;o

#### &no-i18n-cmd_open;

##### &i18n-cmd_syntax;`&no-i18n-cmd_open;`([`ficheiro`])

Abre um ficheiro, o qual poderá ser um ficheiro de som ou um programa do &kwave;. Se não passar nenhum nome de ficheiro, então irá aparecer uma janela que lhe permite seleccionar um ficheiro existente. Dependendo do modo da GUI, o ficheiro será aberto no contexto de uma nova sub-janela (MDI ou páginas) ou numa nova janela principal (SDI), caso já esteja outra coisa carregada.

##### Parâmetros

`ficheiro`: | o nome de um ficheiro, incluindo a localização e a extensão

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_close;`()

#### &no-i18n-cmd_openrecent;

##### &i18n-cmd_syntax;`&no-i18n-cmd_openrecent;`(`ficheiro`)

Praticamente igual ao comando `&no-i18n-cmd_open;`, mas para ser usado internamente na lista de ficheiros abertos recentemente no menu Ficheiro Abrir um Recente . No comando, o parâmetro `ficheiro` não é opcional.

##### Parâmetros

`ficheiro`: | item da lista de ficheiros abertos recentemente

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_open;`

### &no-i18n-tag;p

#### &no-i18n-cmd_paste;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_paste;`()

Substitui a selecção actual pelo conteúdo da área de transferência. Se esta estiver vazia, este comando não faz nada. A taxa de amostragem dos dados inseridos será ajustada para corresponder à taxa de amostragem do sinal actual, se necessário. Só são afectadas as faixas activas, sendo que as faixas desactivadas ficarão inalteradas. Tenha em atenção que isto poderá provocar um desvio temporal entre as faixas activas e as inactivas! Se o número de faixas dos dados da área de transferência for diferente do número de faixas activas, então os dados são misturados para se difundirem por igual em todas as faixas seleccionadas.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_copy;`()

#### &no-i18n-cmd_pause;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_continue;`()

Corresponde ao botão Pausa da barra de ferramentas e coloca a reprodução em pausa, caso já esteja em execução de momento, ou prossegue se estiver já em pausa.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_continue;`()

#### &no-i18n-cmd_playback_start;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_playback_start;`()

Corresponde ao botão Iniciar da barra de ferramentas e permite iniciar a reprodução, caso esteja em pausa de momento.

#### &no-i18n-cmd_plugin;

##### &i18n-cmd_syntax;`&no-i18n-cmd_plugin;`(`nome`, [`parâmetro` ...])

Executa um 'plugin' com uma lista opcional de parâmetros. Se não passar uma lista de parâmetros, então será invocada a função 'setup' do 'plugin', usando os parâmetros da invocação anterior ou com os parâmetros predefinidos como entrada (normalmente mostra uma janela de configuração, dependendo do 'plugin'). Consulte por favor o capítulo sobre os plugins para obter uma descrição dos vários 'plugins'.

##### Parâmetros

`nome`: | o nome (interno) de um 'plugin' do &kwave;
`parâmetro`: | uma lista de parâmetros compreendidos pelo 'plugin' (opcional)

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_plugin_execute;`(), `&no-i18n-tag;&no-i18n-cmd_plugin_setup;`()

#### &no-i18n-cmd_plugin_execute;

##### &i18n-cmd_syntax;`&no-i18n-cmd_plugin_execute;`(`nome`, [`parâmetro` ...])

Semelhante ao comando `&no-i18n-cmd_plugin;`(), mas sem invocar a função de configuração do 'plugin', caso não sejam passados parâmetros.

##### Parâmetros

`nome`: | o nome (interno) de um 'plugin' do &kwave;
`parâmetro`: | uma lista dos parâmetros aceites pelo 'plugin'

#### &no-i18n-cmd_plugin_setup;

##### &i18n-cmd_syntax;`&no-i18n-cmd_plugin_setup;`(`nome`, [`parâmetro` ...])

Executa a função setup de um dado 'plugin', com uma lista opcional de parâmetros. Se não passar uma lista de parâmetros, então será invocada a função 'setup' do 'plugin', usando os parâmetros da invocação anterior ou com os parâmetros predefinidos como entrada (normalmente mostra uma janela de configuração, dependendo do 'plugin'). Consulte por favor o capítulo sobre os plugins para obter uma descrição dos vários 'plugins'.

##### Parâmetros

`nome`: | o nome (interno) de um 'plugin' do &kwave;
`parâmetro`: | uma lista de parâmetros compreendidos pelo 'plugin' (opcional)

#### &no-i18n-cmd_prev;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_prev;`()

Corresponde ao botão Anterior da barra de ferramentas. Se a reprodução estiver actualmente em curso, irá saltar até à legenda anterior ou até ao início da selecção. Se a reprodução não estiver em curso, isto faz o mesmo que o comando `&no-i18n-cmd_view_scroll_prev_label;`.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_view_scroll_prev_label;`(), `&no-i18n-tag;&no-i18n-cmd_next;`()

### &no-i18n-tag;q

#### &no-i18n-cmd_quit;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_quit;`()

Fecha a janela principal actual, incluindo todas as sub-janelas. No modo SDI, é igual ao comando `&no-i18n-cmd_close;`().

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_close;`()

### &no-i18n-tag;r

#### &no-i18n-cmd_redo;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_redo;`()

Corresponde ao botão Refazer da barra de ferramentas e repete uma operação que tenha sido anulada com o `&no-i18n-cmd_undo;`.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_undo;`()

#### &no-i18n-cmd_redo_all;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_redo_all;`()

Semelhante ao `&no-i18n-cmd_redo;`, mas repete tantas operações como possível.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_undo;`()

#### &no-i18n-cmd_reenable_dna;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_reenable_dna;`()

Algumas janelas de mensagens oferecem a possibilidade de aparecerem de novo (não perguntar de novo). Este comando fá-las aparecer de novo.

#### &no-i18n-cmd_reset_toolbars;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_reset_toolbars;`()

Repõe todas as definições da barra de ferramentas, como a localização, o tamanho dos ícones e a localização do texto com os seus valores iniciais.

#### &no-i18n-cmd_revert;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_revert;`()

Reverte o ficheiro carregado de momento para o último estado gravado, eliminando todas as alterações que não são gravadas.

#### &no-i18n-cmd_rewind;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_rewind;`()

Corresponde ao botão Recuar da barra de ferramentas. Se a reprodução estiver em curso de momento, irá recuar em 1/10 da gama visível. Se a reprodução não estiver em curso, isto faz o mesmo que o comando `&no-i18n-cmd_view_scroll_left;`.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_view_scroll_left;`(), `&no-i18n-tag;&no-i18n-cmd_forward;`()

### &no-i18n-tag;s

#### &no-i18n-cmd_save;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_save;`()

Corresponde ao botão Gravar da barra de ferramentas. Grava o ficheiro actual se o mesmo tiver modificações. Caso o ficheiro não tenha já um nome (⪚ um ficheiro que tenha sido criado e não tenha ainda um nome), este comando fará o mesmo que o `&no-i18n-cmd_saveas;`.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_saveas;`()

#### &no-i18n-cmd_saveas;

##### &i18n-cmd_syntax;`&no-i18n-cmd_saveas;`([`ficheiro`])

Grava o ficheiro aberto de momento com um dado nome de ficheiro. Se não for indicado nenhum nome de ficheiro como parâmetro, será apresentada uma janela para seleccionar a pasta e para introduzir um nome para o ficheiro.

##### Parâmetros

`ficheiro`: | nome do ficheiro a gravar (opcional)

#### &no-i18n-cmd_saveselect;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_saveselect;`()

Este comando faz o mesmo que o `&no-i18n-cmd_save;`, mas grava apenas a gama seleccionada de momento e as faixas activadas, em vez do ficheiro inteiro.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_save;`()

#### &no-i18n-cmd_select_gui_type;

##### &i18n-cmd_syntax;`&no-i18n-cmd_select_gui_type;`(modo)

Selecciona um modo de GUI, o qual poderá ser SDI, MDI ou páginas. Tenha atenção que estas alterações farão efeito imediatamente!

##### Parâmetros

`ficheiro`: | o nome do modo, que poderá ser SDI, MDI ou TAB (páginas).

#### &no-i18n-cmd_select_track_all;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_select_track_all;`()

Marca todas as faixas como activas. Isto tem o mesmo efeito que chamar o comando `&no-i18n-tag;&no-i18n-cmd_select_track_on;`() para todas as faixas existentes.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_select_track_on;`()

#### &no-i18n-cmd_select_track_invert;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_select_track_all;`()

Inverte o estado activo de todas as faixas. Isto é o mesmo que invocar o comando `&no-i18n-cmd_select_track_toggle;`() para todas as faixas existentes.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_select_track_toggle;`()

#### &no-i18n-cmd_select_track_none;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_select_track_none;`()

Marca todas as faixas como desactivadas. Isto tem o mesmo efeito que chamar o comando `&no-i18n-cmd_select_track_off;`() para todas as faixas existentes.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_select_track_off;`()

#### &no-i18n-cmd_select_track_off;

##### &i18n-cmd_syntax;`&no-i18n-cmd_select_track_off;`(índice)

Desactiva uma única faixa, de modo que não seja afectada pela maioria das operações.

##### Parâmetros

`índice`: | o índice da faixa, a começar em zero

#### &no-i18n-cmd_select_track_on;

##### &i18n-cmd_syntax;`&no-i18n-cmd_select_track_on;`(índice)

Activa uma única faixa, para que possa ficar afectada por todas as operações.

##### Parâmetros

`índice`: | o índice da faixa, a começar em zero

#### &no-i18n-cmd_select_track_toggle;

##### &i18n-cmd_syntax;`&no-i18n-cmd_select_track_toggle;`(índice)

Activa uma faixa, caso esteja desactivada de momento, ou desactiva-a se estiver activada de momento.

##### Parâmetros

`índice`: | o índice da faixa, a começar em zero

#### &no-i18n-cmd_selectall;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_selectall;`()

Selecciona o intervalo do sinal inteiro, desde a primeira amostra até à última.

#### &no-i18n-cmd_selectnext;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_selectnext;`()

Selecciona uma gama de amostras que começa imediatamente a seguir à selecção actual, usando o mesmo tamanho que a selecção actual. A selecção fica automaticamente ajustada até ao fim do sinal. Por exemplo: se tiver seleccionado as amostras 1000 ... 1019, então o resultado será uma selecção da amostra 1020 ... 1039.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_selectprev;`()

#### &no-i18n-cmd_selectnextlabels;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_selectnextlabels;`()

Selecciona uma gama de amostras entre as duas legendas seguintes após a selecção actual. Se não estiver nada seleccionado, então irá seleccionar desde o início do sinal até à primeira legenda. Caso contrário, o extremo esquerdo da nova selecção será a posição da primeira legenda após a selecção (ou a última legenda, se não existirem mais legendas à direita da selecção) e o extremo direito da nova selecção será a primeira legenda após o extremo esquerdo da nova selecção (ou o fim do sinal, se não existir nenhuma). Este comando devolve um erro caso não existam nenhumas legendas.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_selectprevlabels;`()

#### &no-i18n-cmd_selectnone;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_selectnone;`()

Repõe a selecção com um tamanho nulo.

#### &no-i18n-cmd_selectprev;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_selectprev;`()

Selecciona uma gama de amostras que começa imediatamente antes à selecção actual, usando o mesmo tamanho que a selecção actual. A selecção fica automaticamente ajustada até ao início do sinal. Por exemplo: se tiver seleccionado as amostras 1000 ... 1019, então o resultado será uma selecção da amostra 980 ... 999.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_selectnext;`()

#### &no-i18n-cmd_selectprevlabels;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_selectprevlabels;`()

Selecciona uma gama de amostras entre as duas legendas anteriores, antes da selecção actual. Se não estiver nada seleccionado, então irá seleccionar desde o início do sinal até à primeira legenda. Caso contrário, o extremo direito da nova selecção será a posição da primeira legenda antes da selecção (ou a primeira legenda, se não existirem mais legendas à esquerda da selecção) e o extremo esquerdo da nova selecção será a primeira legenda antes do extremo direito da nova selecção (ou o início do sinal, se não existir nenhuma). Este comando devolve um erro caso não existam nenhumas legendas.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_selectnextlabels;`()

#### &no-i18n-cmd_selecttoleft;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_selecttoleft;`()

Define o início da selecção como sendo o início do sinal, sendo que o fim da selecção actual fica inalterado.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_selecttoright;`()

#### &no-i18n-cmd_selecttoright;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_selecttoright;`()

Define o fim da selecção como sendo o fim do sinal, sendo que o início da selecção actual fica inalterado.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_selecttoleft;`()

#### &no-i18n-cmd_selectvisible;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_selectvisible;`()

Selecciona a gama de amostras que está visível na janela actual.

#### &no-i18n-cmd_start;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_start;`()

Corresponde ao botão Iniciar da barra de ferramentas, permitindo que a reprodução comece a partir do início da selecção ou prossiga caso esteja de momento em pausa.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_stop;`()

#### &no-i18n-cmd_stop;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_stop;`()

Corresponde ao botão Parar da barra de ferramentas e deixa parar a reprodução, caso esteja em execução de momento.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_start;`()

#### &no-i18n-cmd_sync;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_sync;`()

Espera até que todos os comandos que foram iniciados de forma assíncrona terminem. Se nada estiver em espera para uma execução posterior, este comando não fará efeito.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_delayed;`()

### &no-i18n-tag;u

#### &no-i18n-cmd_undo;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_undo;`()

Corresponde ao botão Desfazer da barra de ferramentas e volta atrás na última operação.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_redo;`()

#### &no-i18n-cmd_undo_all;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_undo_all;`()

Semelhante ao `&no-i18n-tag;&no-i18n-cmd_undo;`, mas volta atrás tantas operações quanto possível.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_undo;`()

### &no-i18n-tag;v

#### &no-i18n-cmd_view_scroll_end;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_scroll_end;`()

Desloca a vista actual até ao fim do sinal.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_view_scroll_start;`()

#### &no-i18n-cmd_view_scroll_left;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_scroll_left;`()

Desloca a vista actual em 1/10 da gama visível em direcção ao início do sinal. Se atingir o início do sinal, a área visível começa na posição zero.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_view_scroll_right;`()

#### &no-i18n-cmd_view_scroll_next;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_scroll_next;`()

Desloca a vista actual na gama visível de momento, em direcção ao fim do sinal.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_view_scroll_prev;`()

#### &no-i18n-cmd_view_scroll_next_label;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_scroll_next_label;`()

Desloca-se para a direita e tenta mostrar a legenda seguinte centrada na janela. Se não existir nenhuma legenda à direita da posição actual, deslocar-se-á até ao fim do sinal.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_view_scroll_prev_label;`()

#### &no-i18n-cmd_view_scroll_prev;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_scroll_prev;`()

Desloca a vista actual na gama visível de momento, em direcção ao início do sinal.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_view_scroll_next;`()

#### &no-i18n-cmd_view_scroll_prev_label;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_scroll_prev_label;`()

Desloca-se para a esquerda e tenta mostrar a legenda anterior centrada na janela. Se não existir nenhuma legenda à esquerda da posição actual, deslocar-se-á até ao início do sinal.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_view_scroll_next_label;`()

#### &no-i18n-cmd_view_scroll_right;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_scroll_right;`()

Desloca a vista actual em 1/10 da gama visível em direcção ao fim do sinal. Se atingir o fim do sinal, a área visível termina no fim do sinal.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_view_scroll_left;`()

#### &no-i18n-cmd_view_scroll_start;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_scroll_start;`()

Desloca a vista actual em direcção ao início do sinal.

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_view_scroll_end;`()

#### &no-i18n-cmd_view_zoom_all;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_zoom_all;`()

Ajusta o factor de ampliação, de modo que esteja o sinal completo visível na área actual.

#### &no-i18n-cmd_view_zoom_in;

##### &i18n-cmd_syntax;`&no-i18n-cmd_view_zoom_in;`([`posição`])

Reduz o factor de ampliação (em amostras por pixel) em 30%, para que fiquem visíveis mais detalhes. Se for indicada uma `posição`, ele tenta mostrar essa posição centrada na janela actual, caso contrário será usado o centro da janela antes da mudança da ampliação como centro. O factor de ampliação mínimo está limitado a cinco amostras pela largura da janela.

##### Parâmetros

`posição`: | uma posição em amostras, a começar em zero, para centrar a área visível (opcional)

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_view_zoom_out;`()

#### &no-i18n-cmd_view_zoom_normal;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_zoom_normal;`()

Define o factor de ampliação como sendo um pixel por amostra (factor 1.0) e tenta manter o centro da janela anterior.

#### &no-i18n-cmd_view_zoom_out;

##### &i18n-cmd_syntax;`&no-i18n-cmd_view_zoom_out;([`posição`])`

Aumenta o factor de ampliação (em amostras por pixel) em 30%, para que fiquem visíveis menos detalhes. Se for indicada uma `posição`, ele tenta mostrar essa posição centrada na janela actual, caso contrário será usado o centro da janela antes da mudança da ampliação como centro. O factor de ampliação máximo está limitado ao número de amostras do sinal completo para a largura da janela.

##### Parâmetros

`posição`: | uma posição em amostras, a começar em zero, para centrar a área visível (opcional)

##### Ver também

`&no-i18n-tag;&no-i18n-cmd_view_zoom_in;`()

#### &no-i18n-cmd_view_zoom_selection;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_zoom_selection;`()

Ajusta a visualização (factor de ampliação e o início da área visível), para que corresponda à selecção actual. Este comando não faz nada se a selecção estiver em branco.

### &no-i18n-tag;w

#### &no-i18n-cmd_window_activate;

##### &i18n-cmd_syntax;`&no-i18n-cmd_window_activate;`(`título`])

Activa uma sub-janela, identificada pelo seu `título`. Se a sub-janela estiver minimizada, será reposta. Só está disponível no modo MDI e por páginas. Este comando é usado a nível interno pelo menu Janela.

##### Parâmetros

`título`: | o título da sub-janela que deverá ser activada

#### &no-i18n-cmd_window_cascade;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_window_cascade;`()

Coloca todas as sub-janelas em cascata, quando estiver no modo MDI. Todas as sub-janelas que estiverem minimizadas de momento continuarão assim, sendo que não serão repostas.

#### &no-i18n-cmd_window_click;

##### &i18n-cmd_syntax;`&no-i18n-cmd_window_click;`( `classe`, `x`, `y` )

Envia um evento de botão do rato para a janela identificada pelo nome da sua `classe`. O evento só será enviado para a primeira janela que tiver o nome da classe indicado, pelo que deverá garantir que só tem uma instância da janela indicada, quando for executado este comando.

##### Parâmetros

`classe`: | o nome da classe de janelas
`x`: | a posição em X, em relação ao contorno esquerdo da janela (em pixels)
`y`: | a posição em Y, em relação ao contorno superior da janela (em pixels)

#### &no-i18n-cmd_window_close;

##### &i18n-cmd_syntax;`&no-i18n-cmd_window_close;`( `classe` )

Fecha uma dada janela identificada pelo nome da sua `classe`. O fecho só será comunicado à primeira janela que tiver o nome da classe indicado, pelo que deverá garantir que só tem uma instância da janela indicada, quando for executado este comando.

##### Parâmetros

`classe`: | o nome da classe de janelas

#### &no-i18n-cmd_window_minimize;

##### &i18n-cmd_syntax;`&no-i18n-cmd_window_minimize;`

Minimiza a sub-janela activa de momento, quando estiver no modo MDI, ou na janela de topo actual, no caso do modo SDI ou de páginas.

#### &no-i18n-cmd_window_mousemove;

##### &i18n-cmd_syntax;`&no-i18n-cmd_window_resize;`( `classe`, `x`, `y` )

Envia um evento de movimento do rato para a janela identificada pelo nome da sua `classe`. O evento só será enviado para a primeira janela que tiver o nome da classe indicado, pelo que deverá garantir que só tem uma instância da janela indicada, quando for executado este comando.

##### Parâmetros

`classe`: | o nome da classe de janelas
`x`: | a posição em X, em relação ao contorno esquerdo da janela (em pixels)
`y`: | a posição em Y, em relação ao contorno superior da janela (em pixels)

#### &no-i18n-cmd_window_next_sub;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_window_next_sub;`()

Activa a sub-janela seguinte, quando estiver no modo de MDI e de páginas. Caso a sub-janela seguinte esteja minimizada, será reposta.

#### &no-i18n-cmd_window_prev_sub;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_window_prev_sub;`()

Activa a sub-janela anterior, quando estiver no modo de MDI e de páginas. Caso a sub-janela anterior esteja minimizada, será reposta.

#### &no-i18n-cmd_window_resize;

##### &i18n-cmd_syntax;`&no-i18n-cmd_window_resize;`( `classe`, `largura`, `altura` )

Muda o tamanho de uma dada janela, identificada pelo nome da sua `classe` para uma nova `largura` e `altura`. O evento só será enviado para a primeira janela que tiver o nome da classe indicado, pelo que deverá garantir que só tem uma instância da janela indicada, quando for executado este comando.

##### Parâmetros

`classe`: | o nome da classe de janelas
`largura`: | a nova largura da janela (em pixels)
`altura`: | a nova altura da janela (em pixels)

#### &no-i18n-cmd_window_screenshot;

##### &i18n-cmd_syntax;`&no-i18n-cmd_window_screenshot;`( `classe`, `ficheiro` )

Tira uma fotografia de uma dada janela, identificada pelo nome da sua `classe`, gravando-a num ficheiro. O evento só será enviado para a primeira janela que tiver o nome da classe indicado, pelo que deverá garantir que só tem uma instância da janela indicada, quando for executado este comando. De momento, o formato do ficheiro é fixo e terá de ser o `*.png`.

##### Parâmetros

`classe`: | o nome da classe de janelas
`ficheiro`: | o nome do ficheiro onde gravar a imagem; deverá ter a extensão `*.png`

#### &no-i18n-cmd_window_sendkey;

##### &i18n-cmd_syntax;`&no-i18n-cmd_window_sendkey;`( `classe`, `código da tecla` )

Envia um evento de carregamento e libertação de uma dada tecla para uma janela para uma dada janela, identificada pelo nome da sua `classe`. O evento só será enviado para a primeira janela que tiver o nome da classe indicado, pelo que deverá garantir que só tem uma instância da janela indicada, quando for executado este comando.

##### Parâmetros

`classe`: | o nome da classe de janelas
`código da tecla`: | o código da tecla que deverá ser emitido, usando a mesma sintaxe que é usada para configurar os menus

##### Ver também

descrição do parâmetro `atalho` do comando `&no-i18n-cmd_menu;`.

#### &no-i18n-cmd_window_tile;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_window_tile;`()

Coloca todas as janelas lado-a-lado no modo MDI, usando o mesmo esquema do KDE. Todas as janelas que estavam minimizadas ficarão iguais, sendo que não serão repostas.

#### &no-i18n-cmd_window_tile_vertical;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_window_tile_vertical;`()

Coloca todas as janelas lado-a-lado na vertical no modo MDI. Todas as janelas que estavam minimizadas ficarão iguais, sendo que não serão repostas.

## 'Plugins'

### Referência de 'Plugins'

### Índice Alfabético

&no-i18n-tag;

### a

### b

### c

### d

### f

### g

### i

### l

### m

### n

### p

### r

### s

### v

### z

``

### &no-i18n-plugin_about; (Acerca do Kwave)

Imagem Imagem do 'Plugin' 'Acerca do Kwave'

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_about;`

&i18n-plugin_lbl_type;

- gui

&i18n-plugin_lbl_description;

- Mostra uma janela com diversas páginas, incluindo a seguinte informação:

  - informações gerais sobre o programa

  - autoria, contribuições e detentores de direitos de cópia

  - todos os 'plugins' encontrados, incluindo as suas versões e autores

  - informações sobre a equipa de traduções

  - informação de 'copyright' e licenças

### &no-i18n-plugin_amplifyfree; (Amplificação Livre)

Imagem Imagem do 'Plugin' de Amplificação Livre

&i18n-plugin_lbl_internal_name;

- `amplifyfree`

&i18n-plugin_lbl_type;

- efeito

&i18n-plugin_lbl_description;

- Amplifica a selecção actual de acordo com uma curva que consiste num conjunto de coordenadas e um método de interpolação. As coordenadas no eixo do tempo, assim como no da amplitude, deverão estar normalizados entre 0,0 e 1,0.

Parâmetros

- `operação`

- Nome interno para tratar o desfazer/refazer. Os valores possíveis são:

  palavra-chave | descrição
  &no-i18n-tag;`desvanecer` | desvanecimento, curva de 0.0/0.0 até 1.0/1.0
  &no-i18n-tag;`fade out` | desvanecimento, curva de 0.0/1.0 até 1.0/0.0
  &no-i18n-tag;`introdução do desvanecimento` | introdução do desvanecimento, pausa de um segundo, depois aparição
  &no-i18n-tag;`finalização do desvanecimento` | finalização do desvanecimento, primeiro desaparecimento, depois pausa de um segundo
  &no-i18n-tag;`amplificação livre` | curva definida pelo utilizador

`interpolação`

- Tipo de interpolação, sendo os valores possíveis:

  palavra-chave | descrição
  &no-i18n-tag;`linear` | Linear
  &no-i18n-tag;`curva` | Curva
  &no-i18n-tag;`polinómio-n` | Polinómio de n-ésimo grau
  &no-i18n-tag;`polinómio-3` | Polinómio de 3º grau
  &no-i18n-tag;`polinómio-5` | Polinómio de 5º grau
  &no-i18n-tag;`polinómio-7` | Polinómio de 7º grau
  &no-i18n-tag;`retenção_amostra` | Amostrar e Reter

`curva`

- Uma lista, separada por vírgulas, de coordenadas, normalizadas entre 0,0 e 1,0, que deverá estar ordenada ao longo do eixo do tempo no sentido ascendente, deverá começar no tempo 0,0 e terminar no tempo 1,0.

### &no-i18n-plugin_band_pass; (Filtro Passa-Banda)

Imagem Imagem do 'Plugin' do Filtro Passa-Banda

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_band_pass;`

&i18n-plugin_lbl_type;

- efeito

&i18n-plugin_lbl_description;

- Aplica um filtro passa-banda simples à selecção actual. Um filtro passa-banda permite que uma dada gama de frequências em torno de uma frequência central passe e retire (filtre) as frequências acima ou abaixo da frequência central numa diferença superior a metade da largura de banda do filtro.

  O filtro é de 2º grau e está implementado segundo a forma descrita no livro "An introduction to digital filter theory" ("Uma introdução à teoria dos filtros digitais") de Julius O. Smith e no livro de Moore, onde é usada a versão normalizada do livro de Moore.

&i18n-plugin_lbl_parameters;

- `frequência`

- Frequência central do filtro em Hz; deverá ser menor que metade da taxa de amostragem do ficheiro.

`largura de banda`

- A largura de banda do filtro em Hz.

### &no-i18n-plugin_codec_ascii; (Codificador em ASCII)

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_codec_ascii;`

&i18n-plugin_lbl_type;

- codificador

&i18n-plugin_lbl_file_types;

- &i18n-plugin-lbl_file_type_description; | Áudio codificado em ASCII
  &i18n-plugin-lbl_file_type_extensions; | `*.ascii`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-audio-ascii`

&i18n-plugin_lbl_meta_data;

- (todos os itens de informação dos ficheiros; veja a secção )

### &no-i18n-plugin_codec_audiofile; (Codificador do Audiofile)

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_codec_audiofile;`

&i18n-plugin_lbl_type;

- codificador [apenas importação]

&i18n-plugin_lbl_file_types;

- &i18n-plugin-lbl_file_type_description; | Formato de Ficheiros de Som IFF/8SVX do Amiga
  &i18n-plugin-lbl_file_type_extensions; | `*.8svx` | `*.iff`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-8svx`

  &i18n-plugin-lbl_file_type_description; | Áudio NeXT, Sun
  &i18n-plugin-lbl_file_type_extensions; | `*.au`, `*.snd`
  &i18n-plugin-lbl_file_type_mime_types; | `áudio/básico`

  &i18n-plugin-lbl_file_type_description; | Formato de Intercâmbio de Áudio Comprimido
  &i18n-plugin-lbl_file_type_extensions; | `*.aifc`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-aifc`

  &i18n-plugin-lbl_file_type_description; | Formato de Intercâmbio de Áudio
  &i18n-plugin-lbl_file_type_extensions; | `*.aif`, `*.aiff`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-aiff`

  &i18n-plugin-lbl_file_type_description; | Formato de Ficheiro de Investigação Visual de Áudio
  &i18n-plugin-lbl_file_type_extensions; | `*.avr`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-avr`

  &i18n-plugin-lbl_file_type_description; | Formato de Ficheiro do Core Audio
  &i18n-plugin-lbl_file_type_extensions; | `*.caf`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-caf`

  &i18n-plugin-lbl_file_type_description; | Formato de Som da Berkeley, IRCAM, Carl
  &i18n-plugin-lbl_file_type_extensions; | `*.sf`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-ircam`

  &i18n-plugin-lbl_file_type_description; | Formato de Ficheiros de Áudio NIST SPHERE
  &i18n-plugin-lbl_file_type_extensions; | `*.nist`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-nist`

  &i18n-plugin-lbl_file_type_description; | Formato de Visão de Amostras
  &i18n-plugin-lbl_file_type_extensions; | `*.smp`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-smp`

  &i18n-plugin-lbl_file_type_description; | Creative Voice
  &i18n-plugin-lbl_file_type_extensions; | `*.voc`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-voc`

&i18n-plugin_lbl_meta_data;

- (nenhuma)

### &no-i18n-plugin_codec_flac; (Codificador de FLAC)

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_codec_flac;`

&i18n-plugin_lbl_type;

- codificador

&i18n-plugin_lbl_file_types;

- &i18n-plugin-lbl_file_type_description; | Áudio em FLAC (Free Lossless Audio Codec)
  &i18n-plugin-lbl_file_type_extensions; | `*.flac`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-flac`

&i18n-plugin_lbl_meta_data;

- &i18n-INF_CREATION_DATE;, &i18n-INF_NAME;, &i18n-INF_VERSION;, &i18n-INF_ALBUM;, &i18n-INF_TRACK;, &i18n-INF_AUTHOR;, &i18n-INF_PERFORMER;, &i18n-INF_COPYRIGHT;, &i18n-INF_LICENSE;, &i18n-INF_ORGANIZATION;, &i18n-INF_SUBJECT;, &i18n-INF_GENRE;, &i18n-INF_SOURCE;, &i18n-INF_CONTACT;, &i18n-INF_ISRC;, &i18n-INF_SOFTWARE;, &i18n-INF_ENGINEER;, &i18n-INF_VBR_QUALITY;

### &no-i18n-plugin_codec_mp3; (Codificador de MP3)

Imagem Imagem da Janela de Configuração do Codificador de MP3

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_codec_mp3;`

&i18n-plugin_lbl_type;

- codificador

&i18n-plugin_lbl_file_types;

- &i18n-plugin-lbl_file_type_description; | Áudio em MPEG nível III
  &i18n-plugin-lbl_file_type_extensions; | `*.mp3`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-mp3`, `audio/mpeg`s

  &i18n-plugin-lbl_file_type_description; | Áudio em MPEG nível II
  &i18n-plugin-lbl_file_type_extensions; | `*.mp2`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-mp2`, `audio/mpeg`

  &i18n-plugin-lbl_file_type_description; | Áudio em MPEG nível I
  &i18n-plugin-lbl_file_type_extensions; | `*.mp1`, `*.mpg`, `*.mpga`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-mpga`, `audio/mpeg`

&i18n-plugin_lbl_meta_data;

- &i18n-INF_ALBUM;, &i18n-INF_ANNOTATION;, &i18n-INF_AUTHOR;, &i18n-INF_CD;, &i18n-INF_CDS;, &i18n-INF_COMMENTS;, &i18n-INF_COMMISSIONED;, &i18n-INF_CONTACT;, &i18n-INF_COPYRIGHT;, &i18n-INF_CREATION_DATE;, &i18n-INF_GENRE;, &i18n-INF_ISRC;, &i18n-INF_LENGTH;, &i18n-INF_LICENSE;, &i18n-INF_MEDIUM;, &i18n-INF_NAME;, &i18n-INF_ORGANIZATION;, &i18n-INF_PERFORMER;, &i18n-INF_SOFTWARE;, &i18n-INF_TECHNICAN;, &i18n-INF_TRACK;, &i18n-INF_TRACKS;, &i18n-INF_VERSION;

### &no-i18n-plugin_codec_ogg; (Codificador de Ogg)

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_codec_ogg;`

&i18n-plugin_lbl_type;

- codificador

&i18n-plugin_lbl_file_types;

- &i18n-plugin-lbl_file_type_description; | Áudio em Ogg Opus
  &i18n-plugin-lbl_file_type_extensions; | `*.opus`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/ogg`, `application/ogg`, `audio/opus`

  &i18n-plugin-lbl_file_type_description; | Áudio em Ogg Vorbis
  &i18n-plugin-lbl_file_type_extensions; | `*.ogg`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/ogg`, `audio/x-ogg`, `application/x-ogg`, `audio/x-vorbis+ogg`

&i18n-plugin_lbl_meta_data;

- &i18n-INF_ALBUM;, &i18n-INF_AUTHOR;, &i18n-INF_CONTACT;, &i18n-INF_COPYRIGHT;, &i18n-INF_CREATION_DATE;, &i18n-INF_ENGINEER;, &i18n-INF_GENRE;, &i18n-INF_ISRC;, &i18n-INF_LICENSE;, &i18n-INF_NAME;, &i18n-INF_ORGANIZATION;, &i18n-INF_PERFORMER;, &i18n-INF_SOFTWARE;, &i18n-INF_SOURCE;, &i18n-INF_SUBJECT;, &i18n-INF_TRACK;, &i18n-INF_VBR_QUALITY;, &i18n-INF_VERSION;,

### &no-i18n-plugin_codec_wav; (Codificador de WAV)

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_codec_wav;`

&i18n-plugin_lbl_type;

- codificador

&i18n-plugin_lbl_file_types;

- &i18n-plugin-lbl_file_type_description; | Áudio WAV
  &i18n-plugin-lbl_file_type_extensions; | `*.wav`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-wav`, `audio/vnd.wave`, `audio/wav`

&i18n-plugin_lbl_meta_data;

- &i18n-INF_ALBUM;, &i18n-INF_ANNOTATION;, &i18n-INF_ARCHIVAL;, &i18n-INF_AUTHOR;, &i18n-INF_CD;, &i18n-INF_COMMENTS;, &i18n-INF_COMMISSIONED;, &i18n-INF_CONTACT;, &i18n-INF_COPYRIGHT;, &i18n-INF_CREATION_DATE;, &i18n-INF_ENGINEER;, &i18n-INF_GENRE;, &i18n-INF_ISRC;, &i18n-INF_KEYWORDS;, &i18n-INF_LICENSE;, &i18n-INF_MEDIUM;, &i18n-INF_NAME;, &i18n-INF_ORGANIZATION;, &i18n-INF_PERFORMER;, &i18n-INF_PRODUCT;, &i18n-INF_SOFTWARE;, &i18n-INF_SOURCE;, &i18n-INF_SOURCE_FORM;, &i18n-INF_SUBJECT;, &i18n-INF_TECHNICAN;, &i18n-INF_TRACK;, &i18n-INF_VERSION;,

### &no-i18n-plugin_debug; (Funções de Depuração)

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_debug;`

&i18n-plugin_lbl_type;

- função

&i18n-plugin_lbl_description;

- Oferece diversos comandos internos úteis para a depuração e programação do &kwave;. Estas funções só estão disponíveis através do menu principal, caso o &kwave; tenha sido compilado no modo de depuração (ver as opções de compilação).

&i18n-plugin_lbl_commands;

- , , , ,

### &no-i18n-plugin_fileinfo; (Informação de Ficheiros)

Imagem Imagem da Janela de Informações do Ficheiro

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_fileinfo;`

&i18n-plugin_lbl_type;

- gui

&i18n-plugin_lbl_description;

- Oferece uma janela para ver e mudar os parâmetros e meta-dados do ficheiro aberto de momento. Veja a secção deste manual.

### &no-i18n-plugin_goto; (Ir para uma Posição)

Imagem Imagem do 'Plugin' de Mudança de Posição

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_goto;`

&i18n-plugin_lbl_type;

- função

&i18n-plugin_lbl_description;

- Mostra uma janela com a possibilidade de mudar a posição actual da selecção para um novo valor, seja ele um tempo em milisegundos, uma posição em amostras ou uma percentagem do tamanho do ficheiro actual.

&i18n-plugin_lbl_commands;

&i18n-plugin_lbl_parameters;

- `modo`

- valor | descrição
  &no-i18n-tag;`0` | a posição é indicada em milisegundos
  &no-i18n-tag;`1` | a posição é dada em amostras
  &no-i18n-tag;`2` | a posição é indicada como uma percentagem do tamanho do ficheiro

`posição`

- a posição para onde ir, em milisegundos, amostras ou uma percentagem do tamanho do ficheiro, dependendo do parâmetro `modo`.

### &no-i18n-plugin_insert_at; (Inserir Em)

Imagem Imagem do 'Plugin' de Inserção

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_insert_at;`

&i18n-plugin_lbl_type;

- função

&i18n-plugin_lbl_description;

- Semelhante ao 'plugin' , mas mostra uma janela com a possibilidade de inserir o conteúdo actual da área de transferência numa dada posição, seja esta um tempo em milisegundos, uma posição em amostras ou uma percentagem do tamanho do ficheiro actual.

&i18n-plugin_lbl_commands;

&i18n-plugin_lbl_parameters;

- `modo`

- valor | descrição
  &no-i18n-tag;`0` | a posição é indicada em milisegundos
  &no-i18n-tag;`1` | a posição é dada em amostras
  &no-i18n-tag;`2` | a posição é indicada como uma percentagem do tamanho do ficheiro

`posição`

- a posição onde inserir os dados da área de transferência, em milisegundos, amostras ou uma percentagem do tamanho do ficheiro, dependendo do parâmetro `modo`.

### &no-i18n-plugin_lowpass; (Filtro Passa-Baixo)

Imagem Imagem do 'Plugin' do Filtro Passa-Baixo

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_lowpass;`

&i18n-plugin_lbl_type;

- efeito

&i18n-plugin_lbl_description;

- Aplica um filtro passa-banda simples à selecção actual. Um filtro passa-banda permite que uma dada gama de frequências em torno de uma frequência de corte passe e retire (filtre) as frequências acima da frequência de corte.

  O filtro é de 2º grau e está implementado segundo a forma descrita no livro "The manifold joys of conformal mapping, applications to digital filtering in the studio" de James A. Moorer (JAES, Vol. 31, Nº. 11, Novembro de 1983).

&i18n-plugin_lbl_parameters;

- `frequência`

- A frequência de corte do filtro passa-baixo em Hz.

### &no-i18n-plugin_memory; (Configuração da Memória)

Imagem Imagem do 'Plugin' de Configuração da Memória

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_memory;`

&i18n-plugin_lbl_type;

- gui

&i18n-plugin_lbl_description;

- Oferece uma janela para configurar a utilização de memória do &kwave;. Consulte por favor a secção sobre a Configuração da Memória para obter uma descrição.

&i18n-plugin_lbl_parameters;

- `limitação da memória física`

- Se for igual a zero, a utilização da memória física não será limitada; caso contrário, a utilização da memória física será limitada.

`limite da memória física`

- Limitação da memória física em unidades de MB inteiros. Só fará efeito quando o parâmetro `limitação da memória física` tiver sido configurado com um valor diferente de zero.

`memória virtual activa`

- Se for igual a zero, a utilização da memória virtual será desactivada; caso contrário, a utilização da memória virtual será activada.

`limitação da memória virtual`

- Se for igual a zero, a utilização de memória virtual não será limitada; caso contrário, a utilização de memória virtual terá o limite indicado. Só fará efeito quando o parâmetro `memória virtual activa` tiver sido configurado com um valor diferente de zero.

`limite de memória virtual`

- Limitação da memória virtual em unidades de MB inteiros. Só fará efeito quando os parâmetros `memória virtual activa` e `limitação da memória virtual` tiverem sido configurados com um valor diferente de zero.

`pasta virtual`

- A pasta a usar para guardar os ficheiros de memória virtual que serão usados. Só fará efeito se a opção `memória virtual activa` tiver sido configurada com um valor diferente de zero.

### &no-i18n-plugin_newsignal; (Novo Sinal)

Imagem Imagem do 'Plugin' de Novo Sinal

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_newsignal;`

&i18n-plugin_lbl_type;

- função

&i18n-plugin_lbl_description;

- Oferece uma janela para criar um novo ficheiro. Consulte por favor a secção deste manual para obter mais informações.

&i18n-plugin_lbl_commands;

- ,

### &no-i18n-plugin_noise; (Gerador de Ruído)

Imagem Imagem do 'Plugin' de Geração de Ruído

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_noise;`

&i18n-plugin_lbl_type;

- efeito

&i18n-plugin_lbl_description;

- Adiciona uma dada quantidade de ruído branco à selecção actual. A quantidade de ruído poderá ser escolhida entre zero (sem ruído, ficando o original inalterado) e um (o original será substituído por 100% de ruído).

&i18n-plugin_lbl_parameters;

- `nível`

- O nível de ruído, sendo um número de vírgula flutuante superior a zero e menor ou igual a um.

`modo`

- valor | descrição
  &no-i18n-tag;`0` | Indique o valor do ruído como uma percentagem da amplitude entre 0 e 100.
  &no-i18n-tag;`1` | Indique o ruído em decibel, numa gama de -21 dB a 0 dB.

### &no-i18n-plugin_normalize; (Normalizador)

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_normalize;`

&i18n-plugin_lbl_type;

- efeito

&i18n-plugin_lbl_description;

- Normaliza o nível de volume da selecção actual. Use isto se o volume do seu sinal for demasiado baixo ou demasiado alto.

  O algoritmo foi retirado do projecto normalize e foi criado originalmente por Chris Vaill .

### &no-i18n-plugin_notch_filter; (Filtro Corta-Banda)

Imagem Imagem do 'Plugin' do Filtro Corta-Banda

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_notch_filter;`

&i18n-plugin_lbl_type;

- efeito

&i18n-plugin_lbl_description;

- Aplica um filtro corta-banda à selecção actual. Um filtro passa-banda remove uma dada gama estreita de frequências em torno de uma frequência central passe e retire (filtre) as frequências acima ou abaixo da frequência central numa diferença superior a metade da largura de banda do filtro.

  Use isto para filtrar as frequências de distorção individuais.

  O filtro é de 2º grau e foi desenvolvido segundo a implementação de Juhana Sadeharju .

&i18n-plugin_lbl_parameters;

- `frequência`

- Frequência central do filtro em Hz; deverá ser menor que metade da taxa de amostragem do ficheiro.

`largura de banda`

- A largura de banda do filtro em Hz.

### &no-i18n-plugin_pitch_shift; (Desvio de Tom)

Imagem Imagem do 'Plugin' do Desvio de Tom

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_pitch_shift;`

&i18n-plugin_lbl_type;

- efeito

&i18n-plugin_lbl_description;

- O efeito de desvio de tom modifica o sinal, alterando a velocidade do conteúdo, mas mantendo o tamanho original. Poderá seleccionar a velocidade relativa como um factor entre 1/10 e 5x, ou como uma percentagem entre 1% e 400% da velocidade original.

  Um factor de velocidade inferior a 1,0 torna o sinal mais grave (voz mais grave, semelhante a um idoso), o factor 1,0 não alterada nada e um factor superior a 1,0 torna o sinal mais agudo (voz mais estridente, semelhante ao Rato Mickey).

  A implementação baseia-se no trabalho de Jeff Tranter e Stefan Westerfeld

&i18n-plugin_lbl_parameters;

- `velocidade`

- O factor de modificação da velocidade; deverá ser um número de vírgula flutuante entre 0,001 e 4,0.

`frequência`

- A frequência interna usada pelo filtro em Hz, sendo um valor entre 2,0 e 10,0.

`modo`

- valor | descrição
  &no-i18n-tag;`0` | Indique o valor da velocidade como um factor entre 1/10 e 5x.
  &no-i18n-tag;`1` | Indique o valor da velocidade como uma percentagem entre 1 e 400.

### &no-i18n-plugin_playback; (Reprodução)

Imagem Imagem do 'Plugin' de Reprodução

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_playback;`

&i18n-plugin_lbl_type;

- função

&i18n-plugin_lbl_description;

- Oferece uma janela para configurar os parâmetros de reprodução. Consulte por favor a secção deste manual para mais informações.

&i18n-plugin_lbl_parameters;

- `método de reprodução`

- O método usado na reprodução; veja o ficheiro `PlayBackParam.h`.

`dispositivo de reprodução`

- Um texto que determina o dispositivo ou canal de reprodução. O significado depende do método de reprodução.

`canais`

- O número de canais a usar para a reprodução, suportando de momento 1 (mono) ou 2 (estéreo).

`'bits' por amostra`

- O número de 'bits' por amostra da reprodução, sendo um dos valores 8, 16, 24 ou 32. Depende do método e do dispositivo de reprodução.

`tamanho do 'buffer'`

- Determina o tamanho do 'buffer' (memória intermédia) de reprodução, usando como um expoente para calcular o tamanho real do 'buffer' como 2^n; p.ex, se definir este valor como 16, irá criar um 'buffer' com o tamanho igual a 2^16 = 64 kB.

### &no-i18n-plugin_record; (Gravar)

Imagem Imagem do 'Plugin' de Gravação

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_record;`

&i18n-plugin_lbl_type;

- função

&i18n-plugin_lbl_description;

- Oferece uma janela para configurar os parâmetros de gravação. Consulte por favor a secção para obter uma descrição.

&i18n-plugin_lbl_parameters;

- `método de gravação`

- O método usado na gravação; veja o ficheiro `RecordParams.h`.

`pré-gravação activada`

- Activar/desactivar a pré-gravação (1 se activada, 0 se desactivada).

`tempo de pré-gravação`

- Número de segundos por pré-gravação.

`limite do tempo de gravação`

- Activar/desactivar a limitação do tempo de gravação (1 se limitada, 0 se não limitada).

`tempo de gravação`

- A duração da gravação em segundos.

`usar o tempo inicial`

- Activar/desactivar o tempo inicial (1 se usado, 0 se não usado).

`hora de início`

- Data/hora de início da gravação, no formato ISO.

`usar um nível de activação`

- Activar/desactivar um nível de disparo/activação (1 se usado, 0 se não usado).

`nível de activação`

- O nível de activação como uma percentagem.

`dispositivo de gravação`

- Um texto que define o dispositivo de gravação.

`canais`

- O número de canais a usar para a gravação.

`taxa de amostragem`

- A taxa de amostragem em amostras por segundo.

`compressão`

- A compressão a usar para gravar as amostras.

`formato da amostra`

- O formato das amostras a usar para gravar as amostras; consulte a secção sobre os formatos das amostras.

`'bits' por amostra`

- O número de 'bits' por amostra na gravação; deverá ser um dos números 8, 16, 24 ou 32.

`número de 'buffers'`

- Define o número de 'buffers' usados na gravação.

`tamanho do 'buffer'`

- Determina o tamanho do 'buffer' (memória intermédia) de gravação, usado como um expoente para calcular o tamanho real do 'buffer' como 2^n; p.ex, se definir este valor como 16, irá criar um 'buffer' com o tamanho igual a 2^16 = 64 kB.

Parâmetros Alternativos:

- `modo directo do 'plugin' de gravação`

- Pode ser usado como um único parâmetro para configurar o 'plugin'. São possíveis os seguintes valores:

  valor | descrição
  &no-i18n-tag;`format` | Abre a janela de gravação e selecciona a página do Formato.
  &no-i18n-tag;`source` | Abre a janela de gravação e selecciona a página Fonte.
  &no-i18n-tag;`start_now` | Abre a janela de gravação e inicia directamente a gravação.

### &no-i18n-plugin_reverse; (Inverter)

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_reverse;`

&i18n-plugin_lbl_type;

- efeito

&i18n-plugin_lbl_description;

- Este efeito simples inverte o conteúdo da selecção actual.

### &no-i18n-plugin_samplerate; (Conversão de Taxas de Amostragem)

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_samplerate;`

&i18n-plugin_lbl_type;

- efeito

&i18n-plugin_lbl_description;

- Muda a taxa de amostragem da selecção actual ou de todo o sinal.

&i18n-plugin_lbl_parameters;

- `nova taxa`

- A nova taxa de amostragem, em amostras por segundo (valor de vírgula flutuante).

`modo` (opcional)

- Se este parâmetro for usado e configurado com o valor "`all`" (tudo), então este efeito será aplicado em todo o sinal. Caso contrário, será apenas aplicado à selecção actual.

### &no-i18n-plugin_saveblocks; (Gravação de Blocos)

Imagem Imagem do 'Plugin' de Gravação de Blocos

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_saveblocks;`

&i18n-plugin_lbl_type;

- função

&i18n-plugin_lbl_description;

- Grava cada uma das secções entre marcações num ficheiro separado. Cada ficheiro terá um nome que poderá ser personalizado através de um padrão que poderá conter o nome original do ficheiro, um índice e o número de secções.

  Também é permitido que o padrão de nomes de ficheiros contenha barras normais como separadores de ficheiros, o que permite gravar as secções em sub-pastas diferentes. Lembre-se que todos os caracteres de espaços em branco em torno desses separadores serão removidos de forma silenciosa, para evitar a criação de nomes de pastas que comecem ou terminem com espaços em branco.

&i18n-plugin_lbl_parameters;

- `nome`

- O nome do ficheiro original, o qual será usado como base para os nomes dos ficheiros.

`padrão`

- Um padrão que será usado para criar os nomes dos ficheiros. Poderá conter as seguintes sequências especiais, que serão substituídas pelo conteúdo correspondente ao criar o nome final do ficheiro:

  sequência especial | descrição
  &no-i18n-tag;`[%nr]` | Será substituído pelo índice actual do ficheiro a gravar.
  &no-i18n-tag;`[%count]` | Será substituído pelo número de secções que será gravado.
  &no-i18n-tag;`[%total]` | Será substituído pelo índice do último ficheiro a gravar.
  &no-i18n-tag;`[%filename]` | Será substituído pelo nome de base do ficheiro, sem localização e sem extensão.
  &no-i18n-tag;`[%fileinfo{`palavra-chave`}]` | Será substituído pelo conteúdo da informação de um ficheiro identificado pela `palavra-chave`. Veja a secção para obter uma lista de todas as palavras-chave disponíveis.
  &no-i18n-tag;`[%title]` | Será substituído pelo título do bloco, que é retirado do texto descritivo da legenda no início do bloco. Se esses texto estiver vazio, irá usar em alternativa o título do ficheiro (veja o item de informação do ficheiro "Name"). Se este também não existir, irá usar como alternativa o nome do ficheiro de base descrito acima.

  Todas as sequências especiais numéricas poderão também conter um argumento numérico a seguir ao "`%`" e antes do identificador, para forçar um dado número de algarismos. Se o número for antecedido de um `0`, então irá conter zeros iniciais; caso contrário, irá conter espaços iniciais.

  Exemplo: o ``[%04nr]`` produz um número entre 0001 e 9999.

`modo de numeração`

- Define onde é que a numeração deverá começar.

  valor | descrição
  &no-i18n-tag;`0` | Continuar a seguir ao índice maior que já exista, evitando a sobreposição de ficheiros existentes.
  &no-i18n-tag;`1` | Começar sempre no índice 1, correndo o risco de sobrepor os ficheiros existentes.

`apenas a selecção`

- valor | descrição
  &no-i18n-tag;`0` | Grava todas as secções do ficheiro inteiro.
  &no-i18n-tag;`1` | Grava apenas as secções que existam dentro da selecção actual. Caso não esteja nada seleccionado, será gravado o ficheiro inteiro.

### &no-i18n-plugin_selectrange; (Selecção de Intervalos)

Imagem Imagem do 'Plugin' de Selecção de Intervalos

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_selectrange;`

&i18n-plugin_lbl_type;

- função

&i18n-plugin_lbl_description;

- Mostra uma janela para seleccionar uma gama de amostras. O início e a duração da selecção poderão ser definidos com um tempo em milisegundos, uma posição em amostras ou uma percentagem do tamanho do ficheiro actual.

&i18n-plugin_lbl_parameters;

- `modo de início`

- Define as unidades nas quais será indicado o início da selecção.

  valor | descrição
  &no-i18n-tag;`0` | milisegundos
  &no-i18n-tag;`1` | amostras
  &no-i18n-tag;`2` | percentagem da duração do ficheiro

`modo do intervalo`

- Determina as unidades nas quais a duração da selecção será indicada. Veja a descrição do parâmetro `modo de início` para obter uma lista dos valores possíveis.

`início`

- O início da selecção, em milisegundos, amostras ou uma percentagem do tamanho do ficheiro, dependendo do parâmetro `modo do intervalo`.

`duração`

- A duração da selecção, em milisegundos, amostras ou uma percentagem do tamanho do ficheiro, dependendo do parâmetro `modo do intervalo`.

### &no-i18n-plugin_sonagram; (Audiograma)

Imagem Imagem da Janela de Configuração do 'Plugin' do Audiograma Imagem Imagem da Janela do Audiograma

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_sonagram;`

&i18n-plugin_lbl_type;

- função

&i18n-plugin_lbl_description;

- Avalia a selecção actual, gerando um audiograma. Um audiograma é uma avaliação de um sinal ao longo do tempo (eixo dos X), frequência (eixo dos Y) e da intensidade (cor).

&i18n-plugin_lbl_parameters;

- `Pontos da FFT`

- O número de pontos da FFT, sendo um número inteiro entre 4 e 32767 que determina a resolução da frequência.

`função de janela`

- A função de janela usada para o cálculo da FFT, sendo os valores suportados os seguintes:

  valor | descrição
  &no-i18n-tag;`none` | sem função de janela
  &no-i18n-tag;`hamming` | Janela de Hamming
  &no-i18n-tag;`hanning` | Janela de Hanning
  &no-i18n-tag;`blackman` | Janela de Blackman
  &no-i18n-tag;`triangular` | Janela triangular

`usar cores`

- Se for configurado com um valor diferente de zero, a geração irá usar cores para a intensidade; se for configurado como zero, irá usar tons de cinzento.

`mudanças de faixas`

- Se for configurado com um valor diferente de zero, o audiograma será actualizado quando a área que foi avaliada tiver mudado. Se o valor for zero, nunca será alterado.

`seguir a selecção`

- Ainda por implementar; use o valor zero neste parâmetro.

### &no-i18n-plugin_stringenter; (Introdução de Comandos)

Imagem Imagem do 'Plugin' de Introdução de Comandos

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_stringenter;`

&i18n-plugin_lbl_type;

- função

&i18n-plugin_lbl_description;

- Oferece uma janela que permite introduzir um comando de texto do &kwave;. Consulte por favor a secção para obter uma descrição.

&i18n-plugin_lbl_parameters;

- `predefinição` (opcional)

- Um texto que é apresentado no campo de texto ao entrar na janela. Este parâmetro é opcional; caso seja omitido, o campo de texto da janela estará vazio no início.

### &no-i18n-plugin_volume; (Volume)

Imagem Imagem do 'Plugin' de Volume

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_volume;`

&i18n-plugin_lbl_type;

- efeito

&i18n-plugin_lbl_description;

- Com este 'plugin', poderá alterar o volume da selecção actual através de um factor constante. A janela correspondente permite a introdução deste factor como um factor numérico, dado como um valor de vírgula flutuante entre 0,10 e 10,0, uma percentagem entre 1 e 1000 ou em decibéis entre -21 e +21.

  Use um factor acima de 1,0 (ou uma percentagem maior que que 100 ou com mais de 0 dB), caso o ficheiro esteja demasiado baixo, ou um factor abaixo de 1,0 (percentagem abaixo de 100 ou menor que 0 dB), caso o ficheiro esteja demasiado alto.

&i18n-plugin_lbl_parameters;

- `factor`

- Um valor de vírgula flutuante com o factor de amplificação.

`modo`

- valor | descrição
  &no-i18n-tag;`0` | factor
  &no-i18n-tag;`1` | percentagem
  &no-i18n-tag;`1` | decibel

### &no-i18n-plugin_zero; (Gerador de Zeros)

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_zero;`

&i18n-plugin_lbl_type;

- efeito

&i18n-plugin_lbl_description;

- Este 'plugin' tem dois modos de operação. Se for usado sem parâmetros, irá limpar a selecção actual, sobrepondo-a com silêncio. Quando for usado com dois parâmetros, ela insere uma dada quantidade de silêncio no início da selecção actual.

&i18n-plugin_lbl_parameters;

- `modo de duração`

- Define as unidades nas quais a duração do silêncio introduzido será indicado.

  valor | descrição
  &no-i18n-tag;`0` | milisegundos
  &no-i18n-tag;`1` | amostras
  &no-i18n-tag;`2` | percentagem da duração do ficheiro

`duração`

- A duração do silêncio a introduzir, como um tempo em milisegundos, uma posição em amostras ou uma percentagem do tamanho do ficheiro actual, dependendo do parâmetro `modo de duração`.

## Guia de Programação do &kwave;

em construção

Infelizmente, este capítulo ainda está por escrever... De momento, o código-fonte está quase todo documentado com marcas adequadas para as ferramentas de documentação do KDE. De momento, continuamos a preferir usar o doxygen. Talvez um dia se crie uma ferramenta que converta o resultado do 'doxygen' para algo que se possa incluir no código de Docbook (o código em que foi criada esta página).

Se quiser criar um 'plugin', contribuir com algo para este projecto (ou até mesmo criar o conversor mencionado acima), por favor sinta-se à vontade em contactar directamente um dos autores e / ou inscrever-se na lista de correio do &kwave;. Toda a ajuda é sempre bem-vinda.

### Criar a documentação da API

Se estiver interessado nos detalhes internos do &kwave; e tiver o doxygen instalado, então poderá escrever:

    % make apidoc

para obter uma pasta ``apidoc/html``, com a documentação do código e a API interna na sua pasta de compilação actual.

### Iniciar num ambiente de teste

Se estiver a desenvolver ou a testar o &kwave;, então não precisa necessariamente de instalar/desinstalar o &kwave; após cada compilação. Em vez disso, poderá usar a aplicação onde foi compilada, usando um programa envolvente. Este programa envolvente poderá ser criado com o seguinte comando:

    % make wrapper

O programa terá o nome ``kw``; sinta-se à vontade em modificá-la de acordo com o seu sistema, se necessário.

Para isto funcionar, não deverá ter o &kwave; instalado no seu sistema. Se for o caso, desinstale primeiro o pacote!

## Perguntas e Respostas

O que preciso para compilar o &kwave;?

Leia o capítulo de requisitos mencionado anteriormente.

Quais as placas de som que o &kwave; suporta?

O &kwave; não precisa do suporte para nenhuma placa de som em especial. A placa de som só terá de ser suportada pelo seu sistema operativo e o &kwave; irá usar a sua interface para o controlador do sistema operativo, através do OSS ou do ALSA. Como tal, o &kwave; poderá tocar em qualquer placa de som onde o KDE consiga também tocar sons.

Porque é que o &kwave; consome mais memória do que o esperado, face ao tamanho do ficheiro aberto?

A razão para tal é que o &kwave; guarda internamente todas as amostras como números inteiros de 32 bits. Isto foi fácil de programar, tornou a aplicação mais rápida e bastante mais fiável. Como tal, se carregar um ficheiro de 8-bits com cerca de 1 MB, ele irá consumir à volta de 4 MB. Talvez um dia isso mude no futuro...

Quais os formatos de som que o &kwave; suporta?

O &kwave; suporta de momento os ficheiros .wav com 8, 16 e 24 bits por amostra, com um número qualquer de canais (obviamente, incluindo o mono e o estéreo). Para além disso, consegue importar todos os tipos de ficheiros que a 'libaudiofile' suporta, bem como outros formatos como o Ogg/Vorbis e o MP3.

E se tiver ficheiros num formato não suportado pelo &kwave;?

Se tiver de lidar com um formato diferente, podê-lo-á converter para o formato .wav. Um bom conjunto de ferramentas para esse fim é o pacote SoX, que possui uma óptima documentação!

Obtenho erros quando tento reproduzir sons?

Talvez tenha escolhido uma combinação de taxas de reprodução e tamanhos das amostras que não sejam suportados pelo seu controlador ou 'hardware' de som. Tente reproduzir com 8 bits por amostra e no formato mono em primeiro lugar, porque deverá funcionar quase sempre. Depois, tente aumentar os 'bits' por amostra e a reprodução em estéreo, passo-a-passo. Lembre-se que algumas taxas de amostragem não são suportadas de todo por algum 'hardware' de som.

A reprodução parece fazer algo mas eu não oiço nada?

Talvez se tenha esquecido de aumentar o volume do canal de reprodução. O &kwave; não é responsável por modificar o volume da reprodução.

Alguns ficheiros são tocados a metade da velocidade. Porquê?

Tente escolher um dispositivo de reprodução de som diferente.

A reprodução parece ter alguns distúrbios e interrupções. Porquê?

Deverá aumentar o tamanho do 'buffer' (memoria intermédia) de reprodução para obter uma reprodução "mais suave" (também faz com que o controlo de reprodução reaja um pouco mais devagar).

A reprodução não pára se eu carregar imediatamente no botão Parar. Porquê?

A razão para tal é que o controlador de som já recebeu alguns dados de reprodução do &kwave;, a partir do momento em que carregou no botão para Parar. Diminua o tamanho do 'buffer' de reprodução para que ele reaja mais depressa (se bem que torna as interrupções mais frequentes).

O ALSA é suportado?

Sim, na reprodução e gravação, desde a versão 0.7.4

E a reprodução com 18, 20, 24 ou 32 bits por amostra e com mais de dois canais?

Isto é possível através da interface ALSA, desde a versão 0.7.4.

E o suporte para MP3?

Bem, enquanto existirem problemas de patentes, só suportamos a importação de MP3 através da biblioteca 'mad' e a exportação através do programa externo lame. Para além disso, terá de ter a permissão de usar o código coberto pelas patentes do MP3 quando gerar um pacote do Kwave para distribuição!

## Créditos e Licença

&kwave;

Programa com 'copyright' 1998-2000 de Martin Wilz martin@wilz.de

Programa com 'copyright' desde 2000 de Thomas Eschenbacher thomas.eschenbacher@gmx.de

Para uma lista completa dos autores e licenças de todos os ficheiros, consulte por favor o ficheiro `LICENSES`, que vem incluído no código-fonte. Existe também um ficheiro com o nome `AUTHORS`, que apresenta todos os autores e contribuintes do &kwave;.

Documentação com 'copyright' (C) &version_year; Thomas Eschenbacher thomas.eschenbacher@gmx.de

Tradução de José Nuno Pires zepires@gmail.com

&underFDL; &underGPL;

### Autores Principais

- Martin Wilz martin@wilz.de

  criador do projecto, desenvolvimento activo em 1998-2000

- Thomas Eschenbacher thomas.eschenbacher@gmx.de

  manutenção desde 2000, desenvolvimento de base

### Contribuições Importantes

- Aurelien Jarno aurel32@debian.org

  pacotes de Debian, modificações

- Carlos R pureacetone@gmail.com

  tradução para Espanhol

- David Flogeras dflogera@nbnet.nb.ca

  'Plugin' de Filtro Corta-Banda

- Gilles Caulier caulier.gilles@free.fr

  I18n, traduções para Francês, ecrã inicial, testes da versão beta

- Pavel Fric pavelfric@seznam.cz

  Tradução para Checo

- Ralf Waspe rwaspe@web.de

  'Plugin' de Ajuda/Acerca

- Sven-Steffen Arndt ssa29@gmx.de

  página Web, tradução para Alemão

### Pequenas contribuições, detentores de direitos de cópia e outros

- Aaron Holtzman aholtzma@ess.engr.uvic.ca

  libkwave/cpu_accel.cpp

- Bertrand Songis bsongis@gmail.com [histórico]

  correcções da tradução para Francês, substituições de código patenteado da 'libaudiofile', erro da Debian 419124

- Carsten Lohrke carlo@gentoo.org

  svn r2163, correcção da detecção da 'libaudiofile'

- Chris Vaill chrisvaill@gmail

  base de código para o 'plugin' de normalização

- David Faure faure@kde.org

  cmake/FindAlsa.cmake

- Diederick de Vries diederick76@gmail.com

  pacotes para o Crux Linux

- Espen Sand espen@kde.org + Mirko Boehm mirko@kde.org

  K3AboutContainer, base do KwaveAboutContainer

- Everaldo Coelho contact@everaldo.com

  o tema de ícones Crystal de http://www.everaldo.com/crystal/

- Jaroslav Kysela

  partes do plugins/playback/PlayBack-ALSA.cpp

- Jeff Tranter

  partes do plugins/pitch_shift/PitchShiftFilter.{h,cpp}

- Juhana Sadeharju kouhia@nic.funet.fi

  plugins/band_pass/BandPass.{h,cpp}, plugins/lowpass/LowPassFilter.cpp, plugins/notch_filter/NotchFilter.{h,cpp}

- Kurt Roeck Q@ping.be

  svn r1370, correcção do erro da Debian #288781, compilação para AMD64

- Mark Donohoe (KDE) donohoe@kde.org

  alguns ícones e imagens para a barra de ferramentas e interface

- Martin Hinsch vidas@sourceforge.net

  Classe Matrix

- Matthias Kretz kretz@kde.org

  cmake/FindAlsa.cmake

- Miguel Freitas

  partes do libkwave/memcpy.c

- Richard Laerkaeng, richard@goteborg.utfors.se

  cmake/FindOggVorbis.cmake

- Rik Hemsley rik@kde.org

  medidores de níveis

- Stefan Westerfeld stefan@space.twc.de

  partes do plugins/pitch_shift/PitchShiftFilter.{h,cpp}

- Joerg-Christian Boehme joerg@chaosdorf.de

  plugins/record/Record-PulseAudio.cpp plugins/record/Record-PulseAudio.h

### Agradecimentos a

- Martin Kuball makube@user.sourceforge.net

  testes de versões beta

- Jorge Luis Arzola arzolacub@gmx.de

  pacotes da SuSE Linux

- Michael Favreau michel.favreau@free.fr

  pacotes do Arch Linux

- Matthias Düsterhöft duesti@gmx.de

  para informações sobre a optimização no RPM

- T.H.F. Klok e Cedric Tefft

  manutenção da biblioteca id3lib

- Robert Leslie rob@mars.org

  autoria da biblioteca de descodificação de MP3 mad

- Robert M. Stockmann stock@stokkie.net

  pacotes do Mandrake / X86_64

- Erik de Castro Lopo erikd@zip.com.au

  autoria da biblioteca sndfile

- Michael Pruett mpruett@sgi.com

  autoria da biblioteca audiofile

## Informações do Ficheiro

## Lista de Identificadores de Informação dos Ficheiros

Palavra-Chave |  | Descrição
&no-i18n-tag;Álbum | Nome do álbum, caso a origem seja um álbum que consiste em mais discos.
&no-i18n-tag;Anotação | Oferece comentários gerais acerca do ficheiro ou do assunto do ficheiro. O comentário pode ter várias frases e cada frase pode ser separada com um ponto. Não inclua caracteres de mudança de linha!
&no-i18n-tag;Localização do arquivo | Indica onde o assunto do ficheiro fica arquivado.
&no-i18n-tag;Autor | Identifica o nome do autor do assunto original do ficheiro. Exemplo: van Beethoven, Ludwig
&no-i18n-tag;Taxa de Dados Inferior | Indica o limite inferior numa transmissão de dados VBR.
&no-i18n-tag;Modo da Taxa de Dados | Modo da Taxa de Dados (ABR, VBR, CBR, etc...)
&no-i18n-tag;Taxa de Dados | Taxa de dados nominal da transmissão de áudio em bits por segundo
&no-i18n-tag;Taxa de Dados Superior | Indica o limite superior numa transmissão de dados VBR.
&no-i18n-tag;Bits por Amostra | Define o número de 'bits' por amostra.
&no-i18n-tag;CD | O número do CD, caso a origem seja um álbum com mais CD's
&no-i18n-tag;CDS | A quantidade de CD's, caso a origem seja um álbum com mais CD's
&no-i18n-tag;Comissão | Indica o nome da pessoa ou organização responsável pela comissão do assunto do ficheiro.
&no-i18n-tag;Comentários | Oferece comentários gerais acerca do ficheiro ou do assunto do ficheiro. O comentário pode ter várias frases e cada frase pode ser separada com um ponto. Não inclua caracteres de mudança de linha!
&no-i18n-tag;Compressão | Define o modo de compressão dos dados para reduzir o espaço em disco.
&no-i18n-tag;Contacto | Informação de contacto dos criadores ou distribuidores da faixa. Isto poderá ser um URL, um endereço de e-mail ou o endereço físico da produtora.
&no-i18n-tag;Copyright | Regista a informação de direitos de cópia do ficheiro. Se existirem diversos direitos de cópia, separe-os com um ponto-e-vírgula seguido de um espaço. Exemplo: Copyright comunidade do Linux 2002
&no-i18n-tag;Com Copyright | Indica se o ficheiro está protegido por direitos de cópia ou não.
&no-i18n-tag;Data | Define a data em que o assunto do ficheiro foi criado. Exemplo: 2001-12-24
&no-i18n-tag;Engenheiro | Mostra o nome do engenheiro que trabalhou no ficheiro. Se existirem vários engenheiros, separe os nomes com um ponto-e-vírgula e um espaço.
&no-i18n-tag;Tamanho Estimado | A duração estimada do ficheiro em amostras
&no-i18n-tag;Nome do ficheiro | Nome do ficheiro aberto
&no-i18n-tag;Tamanho do Ficheiro | Tamanho do ficheiro em 'bytes'
&no-i18n-tag;Género | Descreve o género ou estilo do trabalho original. Exemplos: clássica, pop
&no-i18n-tag;ISRC | O número ISRC da faixa; veja a página introdutória do ISRC para saber mais informações sobre os números ISRC. http://www.ifpi.org/site-content/online/isrc_intro.html
&no-i18n-tag;Palavras-Chave | Oferece uma lista de palavras-chave que dizem respeito ao ficheiro ou assunto do ficheiro.
&no-i18n-tag;Legendas | A lista de legendas/marcadores.
&no-i18n-tag;Tamanho | O tamanho do ficheiro em amostras.
&no-i18n-tag;Licença | A informação da licença, p.ex. Todos os Direitos Reservados, Todo o Uso Permitido, um URL para uma licença ou a Open Audio License da EFF (distribuído segundo os termos da Open Audio License. Veja mais detalhes em http://www.eff.org/IP/Open_licenses/eff_oal.html), etc.
&no-i18n-tag;Meio | Descreve o sujeito original do ficheiro, onde foi gravado da primeira vez. Exemplo: orquestra
&no-i18n-tag;Tipo MIME | Tipo MIME do formato do ficheiro
&no-i18n-tag;Ênfase | Modo de ênfase do áudio
&no-i18n-tag;Nível | MPEG Nível I, II ou III
&no-i18n-tag;Extensão do Modo | Extensão do Modo de MPEG (apenas se Estéreo-Conjunto)
&no-i18n-tag;Versão | Versão do MPEG, 1, 2 ou 2.5
&no-i18n-tag;Nome | Guarda o título do assunto do ficheiro. Exemplo: Sinfonia No.6, Op.68 "Pastoral"
&no-i18n-tag;Tamanho da Trama Opus | Tamanho da trama do Opus em ms (os valores suportados são 2.5, 5, 10, 20, 40, ou 60 ms)
&no-i18n-tag;Organização | Nome da organização que produziu a faixa (i.e., a produtora)
&no-i18n-tag;Original | Indica se o ficheiro é um original ou uma cópia
&no-i18n-tag;Artista | Os artistas que desempenharam o trabalho. Na música clássica, isto seria o maestro, a orquestra ou os solistas. Num livro de áudio, seria o actor que fez a leitura.
&no-i18n-tag;Privado | Indica se o assunto é privado
&no-i18n-tag;Produto | Define o nome ou o título para o qual foi criado o ficheiro. Exemplo: Colecção de áudio em Linux
&no-i18n-tag;Formato da Amostra | O formato usado para gravar as amostras de áudio digitalizadas. Exemplo: 32-bits IEEE de vírgula flutuante
&no-i18n-tag;Taxa de Amostragem | Número de amostras por segundo
&no-i18n-tag;Software | Identifica o nome do pacote da aplicação usado para criar o ficheiro. Exemplo: Kwave v0.6.4-1
&no-i18n-tag;Origem | Identifica o nome da pessoa ou organização que forneceu o assunto original do ficheiro. Exemplo: Chaotic Sound Research
&no-i18n-tag;Forma da origem | Identifica o formato original do material que foi digitalizado. Exemplos: Disco/Vinil/90RPM, DAT, Cassete/CrO2/60min
&no-i18n-tag;Assunto | Descreve o assunto do ficheiro. Exemplo: Vozes de pássaros de manhã
&no-i18n-tag;Técnico | Identifica o técnico que digitalizou o assunto. Exemplo: Torvalds, Linus
&no-i18n-tag;Faixa | A faixa do CD, caso a origem seja um CD.
&no-i18n-tag;Faixas | O número de faixas do CD, caso a origem seja um CD.
&no-i18n-tag;Canais | Define o número de canais do sinal.
&no-i18n-tag;Qualidade de Base | A qualidade de base da compressão no modo VBR
&no-i18n-tag;Versão | Poderá ser usado para diferenciar várias versões do mesmo título da faixa numa única colectânea. (p.ex., dados do remix)