lunedì 20 aprile 2015

Registrare l'audio

Livecode si appoggia a QuickTime su Windows e Mac per gli elementi multimediali. Una delle funzionalità di quicktime che possiamo utilizzare grazie a livecode è quella di registrare l'audio.
Possiamo impostare ogni dettaglio della registrazione se vogliamo, oppure lasciare le impostazioni de default. Ad esempio prima di registrare l'audio possiamo impostare il formato di file che vogliamo ottenere.
La funzione recordCompressionTypes() ci dà dei codec disponibili, ad esempio su windowsXp ottengo:
  • No compression,raw 
  • MACE 3:1,MAC3
  • MACE 6:1,MAC6
  • QDesign Music 2,QDM2
  • Qualcomm PureVoice,Qclp
  • Apple Lossless,alac
  • ALaw 2:1,alaw
  • 32-bit Floating Point,fl32
  • 64-bit Floating Point,fl64
  • IMA 4:1,ima4
  • 24-bit Integer,in24
  • 32-bit Integer,in32
  • AAC a bassa complessità MPEG 4,mp4a
  • 16-bit Little Endian,sowt
  • 16-bit Big Endian,twos
  • µLaw 2:1,ulaw
 Per impostare un particolare codec, basta impostare la proprietà recordComporession.
 Possiamo impostare il tipo di file, utilizzando la proprietà recordformat, tra:
  • aiffrecords per il formato AIF
  • waverecords per il formato WA
  • ulawrecords per il formato AU
  • movierecords per il formato video QuickTime

Possiamo impostare la fonte da cui registrare l'audio, impostando la proprietà recordInput tra le seguenti:
  • imic - microfono interno
  • emic -il jack audio esterno
  • cd - il lettore CD
  • irca - il jack  RCA
  • tvfm - da una radio FM
  • idav - da un input analgicoDAV
  • mbay - dispositivo media-bay
  • modm - da un modem
  • zvpc - da un zoom video input
  • none - non registra
Possiamo impostare la frequenza di campionamento in kilohertz con la proprietà recordrate.
Una volta scelto se e cosa impostare i comandi da utilizzare sono:

record sound file "registrazione.aiff"

mentre per mettere in pausa e riprendere la registrazione abbiamo:

record pause
record resume

Infine per chiudere la registrazione abbiamo:
stop recording

In questo modo potete fare programmi di registrazione molto complessi.
Per gli utenti linux, che non hanno quicktime a disposizione, c'è il programma sox oppure arecord che possimo utilizzare dentro il nostro livecode, ad esempio:

shell("sox -t alsa default output.wav")