Aprire e salvare file

L'apertura di file con Kwave funziona come nella maggior parte delle altre applicazioni. Puoi

  • specificare un elenco di file nella riga di comando all'avvio di Kwave,

  • aprire una finestra di Kwave vuota (per esempio con FileNuovo... (Ctrl+W) ) e inserire un file al suo interno trascinando e rilasciando, o puoi

  • aprire un file dal menu con FileApri (Ctrl+O)

  • o uno degli ultimi file aperti di recente con FileApri recenti

  • salvare il file corrente con FileSalva (Ctrl+S),

  • salvare con un nome diverso con FileSalvacome... (Shift+Ctrl+S)

  • salvare tutte le aree che sono separate da contrassegni, ciascuna in un file specifico, con FileSalvaBlocchi...

  • o solo la selezione corrente con FileSalvaSelezione...

Formati di file supportati

Kwave supporti i seguenti formati di file:

  • Il formato di file favorito di Kwave è (come si può intuire dal nome) .wav. Questo formato è molto comune agli altri «sistemi operativi» ed è usato comunemente anche in ambiente Plasma™.

  • Il secondo formato supportato da Kwave è «ASCII». Puoi esportare e importare da ASCII. Fai attenzione perché memorizzare in questo formato può produrre file molto grandi. Il formato del file sarà descritto più avanti.

  • L'importazione .mp3 e .mp2 è disponibile tramite libmad per la decodifica MP3 in combinazione con id3lib per la decodifica dei tag ID3 e lame per la codifica.

  • Importazione ed esportazione Ogg/Vorbis (*.ogg). Vedi https://www.xiph.org per i dettagli.

  • Importazione ed esportazione FLAC (*.flac). Vedi https://xiph.org/flac/ per i dettagli.

  • In aggiunta, puoi importare formati di file come *.8svx (formato di file audio IFF/8SVX), *.au (NeXT, Sun Audio), *.aiff (Audio Interchange Format), *.avr (formato di file Audio Visual Research), *.caf (Core Audio Format), *.nist (formato di file audio NIST SPHERE), *.sf (Berkeley, IRCAM, formato Carl Sound), *.smp (formato Sample Vision), *.snd (NeXT, Sun Audio), *.voc (Creative Voice) e altri tramite l'estensione audiofile.

Convertire a e da .wav

Il modo migliore per lavorare con formati diversi da quelli supportati da Kwave è utilizzare un programma di conversione esterna. Un buon set di strumenti per queste operazioni si trova nel pacchetto SoX, che possiede pure una buona documentazione.

I progetti per il futuro includono il supporto per l'importazione e anche filtri per l'esportazione in ulteriori formati, e forse qualche filtro che utilizzi uno script personalizzabile dall'utente con una chiamata a un filtro esterno, in modo che anche i formati non supportati da SoX possano essere letti e scritti.

Formato di file ASCII

Il formato ASCII è molto utile per scopi scientifici ed educativi. Grazie alla sua semplice struttura puoi scrivere sia file semplici, per tuo conto, con un editor di testo, sia usare il risultato di qualche altra applicazione e convertirlo in ASCII. Dato che il formato è davvero semplice, non dovresti avere grossi problemi a scrivere un convertitore, mentre la maggior parte delle applicazioni scientifiche possiedono normalmente qualche tipo di formato ASCII da usare per l'esportazione.

Il formato di un file ASCII è piuttosto semplice e obbedisce alle seguenti regole:

  1. All'inizio del file è presente un blocco di proprietà, con una proprietà per riga.

  2. Ciascuna riga di proprietà inizia per ##.

  3. Dopo le proprietà è presente un elenco di campioni, con un campione per riga. Quando si usano più canali, i campioni sono separati da virgole.

  4. Le righe potrebbero terminare con un ritorno a capo e, o in alternativa, con un carattere di controllo (line feed character, in modo che anche i file DOS siano supportati). Ma quando salverai, i file saranno sempre salvati con un carattere di controllo alla fine della riga.

  5. Le righe vuote e i caratteri dopo un # sono trattati come commenti e ignorati.

  6. I valori devono essere forniti in formato intero con segno con una frequenza di 24 bit, che è il formato di memorizzazione interno di Kwave.

  7. Qualsiasi cosa dopo un # (ad eccezione delle righe delle proprietà, vedi sopra) sarà trattata come commento e ignorata. Anche le righe vuote saranno ignorate.

Di seguito un esempio di un semplice file ASCII che rappresenta un onda sinusoidale con undici campioni:

Esempio 3.1. contenuto di un file ASCII con una singola onda sinusoidale

## 'rate'=44100
## 'tracks'=2
## 'bits'=16
## 'length'=11
## 'Date'='2013-11-09'
## 'Software'='Kwave-0.8.11 for 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