 |
Primi programmi |
|
Nota sui compilatori
Nota su octave
creazione di un file.cdr in C
Il file creasuono.c è un semplice
programma in C che crea un file contenente 1 secondo di suono con frequenza di
campionamento di 44100HZ, stereo, 16 bit, big-endian.
Il suono è una sinusoide di frequenza di 400Hz e ampiezza massima (32766).
Per compilarlo si usa il comando:
cc creasuono.c -o creasuono -lm
Il flag -lm serve ad accedere alla libreria /usr/lib/libm.a che contiene le funzioni
matematiche elementari, come sin(x).
Una volta compilato, il comando
creasuono sinus400.cdr
crea il file sinus400.cdr, che si può ascoltare con
playcdr sinus400.cdr.
creazione di un file.cdr in fortran
Il file creasuono.f90 è un semplice
programma in fortran90 che crea un file contenente 1 secondo di suono con frequenza di
campionamento di 44100HZ, stereo, 16 bit, big-endian.
Il suono è una sinusoide di frequenza di 400Hz e ampiezza massima (32766).
Per compilarlo si usa il comando:
f95 creasuono.f90 -o creasuono
Una volta compilato, il comando
creasuono sinus400.cdr
crea il file sinus400.cdr, che si può ascoltare con
playcdr sinus400.cdr.
Si noti che le variabili ii, iids,iisn sono interi a 2 BYTES, e si noti
le chiamate all routine MVBITS che scambia di posto i primi 8 bit con
i secondi 8 bit per passare da little-endian a big-endian.
Il file è stato aperto in modo UNFORMATTED con accesso DIRECT dichiarando
i record di lunghezza RECL=4 (bytes).
L'istruzione di scrittura deve indicare quale record si vuole scrivere (rec=i),
e in effetti si devono scrivere ogni volta non più di 4 bytes.
 |
Laboratorio Sperimentale di Matematica Computazionale - parte III
Sergio Steffè - AA 2008/2009 - PISA |
|