Per Bloland | 19 Oct 01:09 2014

2015 ASCAP/SEAMUS Student Commission Competition

(apologies for cross-postings)

The Society for Electro-Acoustic Music in the United States (SEAMUS) is pleased to announce the 2015 ASCAP/SEAMUS Student Composer Commissioning Program.

The purpose of this program is to stimulate student participation in SEAMUS activities, and to encourage young composers to pursue creative endeavors in electro-acoustic music. The program is administered by SEAMUS and funded by the American Society of Composers, Authors and Publishers (ASCAP) <>.

The submission deadline is October 31, 2014.

For more information, please visit the ASCAP/SEAMUS Competition information page <>.
To submit via the online application, please visit the current submission site.

Please note that you must be a current member of SEAMUS to submit to the competition. You can join or renew your membership at the newly redesigned SEAMUS website, Joining takes only a few minutes. You must supply your seamusonline username to complete your submission. (Your seamusonline username is independent of your Start Conference, submission username.)

If you submitted to the 2014 SEAMUS Conference at Wesleyan, your Start Conference submission username and password are still valid.


 All submissions are to be made online, through the submission site. Only one work of electroacoustic music may be submitted, which must adhere to the following guidelines:

• Audio Files: music submissions should include a representative audio recording of the work. If a concert work, it must be the complete composition. Installations may be represented by an excerpted recording not to exceed 10 minutes in length. Judging of music submissions for ASCAP/SEAMUS Student Competition will be from audio files in the MP3 format. Multichannel works will be judged from a stereo mix, also MP3. Please assist us by submitting in MP3 format. Audio files must be prepared as a single LastnameFirstname_audio.MP3. 
• Scores: for submissions involving a score, please submit an anonymized PDF score for review. Please do not mail in printed scores. Score submissions must be prepared as LastnameFirstname_score.PDF.
• Video Submissions: note that for works involving video, only the audio portion will be considered for judging purposes. You must be the composer of the music for the video. Please submit an MP3 of the music as specified above.
• Only one (1) entry per student. 

Other than the filename, please make sure to remove your name from all files, including MP3 metadata and PDF scores. Please limit the total size of all files to 40MB.

This same work may be submitted to the SEAMUS 2014 National Conference via the conference submission page. All finalists in the ASCAP/SEAMUS Student Commission Competition must attend the SEAMUS 2014 National Conference. Submissions by High School and Undergraduate students will automatically be considered for the Allen Strange Memorial Award as well.


A maximum of two prizes may be awarded. The decision of the judges will be final.

First Prize

• Commission of $1250 for a new work of electro-acoustic music
• Performance of commissioned work at the 2016 SEAMUS National Conference
• Recording of the commissioned work in the SEAMUS Compact Disc Series
• Certificate of recognition

Second Prize

• Commission of $750 for a new work of electro-acoustic music
• Performance of commissioned work at the 2016 SEAMUS National Conference
• Certificate of recognition


Applicants to the 2015 ASCAP/SEAMUS Student Commissioning Competition must be student members of SEAMUS and must be either currently enrolled in an academic program in the United States (high school through doctoral studies) or a United States citizen studying abroad. All completed submissions will be verified for student status against current SEAMUS membership records.

Per Bloland
SEAMUS Member-at-Large

Cmdist mailing list
Kjetil Matheussen | 5 Oct 21:35 2014

Backtrace in s7

Hi Bil and the rest of you,

I've added s7 as an extension language [1] to the 3.0 branch [2]
of the Radium music editor [3].

Some details about it: A small web server running inside Radium
is communicating with an external python script. This python script
functions as a repl for S7 [5]. This method works excellently, since the
repl doesn't have to be restarted if radium crashes, and you don't
have to run radium (which is quite bloated) from inside
emacs (which I'm using as lisp code editor). Right now I'm working
on rewriting all the mouse handling in s7, since the current
code (written in c) needs to be rewritten anyway, and this is simpler
to implement in scheme than in c.

S7 has so far been an excellent scheme implementation for me.
It's impressively fast (even mysteriously impressively fast, at
least for calculating the fibbonacci numbers), the api is dead simple,
and it's simple to embed into other programs. It's a quite perfect
extension language I would say.

But I wonder if it's possible to get a more detailed
backtrace if something goes wrong?

For instance, if I run the following code:
(define (d)
(define (c)
(define (b)
(define (a)

I get this response:

error message: [
;e: unbound variable
;  /home/kjetil/radium3.0/bin/scheme/mouse/bug.scm[9]
;    "/home/kjetil/radium3.0/bin/scheme/mouse/bug.scm", line 2
; d: (e)                                      
; (load "/home/kjetil/radium3.0/bin/scheme/...

Which is good, but sometimes not good enough, since I tend
to write a lot of spaghetti-like code.

Ideally, something like this would be nice:

;5. e: unbound variable, bug.scm[2]
;4. (d), bug.scm[4]
;3. (c), bug.scm[6]
;2. (b), bug.scm[8]
;1. (a), bug.scm[9]

I've looked over the documentation, experimented with code
that catches exceptions and inspecting data that calls "owlet",
but haven't found a way to get the kind of backtrace I want.

Is it possible to get this type of backtrace at all? Or perhaps
there is a different and perhaps better way to debug an s7 program?
I can live without this kind of backtrace though, so it's not
a big problem, and certainly not a show stopper.

I also have a feature request, which might be a lot of work
to implement, but would also be very nice to have. The feature is to give
warnings for undefined variables and functions.

For instance, if you try to evaluate

(define (hello)
   (let ((hello2 9))
     (+ hello2 hello3))

s7 would give a warning if hello3 isn't defined.
Guile has recently gotten this feature, and when
I developed a small software package for guile earlier this year,
it probably saved me a lot of time, since discovering undefined
variables and functions in code during runtime is harder and more
random than getting a message about it during compile time.
I think the lisp language "Shen" also has this feature, and that
in Shen you can turn off the warning by using a special macro,
I think the name might be "extern" or something like that.
(I.e. "(extern hello3)").

Thanks for reading,

Cmdist mailing list
Bill Schottstaedt | 25 Sep 18:45 2014

Snd 15.0

Snd 15.0:

clm and snd: Juan Reyes provided his banded waveguide instrument,
  bandedwg.ins and bandedwg.cms, and a Tibetan bowl: bowl.ins 
  and bowl.cms.

s7: *s7* is an environment holding various curiousities.
    moved *gc-stats*, *safety*, and *maximum-stack-size* into *s7*
    added cutlet to remove a binding from an environment

checked: gtk 3.13.7|8|9, sbcl 1.2.3

Thanks!: Juan Reyes
James Hearon | 28 Aug 00:53 2014

Grace, CM, midi type 0

Is there a good way to get a type 0  or merged track .mid file from Grace?  The Midifile settings
don't seem to have that option. With something like below, the default seems to be type 1 or 16 channels.
sprout(simp(10,60, 90), "test.mid")

Cmdist mailing list
Bill Schottstaedt | 18 Aug 21:16 2014

Snd 14.9

Snd 14.9:

s7: symbol-access is now just the set accessor function (not a list), and it is
      local to an environment.  See reactive-let et al in stuff.scm.

    define and friends now return the value, not the symbol (like set!).

    added mockery.scm.

    added hash-table* (unconsed args): 
        (hash-table '(a . 1) '(b . 2)) 
        (hash-table* 'a 1 'b 2)

    "let" replaces the "environment" terms
    make-procedure-with-setter is now dilambda

        new name       old name

        let?         environment?
        rootlet      global-environment
        unlet        initial-environment
        with-let     with-environment
        outlet       outer-environment
        sublet       augment-environment
        varlet       augment-environment!
        curlet       current-environment
        owlet        error-environment
        funclet      procedure-environment
        let->list    environment->list
        openlet      open-environment
        openlet?     open-environment?
        coverlet     close-environment
        let-ref      environment-ref
        let-set!     environment-set!
        inlet        environment and environment*

        dilambda     make-procedure-with-setter
        dilambda?    procedure-with-setter?

Snd: edit-position can't be a function
     mus-sound-path and *mus-sound-path*
     *default-output-data-format* is now *default-output-sample-type*
     default-output-data-format is replaced by default-output-sample-type
     similarly, data-format, mus-sound-data-format, mus-data-format-≥string and mus-data-

checked: gtk 3.13.4|5|6, FreeBSD 10, sbcl 1.2.2.

Thanks!: Francis Derive, Anders Vinjar
Francis Derive | 17 Jul 11:13 2014

Beginner with open-sound.

Bonjour la liste !

A lot to say, as a lot comes out to my face as revisiting Unix, Emacs-like env before enjoying lisp/s7 scheme
dev language while playing audio.

My environment is Mac OS X mountain 10.8.5, XQuartz 2.7.6 (latest), even JackPilot which may help or not -
not sure, we may see this later.

Anyway, my question :

> >*load-path*
> ("/Users/fdiMac/Documents/DEV/fdiDev/Snd-S7/medias" "/Users/fdiMac" "/usr/local/share/snd")
> >

In the above "medias" folder does sit the file "harpe.aif".

> ➜  medias  pwd
> /Users/fdiMac/Documents/DEV/fdiDev/Snd-S7/medias
> ➜  medias  ls -l
> total 254712
> -rw-r--r-- <at>  1 fdiMac  admin  129397690  9 déc  2011 harpe.aif
> ➜  medias  

I can open this file in snd with the Open menu from the listener window, but I can't open 

 it like that :

> >*load-path*
> ("/Users/fdiMac/Documents/DEV/fdiDev/Snd-S7/medias" "/Users/fdiMac" "/usr/local/share/snd")
> >(open-sound "harpe.aif")
> ;no-such-file: open-sound "harpe.aif": No such file or directory
> ;
> ; (open-sound "harpe.aif")                    
> ; (open-sound "harpe.aif")                    
> >

neither :


> >(open-sound "harpe")
> ;no-such-file: open-sound "harpe": No such file or directory
> ;
> ; (open-sound "harpe")                        
> ; (open-sound "harpe")                        

However, "harpe.aif" or "harp" is there - somewhere along the *load-path* tree ! 

Hard times.



Cmdist mailing list
Cmdist <at>
James Hearon | 10 Jul 19:55 2014

type double-float

I'm trying to figure out how to solve a double-float undefined error for the mapcar statement in Fernando's moog.lisp instrument in sbcl, emacs, slime, clm.

Should I try to define the double-float type in moog.lisp or is it something I need to be doing from sbcl, or clm?

(defparameter moog-gaincoeffs
    '(0.999969 0.990082 0.980347 0.970764 0.961304 0.951996 0.94281 0.933777 0.924866 0.916077
      0.90741 0.898865 0.890442 0.882141  ... ))

(defparameter moog-gaintable
    (make-double-float-array (length moog-gaincoeffs) 
                 :initial-contents (mapcar #'double-float moog-gaincoeffs)))

Cmdist mailing list
Bill Schottstaedt | 9 Jul 23:47 2014

Snd 14.8

Snd 14.8:

s7: symbol-table function now returns a list of all known symbols.
    require added
    removed unoptimize and reader-expand
    Display macro in stuff.scm
    added ~< expr ~> in format as a sort of "here-string" escape -- any s7 code in
      the brackets is evaluated in the current environment, and the result
      is inserted at that point in the output string (using object->string if
      the result is not a string). This is similar to {var} or $var in various
      shell languages. 
    also added ~| as a smarter ~^
    for all output functions, #f as port means no output (/dev/null in effect)

Snd: the numbering for dialog-widgets has changed -- the unused entries were removed.

checked: sbcl 1.2.1, gtk 3.13.3

Thanks!: Greg Santucci
Joel Matthys | 1 Jul 22:18 2014

compareLexicographically() changed in JUCE

I just tried to compile Grace on Linux, and got these errors:

src/SndLib.cpp: In member function ‘int 
juce::XmlElement*) const’:
src/SndLib.cpp:455:9: error: ‘const class juce::String’ has no member 
named ‘compareLexicographically’
src/SndLib.cpp:458:57: error: ‘const class juce::String’ has no member 
named ‘compareLexicographically’
result = 

It looks like compareLexicographically() has been replaced with 
compareNatural() in latest JUCE:

ludger brümmer | 29 Jun 17:30 2014

fomus on 64 bit osx 10.9

Hi all,

did anyone install fomus on grace 3.9? I could not get it going inside OSX 10.9 and I am wondering if there is a
solution  for that problem.

all the best
Ludger Brümmer

James Hearon | 24 Jun 20:55 2014

cl/clm mutliple combs

I'm stuck on a bit of info from snd/clm manual re: summing combs. I was able to do it in snd/clm using comb-bank, but I'm stuck on cl/clm approach where you need to loop thru and sum the combs.  Hoping I can get some help with my code, below. I may have made a mess of it, but can't seem to figure out how to do it.  Thank you.

 (let ((sum 0.0))
  (do ((i 0 (+ i 1)))
      ((= i n) sum)
    (set! sum (+ sum (comb (combs i) x)))))

can be replaced with:

(let ((cb (make-comb-bank combs)))
  (comb-bank cb x))

The LET* binding spec (COMBS 1 (MAKE-COMB 1.0 600)) is malformed.

(definstrument mult-combs (beg dur freq amp)
  (let* ((start (floor (* beg *srate*)))
     (end (+ start (floor (* dur *srate*))))
     (os (make-oscil freq))
     (combs 1 (make-comb 1.0 600))
     (combs 2 (make-comb 2.0 300))
     (combs 3 (make-comb 3.0 100))
     (sum 0.0) )
    (do ((i 0 (+ i 1)))
    ((= i 3) sum)   
    (set! sum (+ sum (comb (combs i) 0.02))) )
     (loop for i from start to end do
   (outa i (comb sum (* amp (oscil os))))   
   (outb i (comb sum (* amp (oscil os)))) ))))
 (with-sound (:channels 2 :srate 48000 :header-type mus-riff :output "mytest.wav")
   (mult-combs 0 5 200 .8)
Cmdist mailing list