changeset 4:0009af03700e

Rename audio -> audiofile
author Chris Cannam
date Thu, 06 Dec 2012 22:19:46 +0000
parents 29e39209360b
children b0f6d10dee56
files audio.yeti audiofile.yeti
diffstat 2 files changed, 96 insertions(+), 96 deletions(-) [+]
line wrap: on
line diff
--- a/audio.yeti	Thu Dec 06 22:19:29 2012 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-
-module audio;
-
-import javax.sound.sampled:
-     AudioSystem, AudioInputStream, AudioFormat, AudioFormat$Encoding,
-     UnsupportedAudioFileException;
-
-import java.io: File, IOException;
-
-import java.nio: ByteBuffer, ByteOrder;
-
-mat = load matrix;
-
-open name is string -> 'a = 
-   (f = new File(name);
-    stream = AudioSystem#getAudioInputStream(f);
-    format = stream#getFormat();
-    { stream, format } );
-
-close { stream is ~AudioInputStream } =
-    stream#close();
-
-decode8u bytes floats n is ~byte[] -> ~float[] -> number -> () =
-   (for [0..n-1] do i:
-       floats[i] := (bytes[i] / 128.0) - 1.0;
-    done
-   );
-
-decode16s bytes floats n is ~byte[] -> ~float[] -> number -> () =
-   (bb = ByteBuffer#wrap(bytes, 0, n * 2);
-    bb#order(ByteOrder#LITTLE_ENDIAN);
-    for [0..n-1] do i:
-       floats[i] := bb#getShort(i*2) / 32768.0;
-    done
-   );
-
-decode32f bytes floats n is ~byte[] -> ~float[] -> number -> () =
-   (bb = ByteBuffer#wrap(bytes, 0, n * 4);
-    bb#order(ByteOrder#LITTLE_ENDIAN);
-    for [0..n-1] do i:
-       floats[i] := bb#getFloat(i*4);
-    done
-   );
-
-decodeFail () = 
-    throw new UnsupportedAudioFileException("File format not supported. Supported formats are 8-bit unsigned PCM, 16-bit signed little-endian PCM, or IEEE float");
-
-decode { format is ~AudioFormat } bytes floats n = 
-   (if format#isBigEndian() then
-        decodeFail()
-    else
-        enc = format#getEncoding();
-        bits = format#getSampleSizeInBits();
-        if bits == 32 then
-            decode32f bytes floats n;
-        elif bits == 16 and enc == AudioFormat$Encoding#PCM_SIGNED then
-            decode16s bytes floats n;
-        elif bits == 8 and enc == AudioFormat$Encoding#PCM_UNSIGNED then
-            decode8u bytes floats n;
-        else
-            decodeFail();
-        fi
-    fi);
-
-readInterleaved { format is ~AudioFormat, stream is ~AudioInputStream } nframes =
-   (channels = format#getChannels();
-    bytesPerSample = format#getSampleSizeInBits() / 8;
-    bytes = new byte[nframes * channels * bytesPerSample];
-    bytesRead = stream#read(bytes);
-    n = bytesRead / bytesPerSample;
-    floats = new float[n];
-    decode { format } bytes floats n;
-    floats;
-   );
-
-read { format is ~AudioFormat, stream is ~AudioInputStream } n =
-   (floats = readInterleaved { format, stream } n;
-    channels = format#getChannels();
-    mat.deinterleaved channels (array floats); //!!! want to pass just floats
-   );
-
-readAllInterleaved { format is ~AudioFormat, stream is ~AudioInputStream } =
-   readInterleaved { format, stream } stream#getFrameLength();
-
-readAll { format is ~AudioFormat, stream is ~AudioInputStream } =
-   read { format, stream } stream#getFrameLength();
-
-{
-    open,
-    read,
-    readAll,
-    readInterleaved,
-    readAllInterleaved,
-    close
-}
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/audiofile.yeti	Thu Dec 06 22:19:46 2012 +0000
@@ -0,0 +1,96 @@
+
+module audio;
+
+import javax.sound.sampled:
+     AudioSystem, AudioInputStream, AudioFormat, AudioFormat$Encoding,
+     UnsupportedAudioFileException;
+
+import java.io: File, IOException;
+
+import java.nio: ByteBuffer, ByteOrder;
+
+mat = load matrix;
+
+open name is string -> 'a = 
+   (f = new File(name);
+    stream = AudioSystem#getAudioInputStream(f);
+    format = stream#getFormat();
+    { stream, format } );
+
+close { stream is ~AudioInputStream } =
+    stream#close();
+
+decode8u bytes floats n is ~byte[] -> ~float[] -> number -> () =
+   (for [0..n-1] do i:
+       floats[i] := (bytes[i] / 128.0) - 1.0;
+    done
+   );
+
+decode16s bytes floats n is ~byte[] -> ~float[] -> number -> () =
+   (bb = ByteBuffer#wrap(bytes, 0, n * 2);
+    bb#order(ByteOrder#LITTLE_ENDIAN);
+    for [0..n-1] do i:
+       floats[i] := bb#getShort(i*2) / 32768.0;
+    done
+   );
+
+decode32f bytes floats n is ~byte[] -> ~float[] -> number -> () =
+   (bb = ByteBuffer#wrap(bytes, 0, n * 4);
+    bb#order(ByteOrder#LITTLE_ENDIAN);
+    for [0..n-1] do i:
+       floats[i] := bb#getFloat(i*4);
+    done
+   );
+
+decodeFail () = 
+    throw new UnsupportedAudioFileException("File format not supported. Supported formats are 8-bit unsigned PCM, 16-bit signed little-endian PCM, or IEEE float");
+
+decode { format is ~AudioFormat } bytes floats n = 
+   (if format#isBigEndian() then
+        decodeFail()
+    else
+        enc = format#getEncoding();
+        bits = format#getSampleSizeInBits();
+        if bits == 32 then
+            decode32f bytes floats n;
+        elif bits == 16 and enc == AudioFormat$Encoding#PCM_SIGNED then
+            decode16s bytes floats n;
+        elif bits == 8 and enc == AudioFormat$Encoding#PCM_UNSIGNED then
+            decode8u bytes floats n;
+        else
+            decodeFail();
+        fi
+    fi);
+
+readInterleaved { format is ~AudioFormat, stream is ~AudioInputStream } nframes =
+   (channels = format#getChannels();
+    bytesPerSample = format#getSampleSizeInBits() / 8;
+    bytes = new byte[nframes * channels * bytesPerSample];
+    bytesRead = stream#read(bytes);
+    n = bytesRead / bytesPerSample;
+    floats = new float[n];
+    decode { format } bytes floats n;
+    floats;
+   );
+
+read { format is ~AudioFormat, stream is ~AudioInputStream } n =
+   (floats = readInterleaved { format, stream } n;
+    channels = format#getChannels();
+    mat.deinterleaved channels (array floats); //!!! want to pass just floats
+   );
+
+readAllInterleaved { format is ~AudioFormat, stream is ~AudioInputStream } =
+   readInterleaved { format, stream } stream#getFrameLength();
+
+readAll { format is ~AudioFormat, stream is ~AudioInputStream } =
+   read { format, stream } stream#getFrameLength();
+
+{
+    open,
+    read,
+    readAll,
+    readInterleaved,
+    readAllInterleaved,
+    close
+}
+