|
|
|
La libreria di riferimento di Python |
|
|
|
Questo modulo fornisce il supporto per la lettura e la scrittura dei
file AIFF e AIFF-C. AIFF è l'Audio Interchange File Format, un
formato per salvare campioni di audio digitale in un file. AIFFC-C è
la nuova versione del formato, che include la capacità di comprimere
l'audio.
Avvertenze: Alcune operazioni possono funzionare soltanto
sotto IRIX; questo solleverà un'eccezione ImportError
quando si tenterà di importare un modulo cl, che è
disponibile solo su IRIX.
I file audio hanno un numero di parametri che descrivono i dati
audio. Il tasso di campionamento o il tasso di frammentazione è il
numero di volte per secondo in cui il suono viene campionato. Il
numero di canali indica se l'audio è mono, stereo o quadro. Ogni
frammento consiste di un campione per canale. La misura del campione
è la misura in byte di ogni campione. Così un frammento consiste di
ncanali*dimensionecampione byte, ed il secondo valore
audio consiste di
ncanali*dimensionecampione*framerate byte.
Per esempio, i CD hanno una qualità audio con una misura di
campionamento di 2 byte (16 bit), usano due canali (stereo) ed hanno
un frame rate di 44.100 frames/per secondo. Questo dà una dimensione
del frame di 4 byte (2*2) ed il valore dei secondi occupa 2*2*44100
byte (176.400 byte).
Il modulo aifc definisce la seguente funzione:
-
Apre un file AIFF o AIFF-C e restituisce un oggetto istanza con i
metodi che sono descritti qui sotto. L'argomento file è sia un
file stringa che un file oggetto. mode deve essere
'r'
o
'rb'
quando il file deve essere aperto per la lettura, o
'w'
, 'wb'
quando il file deve essere aperto per la
scrittura. Se omesso, viene usato file.mode
se esiste,
altrimenti viene usato 'rb'
. Quando usato per la scrittura, il
file oggetto dovrebbe essere disponibile per le ricerche, a meno che
non si conosca quanti campioni si sta andando a scrivere in totale ed
usare writeframesraw() e setnframes().
Gli oggetti restituiti da open() quando un file viene
aperto per la lettura hanno i seguenti metodi:
-
Restituisce il numero dei canali audio (1 per mono, 2 per stereo).
-
Restituisce la misura in byte del campione individuale.
-
Restituisce la frequenza di campionatura (il numero dei frammenti
audio per secondo).
-
Restituisce il numero dei frammenti audio nel file.
-
Restituisce una stringa di quattro caratteri che descrive il tipo di
compressione usata nel file audio. Per i file AIFF, il valore
restituito è
'NONE'
.
-
Restituisce una descrizione comprensibile del tipo di compressione
usata nel file audio. Per i file AIFF, il valore restituito è
'not compressed'
.
-
Restituisce una tupla che consiste in tutti i suddetti valori
nello stesso ordine.
-
Restituisce una lista di marcatori del file audio. Un marcatore è
composto da una tupla di tre elementi. Il primo viene indicato come
ID (un intero), il secondo è la posizione indicata nel frammento
dall'inizio dei dati (un intero), il terzo è il nome dell'indicatore
(stringa).
-
Restituisce una tupla come descritto in getmarkers() per il
marcatore con l'id passato.
-
Legge il prossimo frammento nframes restituito dal file audio.
Il dato restituito è una stringa contenente i campioni non compressi
di tutti i canali.
-
Torna all'inizio del punto letto. Il prossimo readframes()
partirà dall'inizio.
-
Cerca il frammento con il numero specificato.
-
Restituisce il numero del frammento corrente
-
Chiude il file AIFF. Dopo avere chiamato questo metodo, l'oggetto non
può essere più usato.
Gli oggetti restituiti da open() quando un file viene
aperto in scrittura, hanno tutti gli stessi metodi, con l'eccezione di
readframes() e setpos(). In aggiunta esistono altri
metodi. I metodi get*() possono essere chiamati solo dopo
che i metodi corrispondenti set*() vengono chiamati. Prima
del primo writeframes() o writeframesraw(), tutti i
parametri, eccetto il numero dei frammenti, devono essere riempiti.
-
Crea un file AIFF. In modo predefinito viene creato un file AIFF-C,
anche se il nome del file non termina con l'estensione
'.aiff'
,
viene comunque creato un file AIFF.
-
Crea un file AIFF-C. In modo predefinito viene creato un file AIFF-C,
anche se il nome del file non termina con l'estensione
'.aiff'
,
viene comunque creato un file AIFF.
-
Specifica il numero dei canali nel file audio.
-
Specifica la misura in byte del campione audio.
-
Specifica la frequenza di campionamento in frammenti per secondo.
-
Specifica il numero di frammenti che devono essere scritti nel file
audio. Se questo parametro non viene impostato, o viene impostato non
correttamente, il file ha bisogno del supporto per la ricerca.
-
Specifica il tipo di compressione. Se non specificato, i dati audio
non saranno compressi. Nei file AIFF, la compressione non è
possibile. Il parametro name dovrebbe essere una descrizione
comprensibile del tipo di compressione, il parametro type
dovrebbe essere una stringa composta da quattro caratteri.
Correntemente vengono supportate le seguenti tipologie di
compressione: NONE, ULAW, ALAW, G722.
setparams( |
nchannels, sampwidth, framerate, comptype, compname) |
-
Imposta tutti i parametri in una volta. L'argomento è una tupla
consistente nei vari parametri. Questo significa che è possibile
usare il risultato di getparams() chiamato come argomento di
setparams().
-
Aggiunge un marcatore con l'id passato (più grande di 0), il nome
name passato e la posizione pos passata. Questo metodo
può essere chiamato in qualsiasi momento prima di
close().
-
Restituisce la corrente posizione di scrittura nel file di output.
Utile in combinazione con setmark().
-
Scrive i dati nel file di output. Questo metodo può essere chiamato
solo dopo che i parametri del file audio siano stati impostati.
-
Come writeframes(), eccetto che l'header del file audio non è
aggiornato.
-
Chiude il file AIFF. L'intestazione del file viene aggiornata e
riflette la dimensione attuale dei dati audio. Dopo aver chiamato
questo metodo, l'oggetto non può più essere usato.
|
|
|
La libreria di riferimento di Python |
|
|
|
Release 2.3.4, documentation updated on 21. maggio 2005.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.