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 ( su alcuni sistemi semplicemente: play 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 ( su alcuni sistemi semplicemente: play 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 2012/2013 - PISA
AVANTI