Csound Csound-dev Csound-tekno Search About

[Csnd] ANN: BETA of a mac-based soundin opcode: "soundinmac"

Date2010-07-22 22:14
Frommatt ingalls
Subject[Csnd] ANN: BETA of a mac-based soundin opcode: "soundinmac"
hi everyone,

i had started making this before i realized there were those new mp3 opcodes
(reading from mp3 was my main objective) but there are some other features in here
that may be useful to you mac users out there (using ANY frontend or commandline)

it's a "soundin" opcode that uses the OSX native soundfile reading routines.

ar1[, ar2[, ar3[, ... a24]]] soundinmac ifilcod [,itransp] [, iskptim] [, iwrap] 

it is compiled as a universal 32/64 bit binary i think it should run with any CsoundLib version.
(also included in this library is the "filevalid" opcode but that will go away with next csoundlib release)
i think you might need MacOS 10.5 or later.

let me know how it works for you
thanks,
m@


FEATURES (benefits over existing soundin/diskins)
+ automatic sample rate and channel conversion (# of outputs can be DIFFERENT than # of soundfile channels)

+ transposition may be faster than diskin2's sinc interpolation (if apple is indeed using sinc sr conversion?) 
   however, soundinmac's transposition input parameter is i-rate only :(

+ reliable, fast file streaming (file i/o is handled in another thread - well technically, with apple's new "dispatch queue" )

+ all file formats supported by the currently running MacOS (including future ones) 
 i can't find documentation from apple as to what is supported, but it probably is the same as afconvert tool
 (scroll to bottom of this text to see list of formats)


TO DOWNLOAD
http://sonomatics.com/libMacCsoundOpcodes.zip



TO INSTALL
either 
1) use the -- --opcode-lib=path/libMacCsoundOpcodes.dylib command flag
or
2) put in the /Library/Frameworks/CsoundLib.framework/Versions/5.2/Resources/Opcodes/
directory
or
3) if you use MacCsound, replace the existing dylib in MacCsound's application bundle in Contents/Resources/
  (or just wait for the next MacCsound release, in a few days)


DOCUMENTATION
soundinmac

soundinmac — Reads audio data from an external device or stream using native Mac OS functionality.

Description

Reads audio data from an external device or stream. Up to 24 channels may be read.

Syntax

ar1[, ar2[, ar3[, ... a24]]] soundinmac ifilcod [,itransp] [, iskptim] [, iwrap] 

Initialization

ifilcod -- integer or character-string denoting the source soundfile name. An integer denotes the file soundin.filcod; a character-string (in double quotes, spaces permitted) gives the filename itself, optionally a full pathname. If not a full path, the named file is sought first in the current directory, then in that given by the environment variable SSDIR (if defined) then by SFDIR. See also GEN01.

itransp (optional, default=0) -- transposition ratio (2 is an octave higher, .5 is an octave lower, etc)

iskptim (optional, default=0) -- time in seconds of input sound to be skipped. The default value is 0. 

iwrap (optional, default=0) -- if non-zero, loops to beginning of file once end of file is reached.


Performance

soundinmac is functionally an audio generator that derives its signal from a pre-existing file. Opposed to soundin, the number of output channels do not have to match that of the input file. A soundinmac opcode opens this file whenever the host instrument is initialized, then closes it again each time the instrument is turned off.

There can be any number of soundinmac opcodes within a single instrument or orchestra. Two or more of them can read simultaneously from the same external file.


Example




nchnls = 2

instr 1
	; play a stereo mp3 file an octave higher.  
	;    for demonstration purposes, this example outputs 3 channels
	;  and uses a skiptime of 20 seconds, with looping on

	al, ar, aunused soundinmac "/Users/matt/Music/cecil.mp3", 2, 20, 1 
	outs al, ar
endin



i1 0  100






SUPPORTED FORMATS (i think)
    '3gpp' = 3GP Audio (.3gp)
               data_formats: 'aac ' 'samr' 
    '3gp2' = 3GPP-2 Audio (.3g2)
               data_formats: 'aac ' 'samr' 
    'adts' = AAC ADTS (.aac, .adts)
               data_formats: 'aac ' 'aach' 
    'ac-3' = AC3 (.ac3)
               data_formats: 'ac-3' 
    'AIFC' = AIFC (.aifc, .aiff, .aif)
               data_formats: I8 BEI16 BEI24 BEI32 BEF32 BEF64 UI8 'ulaw' 
                             'alaw' 'MAC3' 'MAC6' 'ima4' 'QDMC' 'QDM2' 
                             'Qclp' 'agsm' 
    'AIFF' = AIFF (.aiff, .aif)
               data_formats: I8 BEI16 BEI24 BEI32 
    'amrf' = AMR (.amr)
               data_formats: 'samr' 
    'caff' = Apple CAF (.caf)
               data_formats: '.mp1' '.mp2' '.mp3' 'QDM2' 'QDMC' 'Qclp' 
                             'Qclq' 'aac ' 'aach' 'aacl' 'alac' 'alaw' 
                             'dvi8' 'ilbc' 'ima4' I8 BEI16 BEI24 BEI32 
                             BEF32 BEF64 LEI16 LEI24 LEI32 LEF32 LEF64 
                             'ms\x00\x02' 'ms\x00\x11' 'ms\x001' 'samr' 
                             'ulaw' 
    'm4af' = Apple MPEG-4 Audio (.m4a)
               data_formats: 'aac ' 'aach' 'aacl' 'alac' 
    'MPG1' = MPEG Layer 1 (.mp1, .mpeg, .mpa)
               data_formats: '.mp1' 
    'MPG2' = MPEG Layer 2 (.mp2, .mpeg, .mpa)
               data_formats: '.mp2' 
    'MPG3' = MPEG Layer 3 (.mp3, .mpeg, .mpa)
               data_formats: '.mp3' 
    'mp4f' = MPEG-4 Audio (.mp4)
               data_formats: 'aac ' 'aach' 'aacl' 
    'NeXT' = NeXT/Sun (.snd, .au)
               data_formats: I8 BEI16 BEI24 BEI32 BEF32 BEF64 'ulaw' 
    'Sd2f' = Sound Designer II (.sd2)
               data_formats: I8 BEI16 BEI24 BEI32 
    'WAVE' = WAVE (.wav)
               data_formats: UI8 LEI16 LEI24 LEI32 LEF32 LEF64 'ulaw' 
                             'alaw' 

Send bugs reports to the Sourceforge bug tracker
            https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"


Date2010-07-22 22:23
FromVictor.Lazzarini@nuim.ie
Subject[Csnd] Re: ANN: BETA of a mac-based soundin opcode: "soundinmac"
AttachmentsNone  None  

Date2010-07-22 22:34
Frommatt ingalls
SubjectRe: [Cs-dev] [Csnd] Re: ANN: BETA of a mac-based soundin opcode: "soundinmac"
AttachmentsNone  None  
well it is UB float/double already... so do i just need to define USE_DOUBLE
somewhere or something?

i think more convenient than a separate installer would be to get the sources into cvs and have it be automatically compiled/distributed on mac builds -- is that possible?

and thanks for the help on registering destructors!

-m

On Jul 22, 2010, at 2:23 PM, Victor.Lazzarini@nuim.ie wrote:

Sounds good, Matt. Maybe if you are planning to do more than one OSX-specific opcodes (or even if you aren't), you could perhaps consider making a installer that places the opcodes in the CsoundLib.framework for user convenience. Also, you may consider doing a doubles version too, as it is likely that in the future we will migrate to doubles-only (esp. when we do native 64-bit packages, where using floats is not worth the hassle anymore).

Victor

----- Original Message -----
From: matt ingalls <matt@sonomatics.com>
Date: Thursday, July 22, 2010 10:14 pm
Subject: [Csnd] ANN: BETA of a mac-based soundin opcode: "soundinmac"
To: csound@lists.bath.ac.uk

> hi everyone,
>
> i had started making this before i realized there were those new
> mp3 opcodes
> (reading from mp3 was my main objective) but there are some
> other features in here
> that may be useful to you mac users out there (using ANY
> frontend or commandline)
>
> it's a "soundin" opcode that uses the OSX native soundfile
> reading routines.
>
> ar1[, ar2[, ar3[, ... a24]]] soundinmac ifilcod [,itransp] [,
> iskptim] [, iwrap]
>
> it is compiled as a universal 32/64 bit binary i think it should
> run with any CsoundLib version.
> (also included in this library is the "filevalid" opcode but
> that will go away with next csoundlib release)
> i think you might need MacOS 10.5 or later.
>
> let me know how it works for you
> thanks,
> m@
>
>
> FEATURES (benefits over existing soundin/diskins)
> + automatic sample rate and channel conversion (# of outputs can
> be DIFFERENT than # of soundfile channels)
>
> + transposition may be faster than diskin2's sinc interpolation
> (if apple is indeed using sinc sr conversion?)
>    however, soundinmac's transposition input parameter
> is i-rate only :(
>
> + reliable, fast file streaming (file i/o is handled in another
> thread - well technically, with apple's new "dispatch queue" )
>
> + all file formats supported by the currently running MacOS
> (including future ones)
>  i can't find documentation from apple as to what is
> supported, but it probably is the same as afconvert tool
>  (scroll to bottom of this text to see list of formats)
>
>
> TO DOWNLOAD
> http://sonomatics.com/libMacCsoundOpcodes.zip
>
>
>
> TO INSTALL
> either
> 1) use the -- --opcode-lib=path/libMacCsoundOpcodes.dylib
> command flag
> or
> 2) put in the
> /Library/Frameworks/CsoundLib.framework/Versions/5.2/Resources/Opcodes/directory
> or
> 3) if you use MacCsound, replace the existing dylib in
> MacCsound's application bundle in Contents/Resources/
>   (or just wait for the next MacCsound release, in a few days)
>
>
> DOCUMENTATION
> soundinmac
>
> soundinmac — Reads audio data from an external device or stream
> using native Mac OS functionality.
>
> Description
>
> Reads audio data from an external device or stream. Up to 24
> channels may be read.
>
> Syntax
>
> ar1[, ar2[, ar3[, ... a24]]] soundinmac ifilcod [,itransp] [,
> iskptim] [, iwrap]
>
> Initialization
>
> ifilcod -- integer or character-string denoting the source
> soundfile name. An integer denotes the file soundin.filcod; a
> character-string (in double quotes, spaces permitted) gives the
> filename itself, optionally a full pathname. If not a full path,
> the named file is sought first in the current directory, then in
> that given by the environment variable SSDIR (if defined) then
> by SFDIR. See also GEN01.
>
> itransp (optional, default=0) -- transposition ratio (2 is an
> octave higher, .5 is an octave lower, etc)
>
> iskptim (optional, default=0) -- time in seconds of input sound
> to be skipped. The default value is 0.
>
> iwrap (optional, default=0) -- if non-zero, loops to beginning
> of file once end of file is reached.
>
>
> Performance
>
> soundinmac is functionally an audio generator that derives its
> signal from a pre-existing file. Opposed to soundin, the number
> of output channels do not have to match that of the input file.
> A soundinmac opcode opens this file whenever the host instrument
> is initialized, then closes it again each time the instrument is
> turned off.
>
> There can be any number of soundinmac opcodes within a single
> instrument or orchestra. Two or more of them can read
> simultaneously from the same external file.
>
>
> Example
>
> <CsoundSynthesizer>
> <CsInstruments>
>
> nchnls = 2
>
> instr 1
> ; play a stereo mp3 file an octave higher. 
> ;    for demonstration purposes, this example
> outputs 3 channels
> ;  and uses a skiptime of 20 seconds, with looping on
>
> al, ar, aunused soundinmac "/Users/matt/Music/cecil.mp3", 2,
> 20, 1
> outs al, ar
> endin
>
> </CsInstruments>
> <CsScore>
> i1 0  100
> </CsScore>
>
> </CsoundSynthesizer>
>
>
>
> SUPPORTED FORMATS (i think)
>     '3gpp' = 3GP Audio (.3gp)
>                data_formats: 'aac ' 'samr'
>     '3gp2' = 3GPP-2 Audio (.3g2)
>                data_formats: 'aac ' 'samr'
>     'adts' = AAC ADTS (.aac, .adts)
>                data_formats: 'aac ' 'aach'
>     'ac-3' = AC3 (.ac3)
>                data_formats: 'ac-3'
>     'AIFC' = AIFC (.aifc, .aiff, .aif)
>                data_formats: I8 BEI16 BEI24 BEI32 BEF32 BEF64 UI8 'ulaw'
>                              'alaw' 'MAC3' 'MAC6' 'ima4' 'QDMC' 'QDM2'
>                              'Qclp' 'agsm'
>     'AIFF' = AIFF (.aiff, .aif)
>                data_formats: I8 BEI16 BEI24 BEI32
>     'amrf' = AMR (.amr)
>                data_formats: 'samr'
>     'caff' = Apple CAF (.caf)
>                data_formats: '.mp1' '.mp2' '.mp3' 'QDM2' 'QDMC' 'Qclp'
>                              'Qclq' 'aac ' 'aach' 'aacl' 'alac' 'alaw'
>                              'dvi8' 'ilbc' 'ima4' I8 BEI16 BEI24 BEI32
>                              BEF32 BEF64 LEI16 LEI24 LEI32 LEF32 LEF64
>                              'ms\x00\x02' 'ms\x00\x11' 'ms\x001' 'samr'
>                              'ulaw'
>     'm4af' = Apple MPEG-4 Audio (.m4a)
>                data_formats: 'aac ' 'aach' 'aacl' 'alac'
>     'MPG1' = MPEG Layer 1 (.mp1, .mpeg, .mpa)
>                data_formats: '.mp1'
>     'MPG2' = MPEG Layer 2 (.mp2, .mpeg, .mpa)
>                data_formats: '.mp2'
>     'MPG3' = MPEG Layer 3 (.mp3, .mpeg, .mpa)
>                data_formats: '.mp3'
>     'mp4f' = MPEG-4 Audio (.mp4)
>                data_formats: 'aac ' 'aach' 'aacl'
>     'NeXT' = NeXT/Sun (.snd, .au)
>                data_formats: I8 BEI16 BEI24 BEI32 BEF32 BEF64 'ulaw'
>     'Sd2f' = Sound Designer II (.sd2)
>                data_formats: I8 BEI16 BEI24 BEI32
>     'WAVE' = WAVE (.wav)
>                data_formats: UI8 LEI16 LEI24 LEI32 LEF32 LEF64 'ulaw'
>                              'alaw'
>
> Send bugs reports to the Sourceforge bug tracker
>             https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body
> "unsubscribe csound"
>

Dr Victor Lazzarini, Senior Lecturer, Dept. of Music,
National University of Ireland, Maynooth


Date2010-07-22 22:40
FromVictor.Lazzarini@nuim.ie
SubjectRe: [Cs-dev] [Csnd] Re: ANN: BETA of a mac-based soundin opcode: "soundinmac"
AttachmentsNone  None  None  None  

Date2010-07-22 23:55
Frommatt ingalls
Subject[Csnd] Re: ANN: BETA of a mac-based soundin opcode: "soundinmac"
> 
> + transposition may be faster than diskin2's sinc interpolation (if apple is indeed using sinc sr conversion?) 
>   however, soundinmac's transposition input parameter is i-rate only :(

actually i just figured out how to make it krate.. new version soon :)

Send bugs reports to the Sourceforge bug tracker
            https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"


Date2010-07-23 11:28
FromEnrico Francioni
Subject[Csnd] [OT] Re: ANN: BETA of a mac-based soundin opcode: "soundinmac"

Hello Matt.

About MacCsound, frontend that I use constantly,
I have a little curiosity to meet:

because the download page http://www.csounds.com/matt/d+d.html
it stops at version 1.3b4?
Because the page is not updated to the latest version?

Thanks,
enrico

Date2010-07-23 18:20
Frommatt ingalls
Subject[Csnd] Re: [OT] Re: ANN: BETA of a mac-based soundin opcode: "soundinmac"
i think i posted a couple other versions but never updated that page.
anyway i'm trying to wrap up this version and get it out asap..

On Jul 23, 2010, at 3:28 AM, Enrico Francioni wrote:

> 
> 
> Hello Matt.
> 
> About MacCsound, frontend that I use constantly,
> I have a little curiosity to meet:
> 
> because the download page http://www.csounds.com/matt/d+d.html
> it stops at version 1.3b4?
> Because the page is not updated to the latest version?
> 
> Thanks,
> enrico
> -- 
> View this message in context: http://csound.1045644.n5.nabble.com/ANN-BETA-of-a-mac-based-soundin-opcode-soundinmac-tp1842847p1843258.html
> Sent from the Csound - General mailing list archive at Nabble.com.
> 
> 
> Send bugs reports to the Sourceforge bug tracker
>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
> 



Send bugs reports to the Sourceforge bug tracker
            https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"


Date2010-07-25 11:20
Fromjohn ffitch
SubjectRe: [Cs-dev] [Csnd] Re: ANN: BETA of a mac-based soundin opcode: "soundinmac"
Matt has access to the CVS already -- has had always.
==John ffitch

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2010-07-25 19:46
Frommatt ingalls
SubjectRe: [Cs-dev] [Csnd] Re: ANN: BETA of a mac-based soundin opcode: "soundinmac"
> Matt has access to the CVS already -- has had always.

but barley used it :)

so is there any precedent of including a platform-specific opcode
(into canonical cvs sources, scons, and manual)?

if so, i definitely would need some hand-holding to add it to the scons file...

thanks,
-m
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2010-07-25 19:54
Fromjpff@cs.bath.ac.uk
SubjectRe: [Cs-dev] [Csnd] Re: ANN: BETA of a mac-based soundin opcode: "soundinmac"
> so is there any precedent of including a platform-specific opcode
> (into canonical cvs sources, scons, and manual)?

Ther are non-Windos opcodes and think slike p5glove are probably linux only
Not relly a problem
>
> if so, i definitely would need some hand-holding to add it to the scons
> file...
>

happy to assist (or do the CVS stiff if that is easier)

==John ff



------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2010-07-25 20:02
FromVictor Lazzarini
SubjectRe: [Cs-dev] [Csnd] Re: ANN: BETA of a mac-based soundin opcode: "soundinmac"
yes, no problems there. I'm happy to help too.

Victor
On 25 Jul 2010, at 19:54, jpff@cs.bath.ac.uk wrote:

>
>> so is there any precedent of including a platform-specific opcode
>> (into canonical cvs sources, scons, and manual)?
>
> Ther are non-Windos opcodes and think slike p5glove are probably  
> linux only
> Not relly a problem
>>
>> if so, i definitely would need some hand-holding to add it to the  
>> scons
>> file...
>>
>
> happy to assist (or do the CVS stiff if that is easier)
>
> ==John ff
>
>
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Sprint
> What will you do first with EVO, the first 4G phone?
> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2010-07-26 01:06
Frommatt ingalls
Subject[Csnd] soundinmac FINAL
OK - here is the final release for the mac-only

 "soundinmac" opcode plugin:

ar1[, ar2[, ar3[, ... a24]]] soundinmac ifilcod [, kpitch] [, iskptim] [, iwrap] 

http://sonomatics.com/soundinmac.zip

the package includes a .html documentation.

this version includes k-rate pitch shifting 
-- btw, there is noticeably less aliasing than diskin2's (sinc mode)!!!

looping seems goes out of phase fairly quickly when running side-by-side with soundin/diskin 
could be my code or apple's -- either way i probably wouldn't mix up soundinmac and diskin
with anything that is time-critical (loops or otherwise)

thanks,
matt


On Jul 22, 2010, at 2:14 PM, matt ingalls wrote:

> hi everyone,
> 
> i had started making this before i realized there were those new mp3 opcodes
> (reading from mp3 was my main objective) but there are some other features in here
> that may be useful to you mac users out there (using ANY frontend or commandline)
> 
> it's a "soundin" opcode that uses the OSX native soundfile reading routines.
> 
> ar1[, ar2[, ar3[, ... a24]]] soundinmac ifilcod [,itransp] [, iskptim] [, iwrap] 
> 
> it is compiled as a universal 32/64 bit binary i think it should run with any CsoundLib version.
> (also included in this library is the "filevalid" opcode but that will go away with next csoundlib release)
> i think you might need MacOS 10.5 or later.
> 
> let me know how it works for you
> thanks,
> m@
> 
> 
> FEATURES (benefits over existing soundin/diskins)
> + automatic sample rate and channel conversion (# of outputs can be DIFFERENT than # of soundfile channels)
> 
> + transposition may be faster than diskin2's sinc interpolation (if apple is indeed using sinc sr conversion?) 
>   however, soundinmac's transposition input parameter is i-rate only :(
> 
> + reliable, fast file streaming (file i/o is handled in another thread - well technically, with apple's new "dispatch queue" )
> 
> + all file formats supported by the currently running MacOS (including future ones) 
> i can't find documentation from apple as to what is supported, but it probably is the same as afconvert tool
> (scroll to bottom of this text to see list of formats)
> 
> 
> TO DOWNLOAD
> http://sonomatics.com/libMacCsoundOpcodes.zip
> 
> 
> 
> TO INSTALL
> either 
> 1) use the -- --opcode-lib=path/libMacCsoundOpcodes.dylib command flag
> or
> 2) put in the /Library/Frameworks/CsoundLib.framework/Versions/5.2/Resources/Opcodes/
> directory
> or
> 3) if you use MacCsound, replace the existing dylib in MacCsound's application bundle in Contents/Resources/
>  (or just wait for the next MacCsound release, in a few days)
> 
> 
> DOCUMENTATION
> soundinmac
> 
> soundinmac — Reads audio data from an external device or stream using native Mac OS functionality.
> 
> Description
> 
> Reads audio data from an external device or stream. Up to 24 channels may be read.
> 
> Syntax
> 
> ar1[, ar2[, ar3[, ... a24]]] soundinmac ifilcod [,itransp] [, iskptim] [, iwrap] 
> 
> Initialization
> 
> ifilcod -- integer or character-string denoting the source soundfile name. An integer denotes the file soundin.filcod; a character-string (in double quotes, spaces permitted) gives the filename itself, optionally a full pathname. If not a full path, the named file is sought first in the current directory, then in that given by the environment variable SSDIR (if defined) then by SFDIR. See also GEN01.
> 
> itransp (optional, default=0) -- transposition ratio (2 is an octave higher, .5 is an octave lower, etc)
> 
> iskptim (optional, default=0) -- time in seconds of input sound to be skipped. The default value is 0. 
> 
> iwrap (optional, default=0) -- if non-zero, loops to beginning of file once end of file is reached.
> 
> 
> Performance
> 
> soundinmac is functionally an audio generator that derives its signal from a pre-existing file. Opposed to soundin, the number of output channels do not have to match that of the input file. A soundinmac opcode opens this file whenever the host instrument is initialized, then closes it again each time the instrument is turned off.
> 
> There can be any number of soundinmac opcodes within a single instrument or orchestra. Two or more of them can read simultaneously from the same external file.
> 
> 
> Example
> 
> 
> 
> 
> nchnls = 2
> 
> instr 1
> 	; play a stereo mp3 file an octave higher.  
> 	;    for demonstration purposes, this example outputs 3 channels
> 	;  and uses a skiptime of 20 seconds, with looping on
> 
> 	al, ar, aunused soundinmac "/Users/matt/Music/cecil.mp3", 2, 20, 1 
> 	outs al, ar
> endin
> 
> 
> 
> i1 0  100
> 
> 
> 
> 
> 
> 
> SUPPORTED FORMATS (i think)
>    '3gpp' = 3GP Audio (.3gp)
>               data_formats: 'aac ' 'samr' 
>    '3gp2' = 3GPP-2 Audio (.3g2)
>               data_formats: 'aac ' 'samr' 
>    'adts' = AAC ADTS (.aac, .adts)
>               data_formats: 'aac ' 'aach' 
>    'ac-3' = AC3 (.ac3)
>               data_formats: 'ac-3' 
>    'AIFC' = AIFC (.aifc, .aiff, .aif)
>               data_formats: I8 BEI16 BEI24 BEI32 BEF32 BEF64 UI8 'ulaw' 
>                             'alaw' 'MAC3' 'MAC6' 'ima4' 'QDMC' 'QDM2' 
>                             'Qclp' 'agsm' 
>    'AIFF' = AIFF (.aiff, .aif)
>               data_formats: I8 BEI16 BEI24 BEI32 
>    'amrf' = AMR (.amr)
>               data_formats: 'samr' 
>    'caff' = Apple CAF (.caf)
>               data_formats: '.mp1' '.mp2' '.mp3' 'QDM2' 'QDMC' 'Qclp' 
>                             'Qclq' 'aac ' 'aach' 'aacl' 'alac' 'alaw' 
>                             'dvi8' 'ilbc' 'ima4' I8 BEI16 BEI24 BEI32 
>                             BEF32 BEF64 LEI16 LEI24 LEI32 LEF32 LEF64 
>                             'ms\x00\x02' 'ms\x00\x11' 'ms\x001' 'samr' 
>                             'ulaw' 
>    'm4af' = Apple MPEG-4 Audio (.m4a)
>               data_formats: 'aac ' 'aach' 'aacl' 'alac' 
>    'MPG1' = MPEG Layer 1 (.mp1, .mpeg, .mpa)
>               data_formats: '.mp1' 
>    'MPG2' = MPEG Layer 2 (.mp2, .mpeg, .mpa)
>               data_formats: '.mp2' 
>    'MPG3' = MPEG Layer 3 (.mp3, .mpeg, .mpa)
>               data_formats: '.mp3' 
>    'mp4f' = MPEG-4 Audio (.mp4)
>               data_formats: 'aac ' 'aach' 'aacl' 
>    'NeXT' = NeXT/Sun (.snd, .au)
>               data_formats: I8 BEI16 BEI24 BEI32 BEF32 BEF64 'ulaw' 
>    'Sd2f' = Sound Designer II (.sd2)
>               data_formats: I8 BEI16 BEI24 BEI32 
>    'WAVE' = WAVE (.wav)
>               data_formats: UI8 LEI16 LEI24 LEI32 LEF32 LEF64 'ulaw' 
>                             'alaw' 
> 
> Send bugs reports to the Sourceforge bug tracker
>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
> 



Send bugs reports to the Sourceforge bug tracker
            https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"