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> ccrma.stanford.edu
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
James Hearon | 7 Jun 03:13 2014

green, butter clm

For CL/CLM manual under "other generators", I'm trying to understand the implications of green.cl and butterworth.cl.

"green.cl defines several special purpose noise generators. butterworth.cl has several Butterworth filters. (See analog-filter.scm in the Snd package for functions to design all the usual analog filters; the output is compatible with CLM's filter generator)."

I think I've understood green.cl, but stuck on butterworth.cl, however I did get the Snd analog-filter.scm working in Grace and Snd.

For emacs/slime/lisp with butterworth.cl was trying below, but getting memory errors.  Not sure if I understood what .cl is for?  I just named it .lisp, added the instrument below to it and tried to compile and load that.  I'm thinking I'm off on the wrong track about how the butterworths are intended to be utilized in clm.

(definstrument mybutter (beg dur freq amp)
   (let* ((start (floor (* beg *srate*)))
   (end (+ start (floor (* dur *srate*))))
        (flt (make-butterbp 200 .5))
     (os (make-oscil freq)))
     (loop for i from start to end do
       (outa i (* amp (filter flt (oscil os))))))))

(with-sound (:channels 2 :srate 48000 :header-type mus-riff :output "testbutter.wav")
(mybutter 0 5 400 .7)

Cmdist mailing list
Dave Phillips | 1 Jun 15:26 2014

no JACK with GRACE :(


I updated my source tree for CM and rebuilt the binary with support for 
FOMUS, oscpack, SDIF, and JACK, Alas, there is no selection for JACK in 
Grace's Audio Settings. I ran this string for premake:

premake4 --with-jack --with-oscpack --with-fomus=/usr --with-sdif=/usr

I ran 'make clean', rebuilt, still got no JACK joy. Everything else is 
there, but how do I enable JACK support ?


Bill Schottstaedt | 31 May 17:12 2014

Snd 14.7

Snd 14.7.

s7: sort! now operates in-place on lists (it used to copy the list).
    sort! also accepts bytevectors (for r7rs), and as a by-product, strings.
    string-up|downcase built-in (for r7rs).

Snd: removed defvar (use define-envelope), and multiply-arrays (missed earlier)

checked: sbcl 1.1.18|1.2.0, gtk 3.13.1|2

Thanks!: Mike Scholz, David Lowenfels, Corey Mwamba