Csound Csound-dev Csound-tekno Search About

Re: Okay, now your fav' MATH books survey!

Date1999-03-17 17:16
FromSean Costello
SubjectRe: Okay, now your fav' MATH books survey!
Charles Baker wrote:

> I personally found Dick Moore's "Mathematics of signal processing"
> article and *especially also* the Julius O. Smith Digital Filter theory
> article that follows
> in that book to be key in developing what understanding I have of
> D.S.P..
> ( my main background was as a performing classical musician and
> composer who used software synthesis languages )
> If (as has been said on this list ) this book is out of print, it is a
> shame.

It is out of print.  I have been looking for it for a while.  However,
the majority of articles in the book (Moore's "Mathematics of signal
processing," Moorer's "Signal Processing aspects of computer music - a
survey," Smith's "Introduction to Digital Filter Theory," Gordon and
Strawn's "An introduction to the phase vocoder") are available from
CCRMA (http://ccrma-www.stanford.edu/CCRMA/Overview/publications.html),
in nicely bound photocopy editions.  The article on spiral synthesis is
missing, but since I have never found the Strawn book, I have no idea
what spiral synthesis is.  I am going to pick up the above articles at
Stanford when I am in the Bay Area later this week; you can also order
them by email.  Versions of most of the above articles can be found
elsewhere (Moore's in the first volume of Computer Music Journal,
Moorer's in the Proceedings of the IEEE, and an abridged version of
Smith's article in The Music Machine), but the phase vocoder info is
only available in the book and from CCRMA.

Sean Costello


Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa16769;
          17 Mar 99 19:10 GMT
Received: from [144.173.6.14] (helo=exeter.ac.uk)
	by shaun.maths.bath.ac.uk with esmtp (Exim 1.92 #2)
	for jpff@maths.bath.ac.uk
	id 10NLhn-0003nO-00; Wed, 17 Mar 1999 19:10:15 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (TAA06454); Wed, 17 Mar 1999 19:06:51 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Wed, 17 Mar 1999 19:06:39 GMT
Received: from jaguars-int.cableinet.net [193.38.113.9] by hermes via SMTP (TAA06634); Wed, 17 Mar 1999 19:06:38 GMT
Received: (qmail 15628 invoked from network); 17 Mar 1999 19:03:06 -0000
Received: from unknown (HELO cableinet.co.uk) (194.117.146.19)
  by jaguars with SMTP; 17 Mar 1999 19:03:06 -0000
Message-ID: <36EFFE93.16DE51E5@cableinet.co.uk>
Date: Wed, 17 Mar 1999 19:12:19 +0000
From: Richard Dobson 
Organization: Composers Desktop Project
X-Mailer: Mozilla 4.5 [en] (WinNT; I)
X-Accept-Language: en
MIME-Version: 1.0
To: csound@maths.ex.ac.uk
Subject: Re: Linear Prediction in Csound
References: <002d01be7012$53c51620$79d496c0@Realizer.ngt.sungard.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

It's very simple, in fact: the particular subformat of
WAVE-FORMAT-EXTENSIBLE (a structure starting with the usual WAVEFORMATEX
elements) is identified by a GUID* - so one just has to define one for
the new format, and announce it to the world. I plan to do just this
soon (if nobody else does it first!), for the Ambisonic B-Format.
Strictly speaking it can't fit into the mainstream WAVE-EX because the
four (possibly six) channels are not speaker feeds. 

Several concrete examples are given in the Microsoft document (latest
version is now on my website).

*For anyone who doesn't know:
GUID: a 128-bit Globally Unique IDentifier.


Richard Dobson



Michael Gogins wrote:
> 
> The XML format is, by definition, extensible and is, with careful naming of
> tags, to a certain degree self-documenting. If Microsoft has created an
> extensible WAV chunk system that does not require pre-registration, then
> that is a big plus that should be seriously considered. Could you briefly
> explain how it works?
> 


-- 
Test your DAW with my Soundcard Attrition Page!
http://wkweb5.cableinet.co.uk/rwd
CDP homepage: http://www.bath.ac.uk/~masjpf/CDP/CDP.htm


Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa16840;
          17 Mar 99 19:46 GMT
Received: from [144.173.6.14] (helo=exeter.ac.uk)
	by shaun.maths.bath.ac.uk with esmtp (Exim 1.92 #2)
	for jpff@maths.bath.ac.uk
	id 10NMGe-0003oX-00; Wed, 17 Mar 1999 19:46:16 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (TAA05242); Wed, 17 Mar 1999 19:39:43 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Wed, 17 Mar 1999 19:39:32 GMT
Received: from exim@wallace.maths.bath.ac.uk [138.38.100.104] by hermes via ESMTP (TAA13329); Wed, 17 Mar 1999 19:39:31 GMT
Received: from [138.38.97.36] (helo=maths.Bath.AC.UK ident=mmdf)
	by wallace.maths.bath.ac.uk with smtp (Exim 1.92 #2)
	id 10NMA2-0007EN-00; Wed, 17 Mar 1999 19:39:26 +0000
From: jpff@maths.bath.ac.uk
To: sonicman001@att.net, csound@maths.ex.ac.uk
Subject: Re: Okay, now your fav' MATH books survey!
Date: Wed, 17 Mar 99 19:39:24 GMT
Source-Info:  From (or Sender) name not authenticated.
Message-Id: 
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

My favourite Mathematics books are probable

Apostol -- Mathematical Analysis

Hardy and Wright -- The Theory of Numbers

Kelley -- General Toplogy

Dirac -- Introduction to Quantum Mechanics

Minsky -- Finite and Infinite Machines (almost)

at least in the learning area.  For real mathematics very little beats
Charles Delaunay's Theorie du Mouvement de la Lune.  I never managed
tp read beyond chapter 2 or 3, but it is a lovely book.  I still have
Principia Mathematica on my shelves but it is hard going.

None of these seem very useful for music though.......

==John ff


Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa17413;
          17 Mar 99 23:37 GMT
Received: from [144.173.6.14] (helo=exeter.ac.uk)
	by shaun.maths.bath.ac.uk with esmtp (Exim 1.92 #2)
	for jpff@maths.bath.ac.uk
	id 10NPs6-0003sw-00; Wed, 17 Mar 1999 23:37:10 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (XAA02319); Wed, 17 Mar 1999 23:33:29 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Wed, 17 Mar 1999 23:33:17 GMT
Received: from jaguars-int.cableinet.net [193.38.113.9] by hermes via SMTP (XAA18228); Wed, 17 Mar 1999 23:33:16 GMT
Received: (qmail 753 invoked from network); 17 Mar 1999 23:29:40 -0000
Received: from unknown (HELO cableinet.co.uk) (194.117.146.203)
  by jaguars with SMTP; 17 Mar 1999 23:29:40 -0000
Message-ID: <36F03D0D.1B821A67@cableinet.co.uk>
Date: Wed, 17 Mar 1999 23:38:53 +0000
From: Richard Dobson 
Organization: Composers Desktop Project
X-Mailer: Mozilla 4.5 [en] (WinNT; I)
X-Accept-Language: en
MIME-Version: 1.0
To: csound 
Subject: Bug-report and fix (was: Frequency Shifting & Hilbert Transforms)
References: <36E4BD02.565BF559@seanet.com> <36E8F70E.1B47218A@apas.no>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

It's just one of those things; I decide to run someone's orc, after a
~looong~ time of not doing such a thing... and I find a weee buglet.

If ksamps divides exactly into the number of samples in the infile,
diskin blows up. The fix is happily simple:

at the very end of the function soundinew()  in  diskin.c,
the block of code following the label 'filend' needs to be wrapped in
the test:

if(ntogo > 0) {
	...

}

and all is well with the world.

The great musician and human being Yehudi Menuhin passed away last week
- I have only just heard about it. My father worked with him for most of
his professional life. We shall not see his like again. If it were a
practical thing, I would ask for a minute's internet silence. 



Richard Dobson



-- 
Test your DAW with my Soundcard Attrition Page!
http://wkweb5.cableinet.co.uk/rwd
CDP homepage: http://www.bath.ac.uk/~masjpf/CDP/CDP.htm


Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa17616;
          18 Mar 99 0:52 GMT
Received: from [144.173.6.14] (helo=exeter.ac.uk)
	by shaun.maths.bath.ac.uk with esmtp (Exim 1.92 #2)
	for jpff@maths.bath.ac.uk
	id 10NR2e-0003wi-00; Thu, 18 Mar 1999 00:52:08 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA05262); Thu, 18 Mar 1999 00:51:08 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Thu, 18 Mar 1999 00:50:57 GMT
Received: from ella.mills.edu [144.91.3.20] by hermes via SMTP (AAA00815); Thu, 18 Mar 1999 00:50:55 GMT
Received: (qmail 2155699 invoked by uid 1964); 17 Mar 1999 16:50:22 -0800
Date: Wed, 17 Mar 1999 16:50:22 -0800 (PST)
From: "Matt J. Ingalls" 
To: Richard Dobson 
cc: csound 
Subject: Re: Bug-report and fix (was: Frequency Shifting & Hilbert Transforms)
In-Reply-To: <36F03D0D.1B821A67@cableinet.co.uk>
Message-ID: 
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk


this fix probably needs to be in soundin as well - as that part of code is
directly lifted from soundin.

-matt



On Wed, 17 Mar 1999, Richard Dobson wrote:

> It's just one of those things; I decide to run someone's orc, after a
> ~looong~ time of not doing such a thing... and I find a weee buglet.
> 
> If ksamps divides exactly into the number of samples in the infile,
> diskin blows up. The fix is happily simple:
> 
> at the very end of the function soundinew()  in  diskin.c,
> the block of code following the label 'filend' needs to be wrapped in
> the test:
> 
> if(ntogo > 0) {
> 	...
> 
> }
> 
> and all is well with the world.
> 
> The great musician and human being Yehudi Menuhin passed away last week
> - I have only just heard about it. My father worked with him for most of
> his professional life. We shall not see his like again. If it were a
> practical thing, I would ask for a minute's internet silence. 
> 
> 
> 
> Richard Dobson
> 
> 
> 
> -- 
> Test your DAW with my Soundcard Attrition Page!
> http://wkweb5.cableinet.co.uk/rwd
> CDP homepage: http://www.bath.ac.uk/~masjpf/CDP/CDP.htm
> 



Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa18571;
          18 Mar 99 10:27 GMT
Received: from [144.173.6.14] (helo=exeter.ac.uk)
	by wallace.maths.bath.ac.uk with esmtp (Exim 1.92 #2)
	for jpff@maths.bath.ac.uk
	id 10Na1F-0007h8-00; Thu, 18 Mar 1999 10:27:17 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (KAA06660); Thu, 18 Mar 1999 10:06:19 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Thu, 18 Mar 1999 10:06:01 GMT
Received: from hawk.glasnet.ru [193.124.5.50] by hermes via ESMTP (KAA09650); Thu, 18 Mar 1999 10:05:55 GMT
Received: from mail.glasnet.ru([193.124.5.37]) (3698 bytes) by hawk.glasnet.ru
	via sendmail with P:esmtp/R:inet_hosts/T:inet_zone_smtp
	(sender: ) 
	id 
	for ; Thu, 18 Mar 1999 13:04:14 +0300 (WSU)
	(Smail-3.2.0.104 1998-Nov-20 #2 built 1998-Nov-27)
Received: from default(src addr [195.218.251.124]) (3329 bytes) by mail.glasnet.ru
	via sendmail with P\:esmtp/R:smart_host/T:smtp
	(sender: ) 
	id 
	for ; Thu, 18 Mar 1999 13:04:06 +0300 (WSU)
	(Smail-3.2.0.96 1997-Jun-2 #11 built DST-Aug-25)
Message-Id: 
From: Sergey Batov 
To: csound@maths.ex.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.omphalos
Subject: pitch in K-S algorithm
Date: Thu, 18 Mar 1999 13:05:00 +0300
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Content-Type: text/plain; charset=KOI8-R
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi, Csounders!

Excuse me for a big message, I just supposed that the attachments are not
good for everyone (?). 

Here are two examples of Karplus Strong Algorithm (from List).

It seems that the pitches of notes  are good enough in first example ,
but not in second example. Why? 
In the beginning I thought that this is because of LPF y[n]=(x[n]+x[n-1])/2
in the second example, but using the 'tone' brings worst results.

May be the pair "delayr - delayw" works more exactly than "delay"?

BTW,  LPF from second ex. works good in the first ex.
Does anybody know what is characteristics of this filter (cutoff frequency,
e.t.c.)?


Thanks,
Sergey Batov   batov@glasnet.ru


;========= K-S_ex1.orc ===========
	sr	=	44100
	kr	=	4410
	ksmps	=	10
	nchnls	=	1

;               Karplus Strong Algorithm Demonstration                     
 
	instr	1
icps    =       cpspch(p5)              ;desired pitch in PCH
asig    init    0                       ;initialize asig variable
kcount  init    1/icps*kr               ;and loop counter (see below)

;------- use a delay line of length 1/cps:

adel    delayr  1/icps			;delay of 1/cps seconds
asig    tone    adel,sr/2               ;filter the output

;- but at the first k, fill the delay line with noise:

if (kcount < 0) kgoto continue  ;skip over after line filled
kloop:                                  ;loop to fill delay
asig    rand    p4,-1                   ;with white noise
kcount  =       kcount - 1              ;decrement loop counter
;-------------------------------------------------

continue:
  delayw  asig   ;delay line input (always get here)

 if (kcount >= 0) kgoto kloop ;loop only kcount times at start 

        out     asig
        endin
;============ end of K-S_ex1.orc ===================


;================ K-S_ex1.sco ==============================
;Test score for Karplus Strong Demo Instrument
i1 1 5 30000 7.00 
i1 7 5 30000 7.04 
i1 13 5 30000 7.07 

i1 19 5 30000 8.00 
i1 25 5 30000 8.04 
i1 31 5 30000 8.07 

i1 37 5 30000 9.00 
i1 43 5 30000 9.04 
i1 49 5 30000 9.07 
e
;============ end of K-S_ex1.sco ======================

                             

 THE SECOND EXAMPLE:


; Karplus.orc
;Simple versions of the Karplus Strong Algorithm

sr=44100
kr=4410
ksmps=10
nchnls=1

;The Karplus-Strong Plucked String

instr 1
        afeedback init 0
        anoise=0


ipitch=cpspch(p4)
        ilooptime = 1/cpspch(p4)
        iamp=p5
        krandenv linseg 1, ilooptime, 1, 0, 0, p3-ilooptime, 0
  
     anoise rand krandenv

 
        a2 delay afeedback+anoise,ilooptime
        a3 delay1 a2
        afeedback=(a2+a3)*.5
        ;afeedback   tone    a2,sr/2        
out a2*iamp

endin

; Karplus.sco

i1 1 5 7.00 5000
i1 7 5 7.04 5000
i1 13 5 7.07 5000

i1 19 5 8.00 5000
i1 25 5 8.04 5000
i1 31 5 8.07 5000

i1 37 5 9.00 5000
i1 43 5 9.04 5000
i1 49 5 9.07 5000


f 0 55
e