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 FicheiroNovo... (Ctrl+W) ) e colocar um ficheiro nela por arrastamento ou então

  • abrir um ficheiro através do menu com a opção FicheiroAbrir (Ctrl+O)

  • ou um dos últimos ficheiros abertos recentemente em FicheiroAbrir um Recente

  • gravar o ficheiro actual com FicheiroGravar (Ctrl+S),

  • gravar com um nome diferente em FicheiroGravarComo... (Shift+Ctrl+S)

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

  • ou apenas a selecção actual com FicheiroGravarSelecçã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 http://www.xiph.org.

  • Importação do FLAC (*.flac). Veja mais detalhes em http://flac.sourceforge.net/.

  • 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:

Example 4.1. 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