INDIETRO
  Primi programmi
AVANTI

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.  
INDIETRO
Laboratorio Sperimentale di Matematica Computazionale - parte III
Sergio Steffè - AA 2008/2009 - PISA
AVANTI