Manuale di Kwave

# Manuale di Kwave

Thomas Eschenbacher `<thomas.eschenbacher@gmx.de>`

Traduzione della documentazione: Valter Mura
Revisione 24.12.0 (2024-11-09)

Diritto d'autore © 1998-2000 Martin Wilz

Diritto d'autore © 2020 Thomas Eschenbacher

Diritto d'autore © 2024 Mark Penner

Nota Legale

Kwave è un semplice editor dei suoni che si basa su KDE Frameworks.

Lista delle tabelle

4.1. Tabella di traduzione in base alla codifica per URL
A.1. Elenco degli identificatori delle informazioni sul file

Lista degli esempi

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

Capitolo 1. Introduzione
Introduzione

# Capitolo 1. Introduzione

Questo è «Kwave», un semplice editor dei suoni che si basa su KDE Frameworks. Le sue caratteristiche comprendono:

- un'interfaccia utente che può essere utilizzata in modalità scheda, interfaccia a documento singolo o a documenti multipli

- semplici funzioni taglia, copia e incolla

- operazioni di annullamento e ripristino a più livelli

- etichettatura dei segnali

- Funzioni di registrazione, pre-registrazione compresa

- Riproduzione tramite ALSA, PulseAudio, Qt e OSS

- Registrazione tramite ALSA, PulseAudio, Qt e OSS

- Importazione ed esportazione MP3

- Importazione ed esportazione Ogg/Vorbis e Opus

- Importazione ed esportazione FLAC

- alcune funzioni di analisi tipo Sonogramma

- uso interno di precisione a 24 bit fissa per i dati di campionamento

- frequenze di campionamento selezionabili liberamente

- supporto per la modifica di file multicanale

- riproduzione di file audio multicanale (il risultato audio sarà miscelato semplicemente in mono o stereo, se necessario)

- ampliabile tramite un'interfaccia estensioni facile da usare

- importazione ed esportazione di altri formati audio tramite audiofile

Se sei interessato a quello che è stato fatto e che è ancora da fare, dai un'occhiata ai file `CHANGES` e `TODO` inclusi nel pacchetto sorgente. L'aiuto e le critiche costruttive sono sempre benvenute.

## Risorse di Kwave

Se vuoi contattare gli sviluppatori, hai bisogno di ulteriore aiuto per usare Kwave, inviare patch di correzione, segnalare errori o altro, ti potrebbero interessare le risorse seguenti:

- Pagina web del progetto

  Per informazioni sui rilasci aggiornati consulta la pagina di Kwave su apps.kde.org. Per altre informazioni dai uno sguardo alla pagina web di Kwave.

- Repository Git

  Il repository git è ospitato nella istanza Gitlab di KDE qui, ed esiste anche una copia del repository su SourceForge.

Cronologia revisioni di Kwave
Cronologia revisioni di Kwave

## Cronologia revisioni di Kwave

Questo progetto è stato iniziato da Martin Wilz nell'estate 1998 e sviluppato e migliorato da lui e da altre persone. Nel novembre 1999 Thomas Eschenbacher iniziò a correggere alcuni piccoli errori qua e là, approfondendo sempre di più la conoscenza del codice del programma. Ad oggi, egli ha ampliato, riscritto o rivisto quasi tutti i componenti del programma, investendo molto tempo nel migliorarlo.

Da Kwave v0.8.0 il changelog non viene più incluso in questo manuale. Se sei interessato alla cronologia completa delle modifiche, puoi trovarla qui: https://invent.kde.org/multimedia/kwave/-/blob/master/CHANGES o puoi sfogliare per conto tuo i sorgenti attraverso l'interfaccia web di git.

La versione 0.9.0 di Kwave è la prima versione ospitata da KDE (kdereview) e nei server SourceForge, seguita dalla v0.9.1, la prima versione per KDE Frameworks 5.

Capitolo 2. Fondamenti sull'audio digitale
Fondamenti sull'audio digitale

# Capitolo 2. Fondamenti sull'audio digitale

Questo capitolo intende fornire una breve introduzione sui fondamenti dell'elaborazione audio digitale, senza entrare troppo nei dettagli.

## Il mondo analogico

Prima di tutto, bisogna sapere che il mondo è analogico - ma i computer lavorano in digitale. Ci sono, dunque, diversi modi per convertire l'audio analogico in audio digitale e viceversa. Poiché la via da digitale ad analogico è normalmente il contrario di quella da analogico a digitale, descriveremo solo quest'ultima via.

Conversione da suono in bit

Prima di continuare, l'audio analogico deve essere trasformato in segnali elettronici per essere elaborato in un computer. Una via comune per fare questo è l'uso di un microfono e un amplificatore. Questa combinazione prevede un suono (variazioni della pressione dell'aria) come input e un voltaggio come output. L'ampiezza maggiore delle variazioni di pressione sarà rappresentata da voltaggi maggiori nell'output dell'amplificatore. Questo output viene chiamato anche «segnale». Al posto di un microfono puoi anche, ovviamente, immaginare altre sorgenti audio. E l'«amplificatore» può essere anche quello integrato nella tua scheda audio, che normalmente non puoi vedere.

Conversione a segnale elettronico

A questo stadio, il segnale elettronico possiede tre limitazioni che bisogna tenere presente:

1. L'ampiezza (volume) è limitata a un certo livello massimo. Ciò è una conseguenza della parte elettronica (amplificatori) che sono in grado di gestire solo voltaggi all'interno di un certo intervallo specifico. Non vi sono problemi fino a quando i suoni non sono troppo forti. In tal caso il segnale risulterebbe distorto, che significa che il segnale elettrico ha oltrepassato i suoi limiti e il risultato sarà disturbato.

2. Anche l'intervallo di frequenza è limitato. A causa dei limiti meccanici dei microfoni e l'intervallo di frequenza limitato degli amplificatori, l'intervallo di frequenza di un segnale è limitato. Non esistono limiti improvvisi oltre ai quali il suono scompare improvvisamente, ma sotto una certa frequenza bassa e sopra una certa frequenza alta l'ampiezza del segnale comincia a diminuire costantemente. L'esistenza di una frequenza massima può essere facilmente compresa come una velocità limitata del segnale elettrico a salire e scendere. Utilizzando amplificatori e microfoni di alta qualità, i limiti possono essere allargati a intervalli di frequenze che l'orecchio umano non è più in grado di percepire e, di conseguenza, perdono di interesse. L'orecchio umano normalmente non è in grado di percepire suoni sopra i 20 kHz.

3. Il segnale contiene rumore. Il rumore è il peggior nemico di chiunque debba lavorare con i segnali audio, in qualsiasi modo. Il rumore è un effetto tipicamente analogico, che rende il segnale audio «poco chiaro» e disturbato, è sempre presente e non può essere evitato. Si può tentare solo di usare componenti di alta qualità che producono meno rumore possibile, in modo da renderlo non udibile. Normalmente il rumore possiede un certo volume, dunque il suono che interessa deve essere più alto rispetto al rumore. Questo viene chiamato rapporto segnale/rumore (S/N, o SNR in inglese): più alto è, migliore sarà la qualità del suono. I suoni che hanno un volume più basso del rumore non possono essere percepiti.

Digitalizzazione
Digitalizzazione

## Digitalizzazione

Quando vogliamo memorizzare e riprodurre audio in un computer, dobbiamo prima convertire il suono analogico in dati digitali. Questo processo si chiama digitalizzazione. Esso converte un segnale elettronico in una sequenza di valori digitali.

Digitalizzazione del segnale elettronico

La conversione può essere intesa come una misurazione ripetitiva del valore del segnale elettronico in un certo tempo, prendendo perciò un campione del segnale. Il risultato viene poi codificato come valore digitale.

Il campionamento può essere eseguito a distanze arbitrarie o a intervalli costanti. L'ultimo metodo è molto più facile da gestire, ed è perciò normalmente utilizzato, con una frequenza costante - la cosiddetta frequenza di campionamento. Le usuali frequenze di campionamento sono 8000, 11025, 22050 e 44100 campioni per secondo. Nella pratica, le frequenze di campionamento sono rese anche come frequenze, in Hz o kHz.

La frequenza di campionamento limita la frequenza più alta che un segnale digitalizzato può rappresentare. A causa del teorema di Shannon, la frequenza utilizzabile più alta è la metà della frequenza di campionamento: dunque con una frequenza di campionamento di 44.1 kHz non puoi campionare segnali con più di 22 kHz. Per evitare una violazione della regola sopra esposta, la tua scheda audio possiede già filtri incorporati che eliminano le frequenze superiori della metà della frequenza di campionamento utilizzata.

Segnale campionato

Codifica del campione
Codifica del campione

## Codifica del campione

Il risultato del processo di campionamento digitale è una sequenza di campioni singoli. Un campione è una rappresentazione digitale del valore di un segnale in un certo tempo.

Il valore di un campione può essere interpretato e codificato in diversi modi. Quello più semplice la codifica lineare. Questo significa che ciascun valore del campione rappresenta direttamente il valore del segnale analogico moltiplicato con un fattore costante. Ciò è facile da gestire, ma presenta lo svantaggio che il rumore sarà udibile soprattutto ad ampiezze basse, dove disturberà di più, e meno udibile ad ampiezze alte, dove disturberà di meno.

Un modo per ridurre l'influenza del rumore è la codifica non lineare. Questo significa che le ampiezze più basse saranno amplificate prima dell'elaborazione. Poiché le ampiezze più basse saranno amplificate, la loro distanza dal rumore aumenta e la qualità migliora. I metodi più comuni per fare questo sono le codifiche A-Law e U-Law - alcune curve standard di amplificazione logaritmica, utilizzate nella telefonia digitale (standard ITU G.711).

Codifica non lineare

Formati di campionamento
Formati di campionamento

## Formati di campionamento

I campioni possono essere memorizzati in formati e precisioni diverse. I più comuni sono i formati interi (in virgola fissa), che memorizzano valori con quantizzazione fissa. In base a dove la linea dello zero viene definita, si deve distinguere tra formati interi senza segno (solo valori positivi, la «linea zero» è a metà dell'intervallo numerico) e con segno (valori positivi e negativi).

Formato con segno

Formato senza segno

Poiché la quantizzazione perde accuratezza, essa produce rumore, il cosiddetto rumore di quantizzazione. Questo tipo di rumore ha maggiore effetto sulle ampiezze basse, questo metodo di memorizzazione dei campioni non è perciò ottimale, ma piuttosto semplice e molto veloce da gestire (i computer calcolano velocemente con numeri in virgola fissa).

Il secondo metodo di codificare campioni è con i numeri in virgola mobile. Con i numeri in virgola mobile, il rumore viene diffuso in maniera pressoché uguale su tutti gli intervalli di ampiezza e reca benefici soprattutto alle ampiezze basse. Questo formato, tuttavia, è molto più lento durante l'elaborazione dei dati (i computer sono molto più lenti nel calcolo con valori in virgola mobile rispetto al calcolo con numeri in virgola fissa).

### Nota

Kwave usa internamente il formato intero con segno con precisione a 24 bit, memorizzato in interi a 32 bit. Questo metodo ha lo svantaggio di un maggiore consumo di memoria durante l'elaborazione dei file con precisione più bassa (ad es. 8 bit), ma l'elaborazione con numeri a 32 bit è molto veloce e lascia anche qualche riserva per i calcoli interni, dato che sono normalmente usati solo 24 bit.

Capitolo 3. Uso di Kwave
Uso di Kwave

# Capitolo 3. Uso di Kwave

Ecco una schermata della finestra principale di Kwave, in modo da farti un'idea del suo aspetto...

## Modalità dell'interfaccia utente

A seconda delle tue preferenze o dei casi di utilizzo, puoi configurare come Kwave debba gestire più file aperti. Puoi alternare queste impostazioni al volo tramite il menu Impostazioni → Mostra file in....

Le tre possibili impostazioni sono:

- Finestre separate (SDI): quando si usa l'Interfaccia a documento singolo (Single Document Interface, SDI), ciascun file sarà mostrato in una finestra principale separata.

- Stessa finestra (MDI): quando si usa l'Interfaccia a più documenti (Multi Document Interface, MDI), è presente solo una finestra principale di Kwave, ma all'interno di questa finestra hai un'area che mostra delle sotto-finestre, le quali possono essere ridimensionate, spostate, affiancate, sovrapposte o ridotte.

  Puoi selezionare una finestra dal menu Finestra o alternare le sotto-finestre con Ctrl+Tab.

- Schede: questa è una variante dell'interfaccia MDI, dove i file sono mostrati all'interno di schede separate. Potresti conoscere questa modalità da alcuni popolari browser Internet.

  Puoi attivare una scheda tramite il menu Finestra o alternare le schede con Ctrl+Tab.

Riga di comando
Riga di comando

## Riga di comando

### Elenco dei file o comandi

Se avvii Kwave dalla riga di comando, puoi specificare un elenco di file da aprire. Il primo file specificato sarà aperto per primo, a seguire gli altri file. Ciascun file sarà aperto in una nuova finestra autonoma, o una sotto-finestra della stessa istanza di Kwave. Se specifichi caratteri jolly, puoi aprire molti file alla volta.

Per esempio, il comando che segue avvia Kwave e apre tutti i suoni forniti dal tema sonoro XDG freedesktop, ciascuno in una nuova finestra o sotto-finestra:

    % kwave /usr/share/sounds/freedesktop/stereo/*.ogg

È anche possibile passare a Kwave comandi testuali, codificati come un URI speciale [1], questo elemento sarà descritto in una sezione successiva.

### Tipo di interfaccia

Il parametro `--gui=`SDI`|`MDI`|`TAB`` consente a Kwave di avviarsi in una delle tre possibili modalità di interfaccia utente grafica (GUI): SDI, MDI o TAB.

### Opzioni del Toolkit Qt

In aggiunta a un elenco di file, puoi specificare un elenco di opzioni fornita dal toolkit Qt tipo `-qwindowgeometry` per specificare la dimensione e, o in alternativa, la posizione della prima finestra Kwave aperta e, o in alternativa, `-display` per l'avvio di Kwave su uno schermo diverso.

Per esempio, il comando seguente avvia una finestra di Kwave con una larghezza iniziale di 600 pixel e un'altezza di 400, col bordo destro posizionato a 30 pixel di distanza dalla destra e 0 pixel di distanza dall'alto dello schermo.

    % kwave --disable-splashscreen -qwindowgeometry 600x400-30+0

### Opzioni di avvio

Con l'opzione `--disable-splashscreen` puoi disabilitare la schermata di avvio di Kwave. Può essere utile quando avvii Kwave da uno script.

L'opzione a riga di comando `--iconic` consente a Kwave di avviarsi ridotto a icona. Può essere utile quando vuoi avviare Kwave senza interazione con l'interfaccia grafica, ad es. quando lo avvii da uno script. Questa opzione disabilita, di conseguenza, anche la schermata di avvio.

Utilizzando l'opzione a riga di comando `--logfile=`kwave.log`` puoi registrare la sequenza delle azioni di una sessione di Kwave in un file. Questo è utile per scopi di debug, esso ti potrebbe essere richiesto quando segnali un errore.

[1] universal resource identifier

Aprire e salvare file
Aprire e salvare file

## 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 File → Nuovo... (Ctrl+W) ) e inserire un file al suo interno trascinando e rilasciando, o puoi

- aprire un file dal menu con File → Apri (Ctrl+O)

- o uno degli ultimi file aperti di recente con File → Apri recenti

- salvare il file corrente con File → Salva (Ctrl+S),

- salvare con un nome diverso con File → Salva → come... (Shift+Ctrl+S)

- salvare tutte le aree che sono separate da contrassegni, ciascuna in un file specifico, con File → Salva → Blocchi...

- o solo la selezione corrente con File → Salva → Selezione...

### 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

Creare un nuovo file
Creare un nuovo file

## Creare un nuovo file

Puoi creare nuovo menu di file vuoto da File → Nuovo....

Puoi selezionare la frequenza di campionamento, la risoluzione in bit per campione e il numero di tracce. Per impostazione predefinita il formato del file sarà «.wav», ma può essere cambiato durante il salvataggio del file.

La lunghezza del nuovo segnale può essere impostata per tempo (ore, minuti, secondi) o per numero di campioni. In aggiunta, puoi selezionarla in relazione alla massima lunghezza possibile, la quale è limitata dalla memoria disponibile e il limite interno di Kwave (2 GB).

Registrazione
Registrazione

## Registrazione

Kwave è in grado di registrare dati audio da diverse fonti, con tutte le frequenze, i formati e gli altri modi supportati dalla tua scheda audio. Kwave è in grado di registrare con i motori ALSA, PulseAudio, Qt e OSS.

Si accede alla registrazione dal menu File → Registra.

Ecco una schermata della finestra di registrazione di Kwave, che mostra la prima pagina con i controlli di registrazione durante una sessione di registrazione. Come in tutte le finestre di Kwave puoi ottenere aiuto o vedere suggerimenti per i controlli.

Qui sono presenti i controlli seguenti:

- Pre-registrazione: se la funzione di pre-registrazione di Kwave è abilitata ed è avviata la registrazione, Kwave registra in un buffer interno lungo qualche secondo. Se premi di nuovo il pulsante Registra ( ), allora la registrazione viene avviata realmente, e sono mantenuti anche i dati di pre-registrazione già registrati. Questo è utile, per esempio, se vuoi registrare il tuo brano preferito dalla radio, ma ti rendi conto troppo tardi che esso è già iniziato. In questo caso puoi ancora premere il pulsante di registrazione e ottenere l'inizio del brano da ciò che Kwave aveva pre-registrato prima, in modo da non perdere più un inizio.

- Tempo di registrazione: se volessi limitare nel tempo la lunghezza della registrazione, puoi attivare questa impostazione e selezionare un tempo per la registrazione in ore, minuti e secondi. Se l'opzione non è abilitata, la registrazione sarà attiva fino a quando non premerai il pulsante Ferma ().

- Avvia il: se questa impostazione è attivata, puoi impostare la data e l'ora dell'inizio di registrazione. Se il tempo che configuri è passato, la registrazione inizierà immediatamente.

- Attivazione registrazione: se abilitato, la registrazione inizia solo se il volume di ingresso oltrepassa un certo limite, il quale può essere definito da 0 a 100% del più alto volume possibile di ingresso. Questo è utile se non vuoi registrare il silenzio iniziale (Suggerimento: combina questa opzione con la funzione di pre-registrazione sopra citata per catturare anche alcuni secondi prima di raggiungere la soglia di attivazione, in modo da non perdere eventuali dissolvenze in entrata).

- Il pulsante Nuovo () è attivo quando la registrazione non è in esecuzione o è terminata, in modo da scartare il contenuto del file corrente e iniziare di nuovo.

- Il pulsante Ferma () è attivo quando la registrazione o la pre-registrazione è in esecuzione o Kwave è in attesa della soglia di attivazione. Se premuto, l'avanzamento corrente sarà fermato.

- Il pulsante Pausa () è attivo quando la registrazione è la pre-registrazione è in esecuzione. La prima volta che lo premi, la registrazione sarà fermata e il pulsante inizia a lampeggiare. Quando lo ripremi, il pulsante smetterà di lampeggiare e la registrazione riprenderà immediatamente, senza attendere una soglia di attivazione.

- Il pulsante Registra () avvia la registrazione e, o in alternativa, la pre-registrazione, a seconda delle funzioni abilitate sopra:

  1. Se non sono utilizzati né la pre-registrazione né il livello di attivazione, la registrazione inizia nel momento in cui premi il pulsante di registrazione.

  2. Se la pre-registrazione non è usata ed è impostato un livello di attivazione, la prima pressione farà sì che Kwave attenda il raggiungimento del livello di attivazione. Mentre attendi l'attivazione, puoi forzare l'avvio immediato della registrazione premendo di nuovo il pulsante di registrazione, in caso contrario essa si avvierà automaticamente quando il livello di attivazione viene raggiunto.

  3. Se la pre-registrazione è abilitata, la prima pressione inizia solo la pre-registrazione e la seconda pressione la registrazione vera e propria.

Riproduzione
Riproduzione

## Riproduzione

A seconda delle opzioni di compilazione, Kwave è in grado di riprodurre suoni tramite i seguenti metodi di riproduzione:

- ALSA (Advanced Linux Sound Architecture): sopravanza OSS, supporta più funzioni e più hardware. Potrebbe scontrarsi con altre applicazioni audio, come OSS, ma contiene un'estensione chiamata «dmix» che risolve i problemi. Le versioni più recenti di ALSA usano, per impostazione predefinita, un'estensione simile a dmix, dunque ALSA dovrebbe essere la scelta migliore per te.

- PulseAudio: server audio di uso generale comune in Linux. PulseAudio potrebbe non essere in grado di riprodurre a bassa latenza come ALSA.

- Qt Multimedia: non progettato per audio a bassa latenza, ma funziona con buffer di dimensioni grandi.

- OSS (Open Sound System): l'implementazione Linux più vecchia, capace di uscita mono e stereo. Dal Linux kernel 2.6 è sconsigliata. Può entrare in conflitto con altre applicazioni audio, e al momento solo un'applicazione può utilizzare la riproduzione OSS.

Prima di provare a riprodurre suoni, dovresti dare uno sguardo alla finestra di configurazione della riproduzione:

Se il tuo file audio usa più o meno canali di quelli consentiti dalla riproduzione, tutti i canali saranno miscelati assieme durante la riproduzione. Per esempio, se hai un file con tre canali e usi la riproduzione stereo, il canale sinistro riprodurrà il canale 0 (superiore) e metà del canale 1 (mediano), il canale destro riprodurrà metà del canale 1 (mediano) e il canale 2 (inferiore).

Per ottenere una buona riproduzione senza interruzioni, devi anche impostare la dimensione del buffer al giusto valore. Se riscontri problemi con interruzioni della riproduzione, devi aumentare qui la dimensione del buffer. Attenzione, più grande imposti il buffer, più grande sarà la latenza tra il suono udibile e la visualizzazione della posizione della riproduzione all'interno della visualizzazione del segnale.

La finestra di dialogo delle impostazioni di riproduzione offre anche un pulsante per riprodurre un semplice suono di prova. Dovresti sentire un tono di 440Hz che passa da un altoparlante all'altro.

Una volta che hai configurato la riproduzione, puoi usare i controlli della riproduzione dalla finestra principale di Kwave, dal menu Riproduci o tramite scorciatoie di tastiera:

- Riproduci → Avvia (P): avvia la riproduzione della selezione attuale dal suo inizio o dell'intero file dalla posizione attuale del cursore, non è stato selezionato nulla. Riproduce solo una volta.

- Riproduci → In ciclo: come sopra, ma riprodotto ciclicamente.

- Riproduci → Pausa (Spazio): mette in pausa la riproduzione alla posizione attuale. Disponibile solo se la riproduzione è avviata.

- Riproduci → Continua (Spazio): continua la riproduzione dalla posizione della pausa. Disponibile solo se la riproduzione è in pausa.

- Riproduci → Ferma (Esc): ferma la riproduzione, torna all'inizio della selezione.

Proprietà del file
Proprietà del file

## Proprietà del file

Kwave è in grado di gestire varie informazioni aggiuntive memorizzate all'interno di un file audio. Esso tenta di importare ed esportare quante più informazioni possibili. Per esempio, se importi un file MP3 con tag ID3, puoi mantenere tali informazioni durante l'esportazione in un file Wave. Kwave mostrerà un avviso nel caso in cui dovesse perdere informazioni aggiuntive durante il salvataggio.

Puoi visualizzare e modificare le informazioni aggiuntive in Modifica → Proprietà del file.... Qui è anche possibile modificare elementi quali formato di campionamento, risoluzione e compressione.

Ingrandimento e navigazione
Ingrandimento e navigazione

## Ingrandimento e navigazione

Kwave offre diversi modi per ingrandire e navigare: tramite scorciatoie di tastiera, comandi di menu, pulsanti delle barre degli strumenti e tramite il mouse. Le sezioni seguenti offrono una panoramica sull'uso di queste funzioni.

### Ingrandire e rimpicciolire

- ingrandisci: ingrandisce per consentire la visione di più dettagli, moltiplica per fattore 3.

  - voce di menu / scorciatoia di tastiera: Visualizza → Ingrandisci (Ctrl++)

- rimpicciolisci: riduce per consentire la visione di meno dettagli, riduce di un fattore 3.

  - voce di menu / scorciatoia di tastiera: Visualizza → Rimpicciolisci (Ctrl+-)

- ingrandisci alla selezione: ingrandisce a un fattore che permette di rendere totalmente visibile la selezione corrente nella vista attuale.

  - voce di menu / scorciatoia di tastiera: Visualizza → Ingrandisci alla selezione (Ctrl+Spazio)

- ingrandisci all'intero segnale: seleziona un fattore di ingrandimento che rende visibile l'interno segnale all'interno della finestra attiva.

  - voce di menu: Visualizza → Ingrandisci all'intero segnale

- ingrandisci al 100%: ingrandisce fino a una proporzione in cui un campione è rappresentato da un pixel sullo schermo.

  - voce di menu: Visualizza → Ingrandisci al 100%

- seleziona il fattore di ingrandimento: seleziona un fattore di ingrandimento dalla casella combinata di ingrandimento nella barra degli strumenti.

### Scorrere a destra e a sinistra

- vai alla posizione: apre una finestra di dialogo dove inserire la posizione a cui vuoi passare la vista corrente.

  voce di menu / scorciatoia di tastiera: Visualizza → Vai alla posizione... (Ctrl+G)

- all'inizio: scorre la vista corrente in modo che parta dall'inizio del segnale.

  voce di menu / scorciatoia di tastiera: Visualizza → Inizio (Ctrl+↖)

- alla fine: scorre la vista corrente in modo che arrivi alla fine del segnale.

  voce di menu / scorciatoia di tastiera: Visualizza → Fine (Ctrl+Fine)

- pagina precedente: scorre alla posizione destra prima della vista corrente (sinistra).

  voce di menu / scorciatoia di tastiera: Visualizza → Pagina precedente (Pag↑)

- pagina successiva: scorre alla posizione destra dopo la vista corrente (destra).

  voce di menu / scorciatoia di tastiera: Visualizza → Pagina successiva (Pag↓)

- scorri a destra: scorre alla fine del segnale per 1/3 della vista attuale.

  voce di menu / scorciatoia di tastiera: Visualizza → Scorri a destra (→)

- scorri a sinistra: scorre all'inizio del segnale per 1/3 della vista attuale.

  voce di menu / scorciatoia di tastiera: Visualizza → Scorri a sinistra (←)

### Usare la panoramica

La schermata principale di Kwave mostra una piccola panoramica dell'intero segnale sopra la barra di scorrimento orizzontale della finestra principale. Questa panoramica offre anche alcune funzioni di navigazione:

- clic singolo col pulsante sinistro del mouse: sposta direttamente la vista corrente alla posizione in cui hai fatto clic.

- clic doppio col pulsante sinistro del mouse: sposta direttamente la vista corrente alla posizione in cui hai fatto clic e in più ingrandisce.

- clic doppio col pulsante sinistro del mouse, con Shift premuto: sposta direttamente la vista corrente alla posizione in cui hai fatto clic e in più riduce.

### Ingrandimento verticale

Puoi ingrandire o ridurre verticalmente la vista corrente premendo il tasto Alt e scorrendo con la rotella del mouse.

Come selezionare
Come selezionare

## Come selezionare

Kwave ti consente di selezionare un intervallo continuo di campioni così come qualsiasi combinazione di canali (se modifichi un file multi-canale). Selezionando un intervallo di campioni (ambito temporale) tutti i comandi che seguiranno saranno limitati a quell'intervallo e deselezionando un canale il suo contenuto non sarà modificato.

### Selezionare i canali

La selezione o la deselezione di un canale è molto semplice. Per commutare il suo stato, basta fare clic sul pallino che si trova sul lato sinistro del segnale:

un pallino verde significa «abilitato», laddove

un pallino rosso significa «disabilitato».

### Nota

Nota: se un canale è deselezionato, non sarà disponibile per la riproduzione.

### Selezionare i campioni

Se, in Kwave, selezioni un intervallo di campioni, questo sarà inclusivo. Ciò significa che il primo e l'ultimo campione selezionato apparterrà alla selezione e sarà usato per le azioni che seguiranno. Se, dunque, non hai selezionato un intervallo ma solo un singolo campione, la selezione non sarà mai davvero «vuota». Così, per esempio, se non vedi selezionato un intervallo, la funzione «elimina» sarà applicata a quel singolo campione.

Il metodo più semplice di selezionare un intervallo di campioni è farlo col mouse. Funziona come con le altre applicazioni: basta premere il pulsante sinistro del mouse nel punto in cui vuoi che la selezione inizi e rilasciare il pulsante nel punto in cui vuoi che finisca.

Se vuoi regolare o spostare l'inizio o la fine della selezione, puoi spostare il cursore del mouse vicino all'inizio o alla fine della selezione fino a che non passa da cursore a freccia normale a cursore a doppia freccia, poi premi il pulsante sinistro del mouse e regola.

Puoi anche estendere o ridurre la selezione a un punto specifico premendo il tasto Shift mentre fai clic col pulsante sinistro del mouse. A seconda di quale bordo è più vicino, il bordo destro o sinistro della selezione sarà impostato fino alla nuova posizione. Se non è selezionato nulla, sarà impostato dall'inizio.

Esistono anche alcune funzioni disponibili tramite il menu e, naturalmente, alcune scorciatoie di tastiera:

- seleziona l'intero segnale: Modifica → Selezione → Tutto (Ctrl+A)

- seleziona un intervallo: Modifica → Seleziona → Intervallo (R)

- l'area attualmente visibile: Modifica → Selezione → Area visibile (V)

- il blocco successivo di campioni, iniziando un campione dopo la fine della selezione corrente e con la stessa lunghezza: Modifica → Selezione → Successivo (Shift++)

  (suggerimento: usa il tasto «+» del tastierino numerico)

- il blocco precedente di campioni, iniziando un campione prima dell'inizio della selezione corrente e con la stessa lunghezza: Modifica → Selezione → Precedente (Shift+-)

  (suggerimento: usa il tasto «-» del tastierino numerico)

- rimuovi qualsiasi selezione e seleziona "niente": Modifica → Selezione → Niente (N)

- espandi la selezione all'inizio del segnale (primo campione): Modifica → Selezione → All'inizio (Shift+↖)

- espandi la selezione alla fine del segnale (ultimo campione): Modifica → Selezione → Alla fine (Shift+Fine)

- espandi la selezione corrente a destra e sinistra fino all'etichetta successiva (o all'inizio/fine del segnale se non ce ne sono), iniziando alla posizione attuale del cursore: Modifica → Selezione → Espandi alle etichette (E)

- seleziona l'area tra le due etichette successive che si trovano a destra dalla selezione corrente o fino alla fine del segnale: Modifica → Selezione → Alle etichette successive (Ctrl+Shift+N)

- seleziona l'area tra le due etichette precedenti che si trovano a sinistra dalla selezione corrente o fino all'inizio del segnale: Modifica → Selezione → Alle etichette precedenti (Ctrl+Shift+P)

Appunti
Appunti

## Appunti

Kwave utilizza gli appunti di Plasma. In questo modo è possibile scambiare i dati audio tra le diverse finestre di Kwave. Potrebbe essere possibile, inoltre, scambiare dati tra Kwave e altre applicazioni audio, in base alla loro capacità di usare gli appunti di Plasma.

Quando copi dati negli appunti tramite la funzione `copia`, Kwave utilizza il tipo MIME `audio/vnd.wave` come formato di dati, nel rispetto della RFC 2361 che è uguale al conosciuto formato `wav`. Quando incolli dagli appunti in Kwave sono supportati tutti i formati dei dati disponibili come file di importazione, per esempio Ogg/Vorbis, FLAC e via discorrendo.

Trascina e rilascia
Trascina e rilascia

## Trascina e rilascia

Kwave supporta il protocollo di trascinamento e rilascio (Drag and Drop) di KDE Frameworks. Questo ti permette di aprire file semplicemente prelevandoli da una finestra di Dolphin o Konqueror o dal desktop e rilasciandoli all'interno di una finestra di Kwave.

Nota che se rilasci un file all'interno di una finestra di Kwave che contiene già un file aperto, quest'ultimo sarà prima chiuso e poi verrà aperto il file rilasciato. Se non vuoi che ciò avvenga, devi prima aprire una nuova finestra di Kwave.

Puoi anche selezionare un intervallo di campioni e trascinarli o rilasciarli all'interno di una finestra di Kwave. Per impostazione predefinita l'operazione di trascinamento viene eseguita in modalità sposta, in cui l'intervallo selezionato è eliminato dalla posizione originale e inserito nella posizione di rilascio. Premendo il tasto Ctrl puoi modificare l'azione e trascinare invece in modalità copia.

Capitolo 4. Automatizzazione e azioni di script con Kwave
Automatizzazione e azioni di script con Kwave

# Capitolo 4. Automatizzazione e azioni di script con Kwave

Kwave, dalla sua prima versione, usa un linguaggio interno di comandi testuali. Questo linguaggio di comandi viene usato internamente per la gestione dei menu, il controllo dell'interfaccia grafica, effetti incorporati e invocazioni di estensioni. I comandi saranno descritti successivamente nella sezione Riferimento comandi.

## Sintassi generale

- Tutti i comandi consistono di un nome di comando e un elenco di parametri facoltativo racchiuso in parentesi tonde, a seconda del comando.

- I caratteri consentiti per i nomi di comando sono lettere, cifre e due punti. I comandi distinguono tra maiuscole e minuscole e sono sempre in minuscolo.

- I parametri all'interno di un elenco di parametri sono separati da virgola.

- I parametri numerici possono essere numeri a virgola fissa o a virgola mobile, e utilizzano un punto come separatore decimale.

- I parametri stringa sono tagliati automaticamente (tutti gli spazi vuoti all'inizio e alla fine sono rimossi). Se non desideri questo, essi possono essere circondati da virgolette doppie ("). Se un parametro stringa contiene caratteri speciali (come «,», «;», «#» o una «\» stessa), questi devono essere evitati preceduti da «\».

- Più comandi possono essere concatenati a un elenco di comandi utilizzando «;» come separatore.

Esempio:

    fileinfo(Commenti,"Questo è un commento di \"example\".")

Questo esempio consiste del comando fileinfo() e possiede due parametri: la parola chiave `Commenti` e il testo «`"Questo è un commento di \"example\"."`» (questi parametri sono spiegati nella sezione corrispondente relativa ai comandi).

Usare la riga di comando
Usare la riga di comando

## Usare la riga di comando

In aggiunta alle opzioni elencate nella sezione Riga di comando, che sono usate per avviare Kwave in modalità icona o senza la schermata di avvio, nella riga di comando puoi passare i comandi di testo codificati in uno speciale formato URI:

`kwave:`comando`[?`parametro` [,`parametro` ...] ]`

Le regole per trasformare un comando di testo di Kwave in un URI valido sono le seguenti:

- L'URI inizia con la parola `kwave`, seguita da «:» e il nome del comando.

- Se il comando contiene parametri, essi devono essere inseriti dopo il nome del comando utilizzando il separatore «?».

- Si possono aggiungere più parametri utilizzando come separatore «,» (virgola).

- Tutti i caratteri speciali contenuti nel nome del comando e i parametri devono seguire la codifica per URL. Ecco un elenco delle traduzioni:

  Tabella 4.1. Tabella di traduzione in base alla codifica per URL

  originale | codificato |  | originale | codificato |  | originale | codificato |  | originale | codificato
  --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
  (spazio) | `%20` |  | ( | `%28` |  | : | `%3A` |  | \ | `%5C`
  ! | `%21` |  | ) | `%29` |  | ; | `%3B` |  | ] | `%5D`
  " | `%22` |  | * | `%2A` |  | < | `%3C` |  | ^ | `%5E`
  # | `%23` |  | + | `%2B` |  | = | `%3D` |  | _ | `%5F`
  $ | `%24` |  | , | `%2C` |  | > | `%3E` |  | ` | `%60`
  % | `%25` |  | - | `%2D` |  | ? | `%3F` |  | { | `%7B`
  & | `%26` |  | . | `%3E` |  | @ | `%40` |  | | | `%7C`
  ' | `%27` |  | / | `%2F` |  | [ | `%5B` |  | } | `%7D`
  |  |  |  |  |  |  |  |  | ~ | `%7E`

File di script Kwave
File di script Kwave

## File di script Kwave

### Struttura generale

Uno script Kwave consiste di un elenco di righe, in cui ognuna di esse può essere:

- un comando singolo,

- un elenco di comandi, con due o più comandi concatenati da «;» (punto e virgola).

- un commento,

- un'etichetta

- o una riga vuota contenente solo spazio vuoto

### Commenti e righe vuote

Tutti i caratteri che seguono il carattere «#» (ad eccezione di quelli utilizzati tra virgolette o in uscita) sono trattati come commenti e sono ignorati.

Anche le righe che contengono solo spazio vuoto o commenti sono ignorate.

### Termine

Uno script Kwave termina o quando tutti i comandi sono stati eseguiti correttamente (senza errori), oppure quando un comando ha restituito un codice di errore. Non esiste un comando speciale per interrompere l'esecuzione di uno script. Se vuoi implementare la possibilità di terminare lo script per un utente, puoi usare il comando «msgbox(``testo``)». Questo mostra un riquadro informativo con due pulsanti OK (che permette allo script di continuare) e Annulla (che restituisce un codice di errore e ferma lo script).

### Etichette

Le righe che consistono solo di un identificatore, seguito da «:» sono trattate come etichette. Ad esse si può fare riferimento successivamente nello script tramite la speciale parola chiave GOTO [2] Quest'ultimo farebbe continuare l'esecuzione dello script alla posizione di quell'etichetta (vedi l'esempio sottostante).

Una riga che contiene un'etichetta non deve contenere nient'altro dopo «:» (ad eccezione di commenti o caratteri di spaziatura).

Esempio:

    inizio:  # <= questa è un'etichetta
                        # fa qualcosa...
                        msgbox(ancora una volta?)
                        GOTO inizio

[2] Nota: non confondere la parola chiave «GOTO» col comando di testo «goto (``posizione``)»!

Riferimento comandi
Riferimento comandi

## Riferimento comandi

### Indice alfabetico

### a

about_kde
add_track

### c

clipboard_flush
close
continue
copy
crop
cut

### d

delayed
delete
delete_track
dump_metadata

### e

label:edit
expandtolabel

### f

fileinfo
forward

### g

goto

### i

insert_at
insert_track

### l

label:add
label:delete
loadbatch
loop

### m

menu
msgbox

### n

newsignal
next

### o

open
openrecent

### p

paste
pause
playback_start
plugin
plugin:execute
plugin:setup
prev

### q

quit

### r

redo
redo_all
reenable_dna
reset_toolbars
revert
rewind

### s

save
saveas
saveselect
select_gui_type
select_track:all
select_track:invert
select_track:none
select_track:off
select_track:on
select_track:toggle
selectall
selectnext
selectnextlabels
selectnone
selectprev
selectprevlabels
selecttoleft
selecttoright
selectvisible
start
stop
sync

### u

undo
undo_all

### v

view:scroll_end
view:scroll_left
view:scroll_next
view:scroll_next_label
view:scroll_prev
view:scroll_prev_label
view:scroll_right
view:scroll_start
view:zoom_all
view:zoom_in
view:zoom_normal
view:zoom_out
view:zoom_selection

### w

window:activate
window:cascade
window:click
window:close
window:minimize
window:mousemove
window:next_sub
window:prev_sub
window:resize
window:screenshot
window:sendkey
window:tile
window:tile_vertical

``

a
a

## a

### about_kde

#### Sintassi: about_kde()

Mostra una finestra di dialogo con informazioni sulla comunità KDE.

### add_track

#### Sintassi: add_track()

Aggiunge una nuova traccia dopo tutte le tracce esistenti.

#### Vedi anche

insert_track()

c
c

## c

### clipboard_flush

#### Sintassi: clipboard_flush()

Scarta il contenuto attuale degli appunti (potrebbe liberare un po' di memoria).

### close

#### Sintassi: close()

Chiude il file attuale. Se l'interfaccia grafica è configurata in modo MDI o Tab, questo comando chiude anche la sotto-finestra corrispondente.

#### Vedi anche

open(`nomefile`), quit()

### continue

#### Sintassi: continue()

Corrisponde al pulsante della barra degli strumenti Continua e riprende la riproduzione, se in pausa.

#### Vedi anche

pause()

### copy

#### Sintassi: copy()

Copia il contenuto della selezione corrente negli appunti. Se la selezione è vuota, questo comando non fa nulla e il contenuto degli appunti non viene modificato. Viene copiato negli appunti solo il contenuto delle tracce attualmente selezionate.

#### Vedi anche

paste()

### crop

#### Sintassi: crop()

Ritaglia il segnale alla selezione corrente, eliminando tutto quello che si trova prima e dopo la selezione. Ha effetto su tutte le tracce. Se non è selezionato nulla, il comando non esegue nulla.

### cut

#### Sintassi: cut()

Copia il contenuto della selezione corrente negli appunti e lo rimuove dal segnale. Se la selezione è vuota, questo comando non fa nulla e il contenuto degli appunti non viene modificato. Viene copiato negli appunti solo il contenuto delle tracce attualmente selezionate, ma l'intervallo selezionato è eliminato da tutte le tracce.

d
d

## d

### delayed

#### Sintassi: delayed( `millisecondi`, `comando` )

Esegue un `comando` dopo un certo tempo. Nota che il comando viene eseguito in modo asincrono dopo che il tempo indicato è trascorso. Si possono accodare più comandi, e i ritardi sono relativi all'ultimo comando in coda. Questo comando è destinato a essere usato per accodare comandi quando si salvano schermate a scopi documentali.

#### Parametri

`millisecondi`: | numero di millisecondi di attesa prima dell'esecuzione del comando
`comando`: | un comando, e i parametri da eseguire dopo il ritardo indicato

#### Vedi anche

sync(), window:resize(), window:click(), window:sendkey(), window:close(), window:screenshot()

### delete

#### Sintassi: delete()

Elimina l'intervallo attualmente selezionato di campioni. Se la selezione è vuota, il comando non fa nulla. Ha effetto su tutte le tracce.

### delete_track

#### Sintassi: delete_track(`indice`)

Elimina una traccia, identificata dal suo indice (a partire da zero). Se non esiste una traccia con l'indice indicato, il comando restituisce un errore.

#### Parametri

`indice`: | indice della traccia da eliminare, a partire da 0

### dump_metadata

#### Sintassi: dump_metadata()

Restituisce alla console un elenco di tutte le voci dei metadati, per scopi diagnostici (disponibile solo quando Kwave è stato compilato con l'opzione `WITH_DEBUG` attivata).

e
e

## e

### expandtolabel

#### Sintassi: expandtolabel()

Espande la selezione corrente alle etichette destra e sinistra dai bordi della selezione attuale. La selezione non cambia se il bordo della selezione si trova già su un'etichetta. La selezione sarà espansa all'inizio o alla fine del file se non esiste un'etichetta destra o sinistra della selezione corrente.

f
f

## f

### fileinfo

#### Sintassi: fileinfo(`indice`)

Imposta una voce informativa sul file a un nuovo valore.

#### Parametri

`parola chiave`: | parola chiave della voce
`valore`: | valore della voce

### forward

#### Sintassi: forward()

Corrisponde al pulsante della barra degli strumenti Avanti. Se la riproduzione è in esecuzione, avanza di 1/10 dell'intervallo visibile. Se la riproduzione non è in esecuzione, esegue la stessa azione del comando view:scroll_right().

#### Vedi anche

view:scroll_right(), rewind()

g
g

## g

### goto

#### Sintassi: goto(`pos`)

Imposta il cursore alla posizione indicata e lo rende visibile nella vista attuale. Dopo questa azione, la selezione presenta lunghezza zero.

#### Parametri

`pos`: | posizione nei campioni dove andare

i
i

## i

### insert_at

#### Sintassi: insert_at(`pos`)

Inserisce il contenuto degli appunti alla posizione indicata, uguale al comando paste(). Se gli appunti sono vuoti, questa funzione non fa nulla.

#### Parametri

`pos`: | posizione nei campioni dove inserire

#### Vedi anche

paste()

### insert_track

#### Sintassi: insert_track(`indice`)

Inserisce una nuova traccia all'indice indicato, utilizzando la lunghezza e le impostazioni di velocità di campionamento attuali del segnale. Se l'indice è più alto o uguale al numero attuale delle tracce, essa sarà aggiunta all'ultima traccia, come nel caso del comando add_track(). L'indice di tutte le tracce esistenti, al e dopo l'indice indicato, sarà incrementato di uno.

#### Parametri

`indice`: | indice della traccia da inserire, a partire da 0

#### Vedi anche

add_track()

l
l

## l

### label:add

#### Sintassi: label:add(`pos`[,`testo`])

Aggiunge una nuova etichetta alla posizione indicata. Se questa contiene già un'etichetta, il comando non fa nulla. All'etichetta può essere attribuita una descrizione facoltativa.

#### Parametri

`pos`: | posizione nei campioni dove inserire l'etichetta
`testo`: | del testo descrittivo (facoltativo)

### label:delete

#### Sintassi: label:delete(`indice`)

Elimina un'etichetta, identificata dal suo indice (a partire da zero), o tutte le etichette quando si usa il valore speciale -1 come indice. Se non esiste un'etichetta con l'indice indicato, il comando non fa nulla.

#### Parametri

`indice`: | indice dell'etichetta da eliminare, a partire da 0 o -1 per eliminare tutte le etichette

### label:edit

#### Sintassi: label:edit(`indice`)

Apre una finestra di dialogo in cui l'utente può modificare la posizione e la descrizione di un'etichetta, la quale è identificata dal suo indice (a partire da zero). Se non esiste un'etichetta con l'indice indicato, il comando non fa nulla.

#### Parametri

`indice`: | indice dell'etichetta da modificare, a partire da 0

### loadbatch

#### Sintassi: loadbatch(`nomefile`)

Apre un file di script Kwave ed elabora i comandi contenutivi. Usa il contesto del file attualmente aperto oppure la finestra principale attuale, se non è caricato alcun file.

#### Parametri

`nomefile`: | nome del file di script kwave comprensivo di percorso ed estensione

### loop

#### Sintassi: loop()

Corrisponde al pulsante della barra degli strumenti In ciclo. Avvia la riproduzione (se non è già attiva) e la esegue in ciclo.

#### Vedi anche

playback_start()

m
m

## m

### menu

#### Sintassi: menu (`comando`, `percorso`, [`combinazione tasti`], [`id`])

Questo è un comando veramente utile, usato per aggiungere una nuova voce al menu o per modificare una voce esistente. Determina quale comando viene eseguito quando la voce di menu è attivata, quale icona è mostrata nel menu e quale combinazione di tasti è utilizzata. Ciascuna voce di menu può essere disabilitata o nascosta, può esserle assegnato un id univoco e può essere anche venire collegata a un gruppo di menu.

Non hai bisogno, in genere, di questo comando all'interno di uno script Kwave.

#### Parametri

`comando`: | Un comando di testo (parametri inclusi) o un elenco di comandi che sarà eseguito quando la voce di menu viene attivata. Se la voce di menu non possiede un comando corrispondente (per esempio, se è un sotto-menu e non una voce di menu), devi utilizzare il comando speciale ignore().

`percorso`:

Il percorso all'interno del menu, che usa come separatore il carattere «/». L'ultima parte del percorso può essere un comando secondario, che modifica alcune proprietà della voce di menu (vedi sotto). L'ultima porzione del percorso (che non è un comando secondario) produce una voce di menu, le parti prima producono la voce di menu principale o i sotto-menu che conducono a esso. Quando si crea una voce di menu, le voci principali di menu o i sotto-menu sono creati automaticamente, non è necessario crearli manualmente.

`combinazione tasti`:

Una maschera di bit che consiste di una combinazione di tasti predefinita e modificatori, concatenati con un «+». Il tasto può essere sia una cifra, una lettera maiuscola, un tasto funzione («F1» ... «F12») o qualsiasi nome di tasto compreso dalla classe Qt «`QKeySequence`», inclusi i nomi di tasti per le azioni predefinite (come, per esempio, «`::Copia`»). I tipici modificatori sono «`MAIUSC`», «`ALT`» e «`CTRL`».

`id`: | Un id univoco utilizzabile internamente per identificare questa voce di entry oppure menu / sotto-menu. Devono essere utilizzate solo lettere maiuscole, cifre e «`_`», e deve iniziare con «`ID_`». Ti devi anche accertare di non utilizzare due volte lo stesso id.

#### Comandi secondari

#checkable: | Rende la voce di menu attivabile, in modo da poterla accendere o spegnere.
#disabled: | Disabilita la voce di menu, il menu o il sotto-menu.
#enabled: | Abilita la voce di menu, il menu o il sotto-menu.
#exclusive(`gruppo`): | Aggiunge la voce di menu a un `gruppo` esclusivo (una delle tante selezioni). Il gruppo indicato come parametro non deve essere usato per alcun altro scopo. Può essere selezionata solo una voce alla volta, all'interno di quel gruppo.

#group(`elenco`):

Aggiunge il menu, il sotto-menu o la voce di menu a uno o più gruppi, in modo che l'applicazione possa abilitare/disabilitare un gruppo di voci di menu senza il bisogno di conoscere tutti i loro id univoci. Possono essere passati più gruppi come elenco, separati da «`,`» (virgola). I nomi dei gruppi devono iniziare con «`@`». I gruppi seguenti sono predefiniti:

@CLIPBOARD:

  Abilitato solo quando gli appunti non sono vuoti.

@LABELS:

  Abilitato solo quando il segnale attuale contiene almeno un'etichetta.

@NOT_CLOSED:

  Abilitato quando il segnale attuale non è chiuso (il segnale potrebbe essere vuoto o di lunghezza zero).

@SELECTION:

  Abilitato quando la selezione non è vuota (più di un campione è selezionato).

@SIGNAL:

  Abilitato quando è caricato qualche segnale ed esso non è vuoto o a lunghezza zero.

#hidden: | Nasconde la voce di menu, il menu o il sotto-menu.
#icon(`nome`): | Assegna un'icona alla voce di menu. L'icona `nome` deve corrispondere a un file di icona (senza percorso ed estensione di file) che è installato nel sistema o con Kwave.

#listmenu(`id`,`comando`):

Inserisce un segnaposto per un elenco di voci di menu all'interno di un sotto-menu. L'`id` univoco specificato in questo sotto comando è utilizzato per aggiungere o rimuovere o svuotare l'elenco delle voci di menu. Il parametro `comando` deve contenere «`%1`» come parametro, che sarà sostituito col testo della voce di menu quando viene attivato. Questo comando secondario viene usato internamente per l'elenco dei file recenti, delle tracce e delle finestre.

#separator: | Inserisce un separatore all'interno di un sotto-menu.

### msgbox

#### Sintassi: msgbox(`testo`)

Mostra un riquadro informativo con del `testo` e due pulsanti OK (chiude senza codice di errore) e Annulla (chiude con codice di errore). Puoi usare il comando per offrire all'utente la possibilità di interrompere uno script in esecuzione.

#### Parametri

`testo`: | Il messaggio mostrato nel riquadro informativo deve contenere una domanda a cui si può rispondere con OK o Annulla.

n
n

## n

### newsignal

#### Sintassi: newsignal( `campioni`, `frequenza`, `bit`, `tracce`)

Crea un nuovo segnale, con la lunghezza indicata in `campioni`, una `frequenza` in campioni per secondo (numero a virgola mobile), un numero di `bit` per campione e numero di `tracce`. Puoi calcolare la lunghezza in campioni moltiplicando la lunghezza in secondi prescelta con la frequenza di campionamento.

#### Parametri

`campioni`: | Lunghezza del segnale nei campioni.
`frequenza`: | Frequenza di campionamento in campioni per secondo.
`bit`: | Numero di bit per campione, non deve essere zero, deve essere un numero compreso tra 8 e 32.
`tracce`: | Numero delle tracce.

### next

#### Sintassi: next()

Corrisponde al pulsante della barra degli strumenti Successivo. Se la riproduzione è in esecuzione, avanza all'etichetta successiva. Se la riproduzione non è in esecuzione, esegue la stessa azione del comando view:scroll_next_label().

#### Vedi anche

view:scroll_next_label(), prev()

o
o

## o

### open

#### Sintassi: open([`nomefile`])

Apre un file, che può essere sia un file sonoro, sia uno script Kwave. Se non viene passato alcun nome file, sarà aperta una finestra di dialogo che permette di selezionare un file esistente. A seconda del modo di interfaccia grafica, il file sarà aperto nel contesto di una nuova finestra secondaria (MDI e Tab) o in una nuova finestra principale (SDI, se è caricato già qualcosa).

#### Parametri

`nomefile`: | nome di un file comprensivo del percorso e l'estensione

#### Vedi anche

close()

### openrecent

#### Sintassi: openrecent(`nomefile`)

In pratica lo stesso del comando open(), ma inteso da usare internamente per l'elenco dei file aperti di recente nel menu File+Apri recenti. In questo comando il parametro `nomefile` non è facoltativo.

#### Parametri

`nomefile`: | voce dell'elenco dei file aperti di recente

#### Vedi anche

open()

p
p

## p

### paste

#### Sintassi: paste()

Sostituisce la selezione corrente col contenuto degli appunti. Se gli appunti sono vuoti, il comando non fa nulla. La frequenza di campionamento dei dati inseriti è regolata per corrispondere alla frequenza del segnale attuale, se necessario. Vengono influenzate solo le tracce abilitate mentre quelle disabilitate non vengono modificate. Stai attento che ciò può produrre uno scostamento di tempo tra le tracce abilitate e quelle disabilitate. Se il numero delle tracce dei dati degli appunti differisce dal numero delle tracce abilitate, allora i dati saranno miscelati per essere diffusi su tutte le tracce selezionate.

#### Vedi anche

copy()

### pause

#### Sintassi: continue()

Corrisponde al pulsante della barra degli strumenti Pausa e mette in pausa la riproduzione, se attiva, o prosegue la pausa attuale.

#### Vedi anche

continue()

### playback_start

#### Sintassi: playback_start()

Corrisponde al pulsante della barra degli strumenti Avvia e avvia la riproduzione, se attualmente in pausa.

### plugin

#### Sintassi: plugin(`nome`, [`parametro` ...])

Esegue un'estensione, con un elenco facoltativo di parametri. Se non viene indicato alcun elenco di parametri, sarà richiamata la funzione di configurazione dell'estensione, utilizzando come input i parametri dell'invocazione precedente o i parametri predefiniti (a seconda dell'estensione, viene visualizzata, in genere, una finestra di dialogo di configurazione). Per una descrizione delle varie estensioni, consulta il capitolo sulle estensioni.

#### Parametri

`nome`: | Il nome (interno) di un'estensione di Kwave
`parametro`: | un elenco di parametri interpretabili dall'estensione (facoltativo)

#### Vedi anche

plugin:execute(), plugin:setup()

### plugin:execute

#### Sintassi: plugin:execute(`nome`, [`parametro` ...])

Simile al comando plugin(), ma senza chiamare la funzione di configurazione dell'estensione, se non sono stati passati parametri.

#### Parametri

`nome`: | Il nome (interno) di un'estensione di Kwave
`parametro`: | un elenco di parametri interpretabili dall'estensione

### plugin:setup

#### Sintassi: plugin:setup(`nome`, [`parametro` ...])

Chiama la funzione di configurazione di un'estensione, con un elenco facoltativo di parametri. Se non viene indicato alcun elenco di parametri, saranno usati come input i parametri dell'invocazione precedente o i parametri predefiniti. A seconda dell'estensione, questa azione visualizza, in genere, una finestra di dialogo di configurazione. Per una descrizione delle varie estensioni, consulta il capitolo sulle estensioni.

#### Parametri

`nome`: | Il nome (interno) di un'estensione di Kwave
`parametro`: | un elenco di parametri interpretabili dall'estensione (facoltativo)

### prev

#### Sintassi: prev()

Corrisponde al pulsante della barra degli strumenti Precedente. Se la riproduzione è attualmente in esecuzione, torna all'etichetta precedente o all'inizio della selezione. Se la riproduzione non è in esecuzione, esegue lo stesso comando di view:scroll_prev_label().

#### Vedi anche

view:scroll_prev_label(), next()

q
q

## q

### quit

#### Sintassi: quit()

Chiude la finestra principale attiva e tutte le finestre secondarie. Nel modo SDI, questo corrisponde al comando close().

#### Vedi anche

close()

r
r

## r

### redo

#### Sintassi: redo()

Corrisponde al pulsante della barra degli strumenti Rifai e ripete un'operazione invertita col comando undo().

#### Vedi anche

undo()

### redo_all

#### Sintassi: redo_all()

Simile al comando redo(), ma rifà quante più operazioni possibili.

#### Vedi anche

undo()

### reenable_dna

#### Sintassi: reenable_dna()

Alcuni riquadri informativi offrono la possibilità di non riapparire («non chiedere più»). Questo comando li fa riapparire.

### reset_toolbars

#### Sintassi: reset_toolbars()

Ripristina ai valori predefiniti tutte le impostazioni delle barre degli strumenti, come posizione, dimensione delle icone e posizione del testo.

### revert

#### Sintassi: revert()

Riporta il file attualmente caricato all'ultimo stato di salvataggio, scartando tutte le modifiche non salvate.

### rewind

#### Sintassi: rewind()

Corrisponde al pulsante della barra degli strumenti Riavvolgi. Se la riproduzione è in esecuzione, indietreggia di 1/10 dell'intervallo visibile. Se la riproduzione non è in esecuzione, esegue la stessa azione del comando view:scroll_left().

#### Vedi anche

view:scroll_left(), forward()

s
s

## s

### save

#### Sintassi: save()

Corrisponde al pulsante della barra degli strumenti Salva. Salva il file corrente, se modificato. Se il file non ha ancora un nome (ossia un file che è stato appena creato e non possiede ancora un nome file), questo comando esegue la stessa azione di saveas().

#### Vedi anche

saveas()

### saveas

#### Sintassi: saveas([`nomefile`])

Salva il file attualmente aperto con un nome file. Se non è stato attribuito un nome file come parametro, sarà mostrata una finestra di dialogo per selezionare la cartella e indicare un nome file.

#### Parametri

`nomefile`: | nome file per il salvataggio (facoltativo)

### saveselect

#### Sintassi: saveselect()

Questo comando esegue la stessa azione di save(), ma salva solo l'intervallo attualmente selezionato e le tracce attivate, anziché il file completo.

#### Vedi anche

save()

### select_gui_type

#### Sintassi: select_gui_type(`modo`)

Seleziona un modo di interfaccia grafica, che può essere SDI, MDI o Tab. Attenzione, la modifica sarà eseguita subito.

#### Parametri

`nomefile`: | nome del modo, deve essere o «SDI», «MDI» oppure «TAB».

### select_track:all

#### Sintassi: select_track:all()

Segna tutte le tracce come «abilitate». Questa azione è la stessa di quando si chiama il comando select_track:on() per tutte le tracce esistenti.

#### Vedi anche

select_track:on()

### select_track:invert

#### Sintassi: select_track:all()

Inverte lo stato «abilitato» di tutte le tracce. Questa azione è la stessa di quando si chiama il comando select_track:toggle() per tutte le tracce esistenti.

#### Vedi anche

select_track:toggle()

### select_track:none

#### Sintassi: select_track:none()

Segna tutte le tracce come «disabilitate» L'azione è uguale al comando select_track:off() per tutte le tracce esistenti.

#### Vedi anche

select_track:off()

### select_track:off

#### Sintassi: select_track:off(`indice`)

Disabilita una singola traccia, in modo che non sia modificata dalla maggior parte delle operazioni.

#### Parametri

`indice`: | indice della traccia, a partire da zero

### select_track:on

#### Sintassi: select_track:on(`indice`)

Abilita una singola traccia, in modo che sia modificata da tutte le operazioni.

#### Parametri

`indice`: | indice della traccia, a partire da zero

### select_track:toggle

#### Sintassi: select_track:toggle(`indice`)

Abilita una traccia se attualmente disabilitata, o la disabilita se attualmente abilitata.

#### Parametri

`indice`: | indice della traccia, a partire da zero

### selectall

#### Sintassi: selectall()

Seleziona l'intervallo dell'intero segnale, dal primo all'ultimo campione.

### selectnext

#### Sintassi: selectnext()

Seleziona un intervallo di campioni che inizia subito dopo la selezione corrente, utilizzando la stessa lunghezza della selezione corrente. La selezione è automaticamente troncata alla fine del segnale. Per esempio: se hai selezionato dal campione 1000 al 1019, allora il risultato sarà una selezione dal campione 1020 al 1039.

#### Vedi anche

selectprev()

### selectnextlabels

#### Sintassi: selectnextlabels()

Seleziona un intervallo di campioni tra le due etichette successive dopo la selezione corrente. Se non viene selezionato nulla, il comando seleziona dall'inizio del segnale fino alla prima etichetta. In caso contrario, il bordo sinistro della nuova selezione sarà la posizione della prima etichetta dopo la selezione (o l'ultima etichetta se non vi sono altre etichette a destra dalla selezione), e il bordo destro della nuova selezione sarà la prima etichetta dopo il bordo sinistro della nuova selezione (o la fine del segnale, se nulla è presente). Questo comando restituisce un errore quando non esistono etichette.

#### Vedi anche

selectprevlabels()

### selectnone

#### Sintassi: selectnone()

Ripristina la selezione alla lunghezza zero.

### selectprev

#### Sintassi: selectprev()

Seleziona un intervallo di campioni che iniziano a sinistra dalla selezione corrente, utilizzando la stessa lunghezza della selezione corrente. La selezione è automaticamente troncata all'inizio del segnale. Per esempio: se hai selezionato dal campione 1000 al 1019, allora il risultato sarà una selezione dal campione 980 al 999.

#### Vedi anche

selectnext()

### selectprevlabels

#### Sintassi: selectprevlabels()

Seleziona un intervallo di campioni tra le precedenti due etichette prima della selezione corrente. Se non viene selezionato nulla, seleziona dall'inizio del segnale fino alla prima etichetta. In caso contrario, il bordo destro della nuova selezione sarà la posizione della prima etichetta prima della selezione (o la prima etichetta se non ci sono altre etichette a sinistra dalla selezione), e il bordo sinistro della nuova selezione sarà la prima etichetta prima del bordo destro della nuova selezione (o l'inizio del segnale, se nulla è presente). Questo comando restituisce un errore quando non esistono etichette.

#### Vedi anche

selectnextlabels()

### selecttoleft

#### Sintassi: selecttoleft()

Imposta l'inizio della selezione all'inizio del segnale, la fine della selezione corrente non viene cambiata.

#### Vedi anche

selecttoright()

### selecttoright

#### Sintassi: selecttoright()

Imposta la fine della selezione alla fine del segnale, l'inizio della selezione corrente non viene cambiata.

#### Vedi anche

selecttoleft()

### selectvisible

#### Sintassi: selectvisible()

Seleziona l'intervallo dei campioni che è visibile nella finestra attiva.

### start

#### Sintassi: start()

Corrisponde al pulsante della barra degli strumenti Avvia e avvia la riproduzione dall'inizio della selezione o continua se attualmente in pausa.

#### Vedi anche

stop()

### stop

#### Sintassi: stop()

Corrisponde al pulsante della barra degli strumenti Ferma e ferma la riproduzione, se attualmente in riproduzione.

#### Vedi anche

start()

### sync

#### Sintassi: sync()

Attende che abbiano terminato tutti i comandi avviati in modo asincrono. Questo comando non ha effetto se in coda non vi è nulla in attesa di esecuzione ritardata.

#### Vedi anche

delayed()

u
u

## u

### undo

#### Sintassi: undo()

Corrisponde al pulsante della barra degli strumenti Annulla e ripete l'ultima operazione.

#### Vedi anche

redo()

### undo_all

#### Sintassi: undo_all()

Simile al comando undo(), ma ripete quante più operazioni possibili.

#### Vedi anche

undo()

v
v

## v

### view:scroll_end

#### Sintassi: view:scroll_end()

Scorre la vista corrente alla fine del segnale.

#### Vedi anche

view:scroll_start()

### view:scroll_left

#### Sintassi: view:scroll_left()

Scorre la vista corrente di 1/10 dell'intervallo attualmente visibile verso l'inizio del segnale. Se viene raggiunto l'inizio del segnale, l'area visibile inizia alla posizione zero.

#### Vedi anche

view:scroll_right()

### view:scroll_next

#### Sintassi: view:scroll_next()

Scorre la vista corrente fino alla fine del segnale dall'intervallo attualmente visibile.

#### Vedi anche

view:scroll_prev()

### view:scroll_next_label

#### Sintassi: view:scroll_next_label()

Scorre a destra e tenta di mostrare l'etichetta successiva al centro della vista. Se dalla posizione corrente non sono presenti etichette a destra, scorre alla fine del segnale.

#### Vedi anche

view:scroll_prev_label()

### view:scroll_prev

#### Sintassi: view:scroll_prev()

Scorre la vista corrente fino all'inizio del segnale dall'intervallo attualmente visibile.

#### Vedi anche

view:scroll_next()

### view:scroll_prev_label

#### Sintassi: view:scroll_prev_label()

Scorre a sinistra e tenta di mostrare l'etichetta precedente al centro della vista. Se dalla posizione corrente non sono presenti etichette a sinistra, scorre all'inizio del segnale.

#### Vedi anche

view:scroll_next_label()

### view:scroll_right

#### Sintassi: view:scroll_right()

Scorre la vista corrente di 1/10 dell'intervallo attualmente visibile verso la fine del segnale. Se viene raggiunta la fine del segnale, l'area visibile finisce alla fine del segnale.

#### Vedi anche

view:scroll_left()

### view:scroll_start

#### Sintassi: view:scroll_start()

Scorre la vista corrente all'inizio del segnale.

#### Vedi anche

view:scroll_end()

### view:zoom_all

#### Sintassi: view:zoom_all()

Regola il fattore di ingrandimento in modo che l'intero segnale sia visibile nella vista corrente.

### view:zoom_in

#### Sintassi: view:zoom_in([`posizione`])

Riduce il fattore di ingrandimento (in campioni per pixel) del 30%, in modo che siano visibili più dettagli. Se viene specificata una `posizione`, tenta di mostrare quella posizione al centro della vista corrente, in caso contrario per centrare è utilizzato il centro della vista prima del cambio di ingrandimento. Il fattore di ingrandimento minimo è limitato a un minimo di cinque campioni per larghezza della vista.

#### Parametri

`posizione`: | a posizione basata su zero nei campioni per centrare la vista (facoltativo)

#### Vedi anche

view:zoom_out()

### view:zoom_normal

#### Sintassi: view:zoom_normal()

Imposta il fattore di ingrandimento a un pixel per campione (fattore 1,0) e tenta di mantenere il centro precedente della vista.

### view:zoom_out

#### Sintassi: view:zoom_out([`posizione`])

Aumenta il fattore di ingrandimento (in campioni per pixel) del 30%, in modo che siano visibili meno dettagli. Se viene specificata una `posizione`, tenta di mostrare quella posizione al centro della vista corrente, in caso contrario per centrare è utilizzato il centro della vista prima del cambio di ingrandimento. Il fattore di ingrandimento massimo è limitato al numero di campioni dell'intero segnale e della larghezza della vista.

#### Parametri

`posizione`: | una posizione basata su zero nei campioni per centrare la vista (facoltativo)

#### Vedi anche

view:zoom_in()

### view:zoom_selection

#### Sintassi: view:zoom_selection()

Regola la vista (fattore di ingrandimento e inizio dell'area visibile) in modo che corrisponda alla selezione corrente. Se la selezione è vuota, questo comando non esegue nulla.

w
w

## w

### window:activate

#### Sintassi: window:activate(`titolo`])

Attiva una finestra secondaria, identificata dal `titolo` della sua finestra. Se la finestra secondaria è ridotta a icona, sarà ripristinata. Disponibile solo nei modi MDI e Tab. Questo comando viene usato internamente dal menu Finestra.

#### Parametri

`titolo`: | il titolo della finestra secondaria che deve essere attivata

### window:cascade

#### Sintassi: window:cascade()

Nel modo MDI, sistema a cascata tutte le finestre secondarie. Tutte le finestre secondarie che sono attualmente ridotte a icona non verranno ripristinate.

### window:click

#### Sintassi: window:click( `classe`, `x`, `y` )

Invia un evento di clic del mouse alla finestra identificata dal nome della sua `classe`. L'evento sarà inviato solo alla prima finestra il cui nome della classe corrisponde a quello specificato; quando questo comando viene eseguito devi dunque assicurarti di avere solo un'istanza della finestra specificata.

#### Parametri

`classe`: | nome della classe della finestra
`x`: | posizione x, relativa al bordo sinistro della finestra (in pixel)
`y`: | posizione y, relativa al bordo destro della finestra (in pixel)

### window:close

#### Sintassi: window:close( `classe` )

Chiude una finestra identificata dal nome della sua `classe`. Sarà chiusa solo la prima finestra il cui nome della classe corrisponde a quello specificato; quando questo comando viene eseguito devi dunque assicurarti di avere solo un'istanza della finestra specificata.

#### Parametri

`classe`: | nome della classe della finestra

### window:minimize

#### Sintassi: window:minimize

Riduce a icona la finestra secondaria attualmente attiva se in modo MDI, oppure la finestra di primo livello attuale se in modo SDI o Tab.

### window:mousemove

#### Sintassi: window:resize( `classe`, `x`, `y` )

Invia un evento di spostamento del mouse alla finestra identificata dal nome della sua `classe`. L'evento sarà inviato solo alla prima finestra il cui nome della classe corrisponde a quello specificato; quando questo comando viene eseguito devi dunque assicurarti di avere solo un'istanza della finestra specificata.

#### Parametri

`classe`: | nome della classe della finestra
`x`: | posizione x, relativa al bordo sinistro della finestra (in pixel)
`y`: | posizione y, relativa al bordo destro della finestra (in pixel)

### window:next_sub

#### Sintassi: window:next_sub()

Attiva la finestra secondaria successiva se nel modo MDI o Tab. Se la finestra secondaria successiva è ridotta a icona, verrà ripristinata.

### window:prev_sub

#### Sintassi: window:prev_sub()

Attiva la finestra secondaria precedente se nel modo MDI o Tab. Se la finestra secondaria precedente è ridotta a icona, verrà ripristinata.

### window:resize

#### Sintassi: window:resize( `classe`, `larghezza`, `altezza` )

Cambia la dimensione di una finestra identificata dal nome della sua `classe` a una nuova `larghezza` e `altezza`. La modifica sarà applicata solo alla prima finestra il cui nome della classe corrisponde a quello specificato; quando questo comando viene eseguito devi dunque assicurarti di avere solo un'istanza della finestra specificata.

#### Parametri

`classe`: | nome della classe della finestra
`larghezza`: | la nuova larghezza della finestra (in pixel)
`altezza`: | la nuova altezza della finestra (in pixel)

### window:screenshot

#### Sintassi: window:screenshot( `classe`, `nomefile` )

Scatta una schermata della finestra identificata dalla sua `classe`, e la salva in un file. La schermata sarà presa dalla prima finestra il cui nome della classe corrisponde a quello specificato; quando questo comando viene eseguito devi dunque assicurarti di avere solo un'istanza della finestra specificata. Attualmente il formato del file è a codifica fissa e deve essere `*.png`.

#### Parametri

`classe`: | nome della classe della finestra
`nomefile`: | nome del file con cui salvare la schermata, deve avere l'estensione `*.png`

### window:sendkey

#### Sintassi: window:sendkey( `classe`, `codice tasto` )

Invia un evento di pressione e rilascio tasto a una finestra identificata dal nome della sua `classe`. Il tasto sarà inviato solo alla prima finestra il cui nome della classe corrisponde a quello specificato; quando questo comando viene eseguito devi dunque assicurarti di avere solo un'istanza della finestra specificata.

#### Parametri

`classe`: | nome della classe della finestra
`codice tasto`: | il codice tasto che deve essere inviato, utilizzando la stessa sintassi usata per impostare i menu

#### Vedi anche

Descrizione del parametro `scorciatoia` del comando menu().

### window:tile

#### Sintassi: window:tile()

Nel modo MDI, affianca tutte le finestre secondarie usando degli schemi di Plasma. Tutte le finestre secondarie che sono attualmente ridotte a icona non verranno ripristinate.

### window:tile_vertical

#### Sintassi: window:tile_vertical()

Nel modo MDI, affianca verticalmente tutte le finestre secondarie. Tutte le finestre che sono attualmente ridotte a icona non verranno ripristinate.

Capitolo 5. Estensioni
Estensioni

# Capitolo 5. Estensioni

## Riferimento estensioni

### Indice alfabetico

### a

about (Informazioni su Kwave)
amplifyfree (Amplify Free)

### b

band_pass (Filtro passa banda)

### c

codec_ascii (ASCII Codec)
codec_audiofile (Audiofile Codec)
codec_flac (FLAC Codec)
codec_mp3 (Codifica MP3)
codec_ogg (Codifica Ogg)
codec_wav (Codifica WAV)

### d

debug (funzioni di debug)

### e

export_k3b (Esporta in Progetto K3b)

### f

fileinfo (Informazioni sul file)

### g

goto (Vai alla posizione)

### i

insert_at (Inserisci a)

### l

lowpass (Filtro passa-basso)

### n

newsignal (Nuovo segnale)
noise (Generatore di rumore)
normalize (Normalizza)
notch_filter (Filtro elimina banda)

### p

pitch_shift (Spostamento di tono)
playback (Riproduzione)

### r

record (Registra)
reverse (Inverti)

### s

samplerate (Conversione frequenza di campionamento)
saveblocks (Salva blocchi)
selectrange (Seleziona intervallo)
sonagram (Sonogramma)
stringenter (Inserisci comando)

### v

volume (Volume)

### z

zero (Generatore zero)

``

about (Informazioni su Kwave)
about (Informazioni su Kwave)

## about (Informazioni su Kwave)

Nome interno:

  `about`

Tipo di estensione:

  Interfaccia grafica

Descrizione:

  Mostra una finestra a più schede, comprese le informazioni seguenti:

  - informazioni generali sul programma

  - autori, contributori e proprietari copyright

  - tutte le estensioni trovate, comprese le loro versioni e autori

  - informazioni sulla squadra di traduzione

  - informazioni sul copyright e la licenza

amplifyfree (Amplify Free)
amplifyfree (Amplify Free)

## amplifyfree (Amplify Free)

Nome interno:

  `amplifyfree`

Tipo di estensione:

  effetto

Descrizione:

  Amplifica la selezione corrente con una curva che consiste di un gruppo di coordinate e un metodo di interpolazione. Le coordinate sull'asse del tempo, così come sull'asse dell'ampiezza devono essere regolate tra 0,0 e 1,0.

Parametri
  `operazione`

    Nome interno per la gestione della azioni annulla/rifai. I valori possibili sono:

    parola chiave | descrizione
    --- | ---
    fade in | dissolvenza in entrata, curva da 0,0/0,0 a 1,0/1,0
    fade out | dissolvenza in uscita, curva da 0,0/1,0 a 1,0/0,0
    fade intro | dissolvenza introduttiva, un secondo di pausa, poi dissolvenza in entrata
    fade outro | dissolvenza verso l'uscita, prima dissolvenza in uscita, poi un secondo di pausa
    amplify free | curva definita dall'utente

  `interpolazione`

    Tipo di interpolazione, i valori possibili sono:

    parola chiave | descrizione
    --- | ---
    linear | Lineare
    spline | Spline
    n-polynom | Polinomiale, n gradi
    3-polynom | Polinomiale, 3° grado
    5-polynom | Polinomiale, 5° grado
    7-polynom | Polinomiale, 7° grado
    sample_hold | Sample and Hold

  `curva`

    Un elenco di coppie di coordinate separato da virgole, regolato tra 0,0 e 1,0, deve essere ordinato per asse del tempo (ascendente), deve iniziare al tempo 0,0 e finire con tempo 1,0.

band_pass (Filtro passa banda)
band_pass (Filtro passa banda)

## band_pass (Filtro passa banda)

Nome interno:

  `band_pass`

Tipo di estensione:

  effetto

Descrizione:

  Applica un semplice filtro passa banda alla selezione corrente. Un passa banda permette a un certo intervallo di frequenze intorno a una frequenza centrale di passare ed escludere le frequenze che stanno sotto o sopra la frequenza centrale di più della metà dell'ampiezza di banda del filtro.

  Il filtro è di livello due ed è implementato e descritto nel manuale «An introduction to digital filter theory» di Julius O. Smith e nel libro di Moore, in cui è utilizzata la versione normalizzata dal libro di Moore.

Parametri:
  `frequenza`

    Frequenza centrale del filtro in Hz, deve stare sotto la metà della frequenza di campionamento del file.

  `ampiezza banda`

    Ampiezza di banda del filtro in Hz.

codec_ascii (ASCII Codec)
codec_ascii (ASCII Codec)

## codec_ascii (ASCII Codec)

Nome interno:

  `codec_ascii`

Tipo di estensione:

  codec

Tipi di file supportati:

  Descrizione: | Audio con codifica ASCII
  Estensioni file: | `*.ascii`
  Tipi MIME: | `audio/x-audio-ascii`

Metadati supportati:

  (tutti gli elementi di informazioni dei file conosciuti, vedi la sezione Informazioni sul file)

codec_audiofile (Audiofile Codec)
codec_audiofile (Audiofile Codec)

## codec_audiofile (Audiofile Codec)

Nome interno:

  `codec_audiofile`

Tipo di estensione:

  codec [solo importazione]

Tipi di file supportati:

  Descrizione: | Formato di file audio Amiga IFF/8SVX
  Estensioni file: | `*.8svx` | `*.iff`
  Tipi MIME: | `audio/x-8svx`

  Descrizione: | NeXT, Sun Audio
  Estensioni file: | `*.au`, `*.snd`
  Tipi MIME: | `audio/basic`

  Descrizione: | Formato di scambio audio compresso
  Estensioni file: | `*.aifc`
  Tipi MIME: | `audio/x-aifc`

  Descrizione: | Formato di scambio audio
  Estensioni file: | `*.aif`, `*.aiff`
  Tipi MIME: | `audio/x-aiff`

  Descrizione: | Formato di file Audio Visual Research
  Estensioni file: | `*.avr`
  Tipi MIME: | `audio/x-avr`

  Descrizione: | Formato di file audio Core
  Estensioni file: | `*.caf`
  Tipi MIME: | `audio/x-caf`

  Descrizione: | Formato audio Carl, IRCAM, Berkeley
  Estensioni file: | `*.sf`
  Tipi MIME: | `audio/x-ircam`

  Descrizione: | Formato di file audio NIST SPHERE
  Estensioni file: | `*.nist`
  Tipi MIME: | `audio/x-nist`

  Descrizione: | Formato Sample Vision
  Estensioni file: | `*.smp`
  Tipi MIME: | `audio/x-smp`

  Descrizione: | Creative Voice
  Estensioni file: | `*.voc`
  Tipi MIME: | `audio/x-voc`

Metadati supportati:

  (nessuno)

codec_flac (FLAC Codec)
codec_flac (FLAC Codec)

## codec_flac (FLAC Codec)

Nome interno:

  `codec_flac`

Tipo di estensione:

  codec

Tipi di file supportati:

  Descrizione: | Audio FLAC (Free Lossles Audio Codec)
  Estensioni file: | `*.flac`
  Tipi MIME: | `audio/x-flac`

Metadati supportati:

  Data, Nome, Versione, Album, Traccia, Autore, Esecutore, Copyright, Licenza, Organizzazione, Oggetto, Genere, Sorgente, Contatto, ISRC, Software, Ingegnere, Qualità di base

codec_mp3 (Codifica MP3)
codec_mp3 (Codifica MP3)

## codec_mp3 (Codifica MP3)

Nome interno:

  `codec_mp3`

Tipo di estensione:

  codec

Tipi di file supportati:

  Descrizione: | Audio MPEG layer III
  Estensioni file: | `*.mp3`
  Tipi MIME: | `audio/x-mp3`, `audio/mpeg`s

  Descrizione: | Audio MPEG layer II
  Estensioni file: | `*.mp2`
  Tipi MIME: | `audio/x-mp2`, `audio/mpeg`

  Descrizione: | Audio MPEG layer I
  Estensioni file: | `*.mp1`, `*.mpg`, `*.mpga`
  Tipi MIME: | `audio/x-mpga`, `audio/mpeg`

Metadati supportati:

  Album, Annotazione, Autore, CD, CDS, Commenti, Commissionato, Contatto, Copyright, Data, Genere, ISRC, Lunghezza, Licenza, Mezzo, Nome, Organizzazione, Esecutore, Software, Tecnico, Traccia, Tracce, Versione

codec_ogg (Codifica Ogg)
codec_ogg (Codifica Ogg)

## codec_ogg (Codifica Ogg)

Nome interno:

  `codec_ogg`

Tipo di estensione:

  codec

Tipi di file supportati:

  Descrizione: | Audio Ogg Opus
  Estensioni file: | `*.opus`
  Tipi MIME: | `audio/ogg`, `application/ogg`, `audio/opus`

  Descrizione: | Audio Ogg Vorbis
  Estensioni file: | `*.ogg`
  Tipi MIME: | `audio/ogg`, `audio/x-ogg`, `application/x-ogg`, `audio/x-vorbis+ogg`

Metadati supportati:

  Album, Autore, Contatto, Copyright, Data, Ingegnere, Genere, ISRC, Licenza, Nome, Organizzazione, Esecutore, Software, Sorgente, Oggetto, Traccia, Qualità di base, Versione,

codec_wav (Codifica WAV)
codec_wav (Codifica WAV)

## codec_wav (Codifica WAV)

Nome interno:

  `codec_wav`

Tipo di estensione:

  codec

Tipi di file supportati:

  Descrizione: | Audio WAV
  Estensioni file: | `*.wav`
  Tipi MIME: | `audio/x-wav`, `audio/vnd.wave`, `audio/wav`

Metadati supportati:

  Album, Annotazione, Posizione archivio, Autore, CD, Commenti, Commissionato, Contatto, Copyright, Data, Ingegnere, Genere, ISRC, Parole chiave, Licenza, Mezzo, Nome, Organizzazione, Esecutore, Prodotto, Software, Sorgente, Forma originale, Oggetto, Tecnico, Traccia, Versione,

debug (funzioni di debug)
debug (funzioni di debug)

## debug (funzioni di debug)

Nome interno:

  `debug`

Tipo di estensione:

  funzione

Descrizione:

  Fornisce vari comandi interni utili per il debug e lo scripting in Kwave. Queste funzioni sono disponibili solo tramite il menu principale, se Kwave è stato compilato in modalità debug (compilato con l'opzione CMAKE_WITH_DEBUG).

Comandi:

  window:click, window:close window:mousemove, window:resize, window:screenshot, window:sendkey

export_k3b (Esporta in Progetto K3b)
export_k3b (Esporta in Progetto K3b)

## export_k3b (Esporta in Progetto K3b)

Nome interno:

  `export_k3b`

Tipo di estensione:

  funzione

Descrizione:

  Salva tutte le sezioni comprese tra i contrassegni in un file separato e crea un file di progetto K3b. Dopo aver scritto correttamente tutti i file, è possibile avviare K3b e masterizzare il risultato in un CD audio. Questo è utile quando è necessario dividere un file con una registrazione che consiste di più parti, separate da etichette, e poi masterizzarlo in un CD audio con più tracce, inclusi i metadati in formato CD-text che vengono estratti dalle descrizioni delle etichette.

  (Questa estensione sta usando internamente l'estensione saveblocks (Salva blocchi)).

Parametri:
  `modello`

    Un modello che sarà usato per rilevare il titolo e l'artista dall'etichetta all'inizio di una sezione. Supporta i caratteri jolly seguenti, che saranno sostituiti dal contenuto corrispondente quando si creano i metadati in formato CD-text:

    carattere jolly | descrizione
    --- | ---
    [%artist] | Sarà sostituito con l'artista che ha eseguito il blocco corrispondente o, in alternativa, con l'autore.
    [%title] | Sarà sostituito con il titolo del blocco, preso dal testo descrittivo dell'etichetta all'inizio del blocco. Se quel testo è vuoto, tornerà al titolo del file (vedi l'elemento informazione del file «Nome»). Se anche questo non esiste, tornerà al nome file di base come sopra descritto.

    Esempio: «`[%title] ([%artist])`» rileverà l'autore «`Beethoven`» e il titolo «`Sinfonia n. 5`» dalla stringa «`Sinfonia n. 5 (Beethoven)`».

  `solo la selezione`

    valore | descrizione
    --- | ---
    0 | Salva tutte le sezioni dell'intero file.
    1 | Salva solo le sezioni che sono all'interno della selezione corrente. Se non è selezionato nulla, sarà salvato l'intero file.

  `file progetto`

    Il nome del file del progetto K3b originale, che sarà usato anche come base per i nomi dei file esportati.

  `posizione esportazione`

    La posizione dove devono essere salvati i blocchi.

  `regole di sovrascrittura`

    Determina da dove deve partire la numerazione.

    valore | descrizione
    --- | ---
    0 | Inizia sempre con indice 1, col rischio di sovrascrivere file esistenti.
    1 | Continua dopo l'indice dell'indice più alto già esistente, questo evita la sovrascrittura di file esistenti.

fileinfo (Informazioni sul file)
fileinfo (Informazioni sul file)

## fileinfo (Informazioni sul file)

Nome interno:

  `fileinfo`

Tipo di estensione:

  Interfaccia grafica

Descrizione:

  Fornisce una finestra di dialogo per visualizzare e modificare i parametri e i metadati del file attualmente aperto. Vedi la sezione Proprietà del file in questo manuale.

goto (Vai alla posizione)
goto (Vai alla posizione)

## goto (Vai alla posizione)

Nome interno:

  `goto`

Tipo di estensione:

  funzione

Descrizione:

  Mostra una finestra di dialogo con la possibilità di impostare la posizione corrente della selezione a un nuovo valore, sia per tempo in millisecondi, sia per posizione nei campioni, sia per percentuale della lunghezza del file attuale.

Comandi:

  goto

Parametri:
  `modo`

    valore | descrizione
    --- | ---
    0 | la posizione è specificata in millisecondi
    1 | la posizione è specificata in campioni
    2 | la posizione è specificata in percentuale della lunghezza del file

  `posizione`

    la posizione dove andare, in millisecondi, campioni o percentuale della lunghezza del file, in base al parametro `modo`.

insert_at (Inserisci a)
insert_at (Inserisci a)

## insert_at (Inserisci a)

Nome interno:

  `insert_at`

Tipo di estensione:

  funzione

Descrizione:

  Simile all'estensione goto (Vai alla posizione), ma mostra una finestra di dialogo con la possibilità di inserire il contenuto attuale degli appunti in una posizione specificata, sia per tempo in millisecondi, sia per posizione nei campioni, sia per percentuale della lunghezza del file attuale.

Comandi:

  insert_at

Parametri:
  `modo`

    valore | descrizione
    --- | ---
    0 | la posizione è specificata in millisecondi
    1 | la posizione è specificata in campioni
    2 | la posizione è specificata in percentuale della lunghezza del file

  `posizione`

    la posizione dove inserire i dati degli appunti in millisecondi, campioni o percentuale della lunghezza del file, in base al parametro `modo`.

lowpass (Filtro passa-basso)
lowpass (Filtro passa-basso)

## lowpass (Filtro passa-basso)

Nome interno:

  `lowpass`

Tipo di estensione:

  effetto

Descrizione:

  Applica un semplice filtro passa-basso alla selezione corrente. Un filtro passa-basso permette alle frequenze che stanno sotto una frequenza limite di passare ed esclude le frequenze che stanno sopra tale limite.

  Il filtro è di livello due ed è implementato come descritto nel manuale «The manifold joys of conformal mapping, applications to digital filtering in the studio» di James A. Moorer (JAES, Vol. 31, No. 11, novembre 1983).

Parametri:
  `frequenza`

    La frequenza limite del filtro passa-basso in Hz.

newsignal (Nuovo segnale)
newsignal (Nuovo segnale)

## newsignal (Nuovo segnale)

Nome interno:

  `newsignal`

Tipo di estensione:

  funzione

Descrizione:

  Fornisce una finestra di dialogo per creare un nuovo file. Per altre informazioni, fai riferimento alla sezione Creare un nuovo file in questo manuale.

Comandi:

  newsignal,

noise (Generatore di rumore)
noise (Generatore di rumore)

## noise (Generatore di rumore)

Nome interno:

  `noise`

Tipo di estensione:

  effetto

Descrizione:

  Aggiunge del rumore bianco alla selezione corrente. La quantità di rumore può essere selezionata tra zero (nessun rumore, l'originale non viene modificato) e uno (l'originale viene sostituito dal 100% di rumore).

Parametri:
  `livello`

    Livello del rumore, deve essere sempre un numero a virgola mobile sopra lo zero e inferiore o uguale a uno.

  `modo`

    valore | descrizione
    --- | ---
    0 | Inserisci il valore di rumore come percentuale dell'ampiezza, da 0 a 100.
    1 | Inserisci il rumore in decibel, da -21 dB a 0 dB.

normalize (Normalizza)
normalize (Normalizza)

## normalize (Normalizza)

Nome interno:

  `normalize`

Tipo di estensione:

  effetto

Descrizione:

  Normalizza il livello del volume della selezione corrente. Usalo se il volume del tuo segnale è troppo basso o troppo alto.

  L'algoritmo è mutuato dal progetto normalize ed è stato originariamente scritto da Chris Vaill .

notch_filter (Filtro elimina banda)
notch_filter (Filtro elimina banda)

## notch_filter (Filtro elimina banda)

Nome interno:

  `notch_filter`

Tipo di estensione:

  effetto

Descrizione:

  Applica un filtro elimina banda alla selezione corrente. Un filtro elimina banda rimuove un piccolo intervallo di frequenze intorno a una frequenza centrale e consente a tutte le altre frequenze, che stanno sotto e sopra la frequenza centrale di più della metà dell'ampiezza di banda, di passare.

  Usa questo filtro per eliminare singole frequenze di distorsione.

  Il filtro è di livello due e si basa sull'implementazione di Juhana Sadeharju .

Parametri:
  `frequenza`

    Frequenza centrale del filtro in Hz, deve stare sotto la metà della frequenza di campionamento del file.

  `ampiezza banda`

    Ampiezza di banda del filtro in Hz.

pitch_shift (Spostamento di tono)
pitch_shift (Spostamento di tono)

## pitch_shift (Spostamento di tono)

Nome interno:

  `pitch_shift`

Tipo di estensione:

  effetto

Descrizione:

  L'effetto spostamento di tono modifica il segnale cambiando la velocità del contenuto, ma mantenendo la lunghezza originale. Puoi selezionare la velocità relativa sia per fattore da 1/10 a x5, sia per percentuale da 1% a 400% della velocità originale.

  Un fattore di velocità sotto 1,0 sposta il segnale in basso (voce più bassa, rende i suoni vocali più vecchi), il fattore 1,0 non cambia e un fattore sopra 1,0 sposta il segnale in alto (voce più alta, effetto Mickey Mouse).

  L'implementazione si basa sul lavoro di Jeff Tranter e Stefan Westerfeld

Parametri:
  `velocità`

    Fattore per il cambiamento della velocità, deve essere un numero a virgola mobile compreso tra 0,001 e 4,0.

  `frequenza`

    Frequenza usata internamente dal filtro in Hz, deve essere compresa tra 2,0 e 10,0.

  `modo`

    valore | descrizione
    --- | ---
    0 | Inserisci il valore della velocità come fattore da 1/10 a x5.
    1 | Inserisci il valore della velocità come percentuale da 1 a 400.

playback (Riproduzione)
playback (Riproduzione)

## playback (Riproduzione)

Nome interno:

  `playback`

Tipo di estensione:

  funzione

Descrizione:

  Fornisce una finestra di dialogo per impostare i parametri di riproduzione. Per altre informazioni, fai riferimento alla sezione Riproduzione in questo manuale.

Parametri:
  `metodo di riproduzione`

    Il metodo usato per la riproduzione, vedi `PlayBackParam.h`.

  `dispositivo di riproduzione`

    Una stringa che determina il dispositivo di riproduzione o il canale. Il significato dipende dal metodo di riproduzione.

  `canali`

    Il numero di canali da usare per la riproduzione, attualmente supporta solo 1 (mono) o 2 (stereo).

  `bit per campione`

    Il numero di bit per campione per la riproduzione, deve essere 8, 16, 24 o 32. Dipende dal metodo e dal dispositivo di riproduzione.

  `dimensione buffer`

    Determina la dimensione del buffer di riproduzione, usato come esponente per il calcolo della vera dimensione del buffer come 2^n, per esempio impostandolo a 16 restituisce una dimensione buffer di 2^16 = 64 kB.

record (Registra)
record (Registra)

## record (Registra)

Nome interno:

  `record`

Tipo di estensione:

  funzione

Descrizione:

  Fornisce una finestra di dialogo per impostare i parametri di registrazione e per eseguire una registrazione. Per altre informazioni, fai riferimento alla sezione Registrazione in questo manuale.

Parametri:
  `metodo di registrazione`

    Il metodo usato per registrare, vedi `RecordParams.h`.

  `pre-registrazione abilitata`

    Abilita/disabilita la pre-registrazione (1 abilitata, 0 disabilitata).

  `tempo di pre-registrazione`

    Numero di secondi per la pre-registrazione.

  `tempo limite di registrazione`

    Abilita/disabilita il limite del tempo di registrazione (1 se limitato, 0 se non limitato).

  `tempo di registrazione`

    Durata della registrazione in secondi.

  `usa il tempo di avvio`

    Abilita/disabilita il tempo di avvio (1 se usato, 0 se non usato).

  `tempo di avvio`

    Data e ora per l'avvio della registrazione, in formato ISO.

  `usa livello di attivazione`

    Abilita/disabilita il livello di attivazione (1 se usato, 0 se non usato).

  `livello di attivazione`

    Livello di attivazione in percentuale.

  `dispositivo di registrazione`

    Una stringa che determina il dispositivo di registrazione.

  `canali`

    Il numero dei canali da usare per la registrazione.

  `frequenza di campionamento`

    Frequenza di campionamento in campioni per secondo.

  `compressione`

    Compressione da usare per memorizzare i campioni.

  `formato di campionamento`

    Formato dei campioni da usare per memorizzare i campioni, vedi la sezione sui formati dei campioni.

  `bit per campione`

    Il numero di bit per campione per la registrazione, devono essere 8, 16, 24 o 32.

  `conteggio buffer`

    Determina i buffer dei numeri usati per la registrazione.

  `dimensione buffer`

    Determina la dimensione del buffer di registrazione, usato come esponente per il calcolo della vera dimensione del buffer come 2^n, per esempio impostandolo a 16 restituisce una dimensione buffer di 2^16 = 64 kB.

Parametri alternativi:
  `modo diretto estensione registrazione`

    Può essere usato come parametro singolo per impostare l'estensione. Sono possibili i valori seguenti:

    valore | descrizione
    --- | ---
    format | Apri la finestra di dialogo di registrazione e seleziona la scheda Formato.
    source | Apri la finestra di dialogo di registrazione e seleziona la scheda Sorgente.
    start_now | Apri la finestra di dialogo di registrazione e inizia direttamente a registrare.

reverse (Inverti)
reverse (Inverti)

## reverse (Inverti)

Nome interno:

  `reverse`

Tipo di estensione:

  effetto

Descrizione:

  Questo semplice effetto inverte il contenuto della selezione corrente.

samplerate (Conversione frequenza di campionamento)
samplerate (Conversione frequenza di campionamento)

## samplerate (Conversione frequenza di campionamento)

Nome interno:

  `samplerate`

Tipo di estensione:

  effetto

Descrizione:

  Cambia la frequenza di campionamento delle selezione corrente o dell'intero segnale.

Parametri:
  `nuova frequenza`

    La nuova frequenza di campionamento in campioni per secondo (valore a virgola mobile).

  `modo` (facoltativo)

    Se questo parametro viene usato e impostato al valore «`tutto`», questo effetto sarà applicato all'interno segnale. In caso contrario, sarà applicato solo alla selezione corrente.

saveblocks (Salva blocchi)
saveblocks (Salva blocchi)

## saveblocks (Salva blocchi)

Nome interno:

  `saveblocks`

Tipo di estensione:

  funzione

Descrizione:

  Salva tutte le sezioni tra i contrassegni, ciascuno in un file separato. A ciascun file viene attribuito un nome che può essere personalizzato utilizzando un modello che può contenere il nome file originale, un indice e il numero delle sezioni.

  Il modello del nome file può contenere anche barre inclinate come separatori del percorso, e ciò permette di salvare le sezioni in sotto-cartelle diverse. Nota che tutti i caratteri di spazi vuoti intorno a questi separatori di percorso vengono rimossi in automatico, al fine di evitare la creazione di nomi di cartelle che inizino o finiscano con spazi vuoti.

Parametri:
  `modello`

    Un modello che sarà usato per creare i nomi dei file. Può contenere i caratteri jolly seguenti, che saranno sostituiti dal contenuto corrispondente quando si crea il nome file definitivo:

    carattere jolly | descrizione
    --- | ---
    [%nr] | Sarà sostituito con l'indice attuale del file da salvare.
    [%count] | Sarà sostituito col numero di sezioni che saranno salvate.
    [%total] | Sarà sostituito con l'indice dell'ultimo file da salvare.
    [%filename] | Sarà sostituito col nome file di base, senza percorso e senza estensione.
    [%fileinfo{`parola chiave`}] | Sarà sostituito col contenuto di un'informazione del file identificata dalla `parola chiave`. Per un elenco di tutte le parole chiave disponibili, vedi la sezione Informazioni sul file.
    [%title] | Sarà sostituito con il titolo del blocco, preso dal testo descrittivo dell'etichetta all'inizio del blocco. Se quel testo è vuoto, tornerà al titolo del file (vedi l'elemento informazione del file «Nome»). Se anche questo non esiste, tornerà al nome file di base come sopra descritto.

    Tutti i caratteri jolly numerici possono anche contenere un argomento numerico dopo il segno «`%`» e l'identificatore, per forzare un certo numero di cifre. Se il numero è preceduto da uno `0` allora il risultato conterrà zeri davanti, in caso contrario conterrà spazi davanti.

    Esempio: `[%04nr]` produce un numero tra 0001 e 9999.

  `modo di numerazione`

    Determina da dove deve partire la numerazione.

    valore | descrizione
    --- | ---
    0 | Continua dopo l'indice dell'indice più alto già esistente, questo evita la sovrascrittura di file esistenti.
    1 | Inizia sempre con indice 1, col rischio di sovrascrivere file esistenti.

  `estensione`

    L'estensione del nome file da utilizzare per i blocchi salvati. Determina quale estensione verrà utilizzata.

  `posizione esportazione`

    La posizione in cui esportare i blocchi salvati.

  `solo la selezione`

    valore | descrizione
    --- | ---
    0 | Salva tutte le sezioni dell'intero file.
    1 | Salva solo le sezioni che sono all'interno della selezione corrente. Se non è selezionato nulla, sarà salvato l'intero file.

selectrange (Seleziona intervallo)
selectrange (Seleziona intervallo)

## selectrange (Seleziona intervallo)

Nome interno:

  `selectrange`

Tipo di estensione:

  funzione

Descrizione:

  Mostra una finestra di dialogo per selezionare un intervallo di campioni. L'inizio e la lunghezza della selezione può essere impostata per millisecondi, per campioni o come percentuale della lunghezza totale del file.

Parametri:
  `modo avvio`

    Determina le unità nelle quali sarà specificata l'avvio della selezione.

    valore | descrizione
    --- | ---
    0 | millisecondi
    1 | campioni
    2 | percentuale di lunghezza del file

  `modo intervallo`

    Determina le unità nelle quali sarà specificato l'intervallo della selezione. Per un elenco di valori possibili, vedi la descrizione del parametro `modo avvio`.

  `avvio`

    L'inizio della selezione, in millisecondi, campioni o percentuale della lunghezza del file, in base al parametro `modo intervallo`.

  `lunghezza`

    La lunghezza della selezione, in millisecondi, campioni o percentuale della lunghezza del file, in base al parametro `modo intervallo`.

sonagram (Sonogramma)
sonagram (Sonogramma)

## sonagram (Sonogramma)

Nome interno:

  `sonagram`

Tipo di estensione:

  funzione

Descrizione:

  Valuta la selezione corrente generando un sonogramma. Un sonogramma è una valutazione di un segnale in base al tempo (asse x), alla frequenza (asse y) e all'intensità (colore).

Parametri:
  `Punti FFT`

    Numero di punti della FFT, numero intero compreso tra 4 e 32767 che determina la risoluzione della frequenza.

  `funzione finestra`

    La funzione finestra usata per il calcolo FFT, i valori supportati sono:

    valore | descrizione
    --- | ---
    none | nessuna funzione finestra
    hamming | Finestra di Hamming
    hanning | Finestra di Hanning
    blackman | Finestra di Blackman
    triangular | Finestra triangolare

  `usa i colori`

    Se impostato a non-zero usa i colori per l'intensità, se impostato a zero usa la scala di grigi.

  `modifiche delle tracce`

    Se impostato a non-zero, il sonogramma sarà aggiornato quando l'area valutata viene modificata. Se impostato a zero non sarà mai aggiornato.

  `segui la selezione`

    Non ancora implementato, usa zero per questo parametro.

stringenter (Inserisci comando)
stringenter (Inserisci comando)

## stringenter (Inserisci comando)

Nome interno:

  `stringenter`

Tipo di estensione:

  funzione

Descrizione:

  Una piccola finestra di dialogo che permette di inserire un comando di testo di Kwave. Consulta il capitolo Riferimento comandi in questo manuale.

Parametri:
  `preimpostato` (facoltativo)

    Testo mostrato nel campo di modifica quando si apre la finestra di dialogo. Questo parametro è facoltativo, se omesso all'avvio della finestra di dialogo il campo di modifica sarà vuoto.

volume (Volume)
volume (Volume)

## volume (Volume)

Nome interno:

  `volume`

Tipo di estensione:

  effetto

Descrizione:

  Con questa estensione puoi cambiare il volume della selezione corrente tramite un fattore costante. La finestra di dialogo corrispondente permette d'inserire il fattore come fattore numerico specificato come un valore a virgola mobile tra 0,10 e 10,0, una percentuale tra 1 e 1000 o in decibel tra -21 e +21.

  Usa un fattore sopra 1,0 (o una percentuale sopra 100 o più di 0 dB) se il file è troppo silenzioso, o un fattore sotto 1,0 (una percentuale sotto 100 o meno di 0 dB) se il file è troppo rumoroso.

Parametri:
  `fattore`

    Un valore a virgola mobile col fattore di amplificazione.

  `modo`

    valore | descrizione
    --- | ---
    0 | fattore
    1 | percentuale
    1 | decibel

zero (Generatore zero)
zero (Generatore zero)

## zero (Generatore zero)

Nome interno:

  `zero`

Tipo di estensione:

  effetto

Descrizione:

  L'estensione ha due modi operativi. Se usato senza parametri ripulisce la selezione corrente sovrascrivendola col silenzio. Quando è usata invece con due parametri, inserisce una certa quantità di silenzio all'inizio della selezione corrente.

Parametri:
  `modo lunghezza`

    Determina le unità nelle quali sarà specificata la lunghezza del silenzio inserito.

    valore | descrizione
    --- | ---
    0 | millisecondi
    1 | campioni
    2 | percentuale di lunghezza del file

  `lunghezza`

    Lunghezza del silenzio da inserire, in millisecondi, campioni o percentuale della lunghezza del file, in base al parametro `modo lunghezza`.

Capitolo 6. Domande e risposte
Domande e risposte

# Capitolo 6. Domande e risposte

6.1. Di cosa ho bisogno per compilare Kwave?
6.2. Quali schede audio supporta Kwave?
6.3. Perché Kwave utilizza più memoria di quella che ci si attende dalla dimensione del file aperto?
6.4. Quali formati audio Kwave supporta?
6.5. Cosa posso fare se possiedo file con un formato che non è supportato da Kwave?
6.6. Ottengo errori quando voglio eseguire la riproduzione. Perché?
6.7. La riproduzione sembra andare ma non sento niente. Perché?
6.8. Alcuni file sono riprodotti a metà velocità. Perché?
6.9. La riproduzione a volte è disturbata e interrotta. Perché?
6.10. La riproduzione non si ferma subito quando premo il pulsante di arresto. Perché?
6.11. ALSA è supportato?
6.12. E la riproduzione con 18, 20, 24 o 32 bit per campione o più di due canali?

6.1. | Di cosa ho bisogno per compilare Kwave?
| Leggi la documentazione per gli sviluppatori.
6.2. | Quali schede audio supporta Kwave?
| Kwave non ha bisogno di supportare alcuna scheda audio. La scheda audio deve essere supportata dal tuo sistema operativo e Kwave usa la sua interfaccia al driver audio del sistema operativo tramite un'interfaccia ALSA, PulseAudio, Qt o OSS.
6.3. | Perché Kwave utilizza più memoria di quella che ci si attende dalla dimensione del file aperto?
| La ragione di ciò è che Kwave memorizza internamente tutti i campioni in interi a 32 bit. Questo è facile da programmare, rende l'applicazione più veloce e un po' più affidabile. Se, dunque, carichi un file a 8 bit di circa un megabyte, esso utilizzerà quattro megabyte circa. Un giorno, magari, questo comportamento verrà cambiato...
6.4. | Quali formati audio Kwave supporta?
| Kwave attualmente supporta file .wav con 8, 16 e 24 bit per campione, con qualsiasi numero di canali (inclusi, naturalmente, mono e stereo). In aggiunta, può importare tutti i tipi di file supportati da libaudiofile e alcuni altri formati come Ogg/Vorbis e MP3.
6.5. | Cosa posso fare se possiedo file con un formato che non è supportato da Kwave?
| Se devi lavorare su un formato diverso, puoi convertire il file in formato .wav. Un buon set di strumenti utile a questo scopo è il pacchetto SoX, che è pure ben documentato.
6.6. | Ottengo errori quando voglio eseguire la riproduzione. Perché?

È probabile che tu abbia scelto una combinazione di velocità di riproduzione e una dimensione di campioni non supportata dalla tua scheda audio e, o in alternativa, dal tuo hardware audio. Prova prima a riprodurre con 8 bit per campione e mono, dovrebbe funzionare. Poi prova ad aumentare i bit per campione e la riproduzione stereo, un passo alla volta. Nota che alcune velocità di riproduzione non sono per nulla supportate da certo hardware audio.

6.7. | La riproduzione sembra andare ma non sento niente. Perché?
| Forse hai dimenticato di aumentare il volume del canale di riproduzione. Non dipende da Kwave il cambio del volume di riproduzione.
6.8. | Alcuni file sono riprodotti a metà velocità. Perché?
| Prova a scegliere un dispositivo di riproduzione audio diverso.
6.9. | La riproduzione a volte è disturbata e interrotta. Perché?
| Deve aumentare la dimensione del buffer di riproduzione per ottenere una riproduzione più «fluida» (ciò rende un po' più lenta la reazione dei controlli della riproduzione).
6.10. | La riproduzione non si ferma subito quando premo il pulsante di arresto. Perché?
| La ragione di ciò è che il driver audio ha ricevuto dei dati di riproduzione da Kwave nel momento in cui hai premuto il pulsante di arresto. Se riduci la dimensione del buffer di riproduzione esso dovrebbe rispondere più rapidamente (ma aumenterà la possibilità di interruzioni).
6.11. | ALSA è supportato?
| Sì, dalla versione 0.7.4 per la riproduzione e la registrazione
6.12. | E la riproduzione con 18, 20, 24 o 32 bit per campione o più di due canali?
| È possibile tramite l'interfaccia ALSA, dalla versione 0.7.4.

Capitolo 7. Riconoscimenti e licenza
Riconoscimenti e licenza

# Capitolo 7. Riconoscimenti e licenza

Kwave

Copyright del programma 1998-2000 Martin Wilz `(martin AT wilz.de)`

Copyright del programma dal 2000 Thomas Eschenbacher `(thomas.eschenbacher AT gmx.de)`

Per un elenco completo degli autori e delle licenze per tutti i file, fai riferimento al file `LICENSES`, incluso nei sorgenti. Esiste anche un file di nome `AUTHORS` che elenca tutti gli autori e i contributori di Kwave.

Copyright (C) della documentazione 2020 Thomas Eschenbacher `(thomas.eschenbacher AT gmx.de)`

Copyright (C) della documentazione (C) 2024 Mark Penner `(mrp AT markpenner.space)`

Valter Mura `(valtermura AT gmail.com)`

Questa documentazione è concessa in licenza sotto i termini della GNU Free Documentation License.

Questo programma è concesso in licenza sotto i termini della GNU General Public License.

## Autori principali

- Martin Wilz `(martin AT wilz.de)`

  Creatore del progetto, sviluppo attivo 1998-2000

- Thomas Eschenbacher `(thomas.eschenbacher AT gmx.de)`

  responsabile dal 2000, sviluppatore principale

Contributori principali
Contributori principali

## Contributori principali

- Aurelien Jarno `(aurel32 AT debian.org)`

  pacchetti debian, patch

- Carlos R `(pureacetone AT gmail.com)`

  traduzione in spagnolo

- David Flogeras `(dflogera AT nbnet.nb.ca)`

  estensione Filtro elimina banda

- Gilles Caulier `(caulier.gilles AT free.fr)`

  i18n, traduzioni in francese, schermate, beta tester

- Mark Penner `(mrp AT markpenner.space)`

  sviluppo

- Pavel Fric `(pavelfric AT seznam.cz)`

  traduzione in ceco

- Ralf Waspe `(rwaspe AT web.de)`

  estensione Aiuto/Informazioni su

- Sven-Steffen Arndt `(ssa29 AT gmx.de)`

  pagina principale, traduzione in Tedesco

Contributori minori, detentori di copyright e altri
Contributori minori, detentori di copyright e altri

## Contributori minori, detentori di copyright e altri

- Bertrand Songis `(bsongis AT gmail.com)` [storico]

  correzioni traduzione francese, sostituzioni per il codice di libaudiofile brevettato, errore debian #419124

- Carsten Lohrke `(carlo AT gentoo.org)`

  svn r2163, patch per il rilevamento libaudiofile

- Chris Vaill `(chrisvaill AT gmail)`

  base di codice per l'estensione Normalizza

- David Faure `(faure AT kde.org)`

  cmake/FindAlsa.cmake

- Diederick de Vries `(diederick76 AT gmail.com)`

  pacchetti per Crux Linux

- Espen Sand `(espen AT kde.org)` + Mirko Boehm `(mirko AT kde.org)`

  K3AboutContainer, base di KwaveAboutContainer

- Everaldo Coelho `(contact AT everaldo.com)`

  tema icone Crystal http://www.everaldo.com/crystal/

- Jaroslav Kysela

  parti di plugins/playback/PlayBack-ALSA.cpp

- Jeff Tranter

  parti di plugins/pitch_shift/PitchShiftFilter.{h,cpp}

- Juhana Sadeharju `(kouhia AT nic.funet.fi)`

  plugins/band_pass/BandPass.{h,cpp}, plugins/lowpass/LowPassFilter.cpp, plugins/notch_filter/NotchFilter.{h,cpp}

- Kurt Roeck `(Q AT ping.be)`

  svn r1370, correzione per debian bug#288781, compilazione per amd64

- Mark Donohoe (KDE) `(donohoe AT kde.org)`

  alcune icone e bitmap per la barra degli strumenti e l'interfaccia grafica

- Martin Hinsch `(vidas AT sourceforge.net)`

  classe Matrix

- Matthias Kretz `(kretz AT kde.org)`

  cmake/FindAlsa.cmake

- Richard Laerkaeng, `(richard AT goteborg.utfors.se)`

  cmake/FindOggVorbis.cmake

- Rik Hemsley `(rik AT kde.org)`

  indicatore livelli audio

- Stefan Westerfeld `(stefan AT space.twc.de)`

  parti di plugins/pitch_shift/PitchShiftFilter.{h,cpp}

- Joerg-Christian Boehme `(joerg AT chaosdorf.de)`

  plugins/record/Record-PulseAudio.cpp plugins/record/Record-PulseAudio.h

- Sebastian Trueg `(trueg AT k3b.org)`, Gustavo Pichorim Boiko `(gustavo.boiko AT kdemail.net)`, Michal Malek `(michalm AT jabster.pl)`

  parti di plugins/export_k3b/K3BExportPlugin.cpp

Grazie a
Grazie a

## Grazie a

- Martin Kuball `(makube AT user.sourceforge.net)`

  beta tester

- Jorge Luis Arzola `(arzolacub AT gmx.de)`

  pacchetti per SuSE Linux

- Michael Favreau `(michel.favreau AT free.fr)`

  pacchetti per Arch Linux

- T.H.F. Klok e Cedric Tefft

  responsabili della libreria id3lib

- Robert Leslie `(rob AT mars.org)`

  autore della libreria di decodifica mp3 mad

- Robert M. Stockmann `(stock AT stokkie.net)`

  pacchetti per Mandrake / X86_64

- Erik de Castro Lopo `(erikd AT zip.com.au)`

  autore della libreria sndfile

- Michael Pruett `(mpruett AT sgi.com)`

  autore della libreria audiofile

Appendice A. Informazioni sul file
Informazioni sul file

# Appendice A. Informazioni sul file

Tabella A.1. Elenco degli identificatori delle informazioni sul file

Parola chiave |  | Descrizione
--- | --- | ---
Album |  | Nome dell'album se la sorgente è un album che consiste di più file multimediali.
Annotazione |  | Fornisce commenti sul file o l'oggetto del file. Se il commento è composto di più frasi, termina ogni frase con un punto. Non includere caratteri di nuova riga.
Posizione archivio |  | Indica dove viene memorizzato l'oggetto del file.
Autore |  | Identifica il nome dell'autore dell'oggetto originale del file. Esempio: «van Beethoven, Ludwig»
Bitrate inferiore |  | Specifica il limite inferiore in un flusso VBR.
Modo bitrate |  | Modo bitrate (ABR, VBR, CBR, ecc...)
Bitrate |  | Bitrate nominale del flusso audio in bit per secondo
Bitrate superiore |  | Specifica il limite superiore in un flusso VBR.
Bit per campione |  | Specifica il numero di bit per campione.
CD |  | Numero del CD, se la sorgente è un album composto da più CDROM
CDS |  | Numero dei CD, se la sorgente è un album composto da più CDROM
Commissionato |  | Elenca il nome della persona o dell'organizzazione che ha commissionato l'oggetto del file.
Commenti |  | Fornisce commenti sul file o l'oggetto del file. Se il commento è composto di più frasi, termina ogni frase con un punto. Non includere caratteri di nuova riga.
Compressione |  | Imposta un modo di compressione dei dati audio per ridurre lo spazio su disco.
Contatto |  | Informazioni di contatto dei creatori o distributori della traccia. Può essere un URL, un indirizzo di posta elettronica, l'indirizzo fisico dell'etichetta produttrice.
Copyright |  | Registra l'informazione di copyright per il file. Se ci sono più copyright, separali da un punto e virgola seguito da uno spazio. Esempio: «Copyright Comunità Linux 2002»
Con copyright |  | Indica se il file è protetto o no da copyright.
Data |  | Specifica la data di creazione dell'oggetto del file. Esempio: «24-12-2001»
Ingegnere |  | Mostra il nome dell'ingegnere che ha lavorato sul file. Se ci sono più ingegneri, separa i nomi con un punto e virgola e uno spazio.
Lunghezza stimata |  | Lunghezza stimata del file nei campioni
Nome del file |  | Nome del file aperto
Dimensione del file |  | Dimensione del file in byte
Genere |  | Descrive il genere o lo stile del lavoro originale. Esempio: «classica», «pop»
ISRC |  | Numero ISRC della traccia; vedi la pagina introduttiva su ISRC per altre informazioni sui numeri ISRC. http://isrc.ifpi.org/
Parole chiave |  | Fornisce un elenco di parole chiave che si riferiscono al file o all'oggetto del file.
Etichette |  | L'elenco di etichette/contrassegni.
Lunghezza |  | Lunghezza del file nei campioni.
Licenza |  | Informazioni sulla licenza, per es., «Tutti i diritti riservati», «Ogni utilizzo consentito», un URL a una licenza o la Attribution-ShareAlike 4.0 International («distribuito sotto i termini della licenza Attribution-ShareAlike 4.0 International. Vedi https://creativecommons.org/licenses/by-sa/4.0/»), ecc.
Mezzo |  | Describe l'oggetto originale del file, dove è stato originariamente registrato. Esempio: «orchestra»
Tipo MIME |  | Tipo MIME del formato del file
Enfasi |  | Modalità di enfasi audio
Layer |  | MPEG Layer, I, II o III
Estensione modalità |  | Estensione della modalità MPEG (solo se Joint Stereo)
Versione |  | Versione MPEG, 1, 2 o 2.5
Nome |  | Memorizza il titolo dell'oggetto del file. Esempio: «Sinfonia n.6, op.68 "Pastorale"»
Lunghezza frame Opus |  | Lunghezza frame Opus in ms (i valori supportati sono 2,5, 5, 10, 20, 40, o 60 ms)
Organizzazione |  | Nome dell'organizzazione che produce la traccia (ossia la «etichetta di registrazione»)
Originale |  | Indica se il file è un originale o una copia
Esecutore |  | L'artista, o gli artisti, che ha eseguito il lavoro. Nella musica classica dovrebbe essere il direttore, l'orchestra, i solisti. In un audio-libro dovrebbe essere l'attore che ha eseguito la lettura.
Privato |  | Indica se l'oggetto è privato
Prodotto |  | Specifica il nome o il titolo al quale il file era originariamente destinato. Esempio: «Raccolta audio Linux»
Formato di campionamento |  | Formato utilizzato per memorizzare i campioni audio digitalizzati. Esempio: «32-bit IEEE a virgola mobile»
Frequenza di campionamento |  | Numero di campioni per secondo
Software |  | Identifica il nome del pacchetto software usato per creare il file. Esempio: «Kwave v0.6.4-1»
Sorgente |  | Identifica il nome della persona o dell'organizzazione che ha fornito l'oggetto originale del file. Esempio: «Chaotic Sound Research»
Forma originale |  | Identifica la forma originale del materiale digitalizzato. Esempi: «Registrazione/Vinile/90RPM», «Audio DAT», «nastro/CrO2/60min»
Oggetto |  | Descrive l'oggetto del file. Esempio: «Canti di uccelli all'alba»
Tecnico |  | Identifica il tecnico che ha digitalizzato l'oggetto. Esempio: «Torvalds, Linus»
Traccia |  | Traccia del CD se la sorgente è un CDROM.
Tracce |  | Numero di tracce del CD se la sorgente è un CDROM.
Canali |  | Specifica il numero di canali del segnale.
Qualità di base |  | Qualità di base della compressione in modalità VBR
Versione |  | Può essere utilizzata per differenziare più versioni del titolo della stessa traccia in una singola raccolta (per es., informazioni di remix).