Csound Csound-dev Csound-tekno Search About

Re: hetro/adsyn

Date1999-03-21 15:31
FromRichard Dobson
SubjectRe: hetro/adsyn
It's certainly possible; I have just tried an unmodified resynthesis of
a single piano note (middle C, as it happens, maxamp 26860, sr = 22050,
duration 1.84 secs, 16bit) with Hetro (all Winsound 3.52 - consound
should be identical), and  the synthesis is very good - at 50 partials
virtually identical to the source. Certainly, I get no distortion.

So I can't see what the cause of your problem would be. Is there any
possibility of an srate mismatch, causing aliasing?

Can you give more details of your source sound (pitch, duration, srate,
max amp, wordsize) etc. Then we can test things as closely to your
situation as possible.

Richard Dobson

Blake Markle wrote:
> 
> Good day fellow Csounders,
> 
> We're still getting bad quality resynthesis using Hetro/adsyn.  We are
> analyzing a sustained piano note in hetro, and resynthesizing it with
> adsyn.  Even with many (50+) harmonics included and many (1024)
> amplitude breakpoints checked, we get bad transient response (attack)
> and distortion.  We have an "owl" sounding hoot in the attack and lots
> of high frequency noise distortion.
> 
> We are using the latest csound edition (csound_con.zip) with winsound
> for the adsyn process.  The file format is wav.  We would welcome any
> wisdom on the subject.  If it is possible to create a reasonably
> realistic analysis/resynthesis, please let us know.
> 
> Thanks,
> 
> Greg and Blake

-- 
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 aa27781;
          21 Mar 99 16:58 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 10OlYU-0006Ge-00; Sun, 21 Mar 1999 16:58:30 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (QAA16928); Sun, 21 Mar 1999 16:55:57 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Sun, 21 Mar 1999 16:55:44 GMT
Received: from relay7.gateway.net [208.230.117.246] by hermes via ESMTP (QAA11767); Sun, 21 Mar 1999 16:55:42 GMT
Received: from gate (1Cust21.tnt1.melbourne.fl.da.uu.net [208.255.26.21])
	by smtp7.gateway.net (8.9.1/8.9.1) with SMTP id LAA02889
	for ; Sun, 21 Mar 1999 11:55:45 -0500 (EST)
From: Bill DeWitt 
To: Csound List 
Subject: Second thoughts
Date: Sun, 21 Mar 1999 11:55:57 -0500
Message-ID: <000301be73bb$b0e181c0$151affd0@gate>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook 8.5, Build 4.71.2173.0
In-Reply-To: 
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2014.211
Importance: Normal
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I am hoping for some reality checking from the list.

	I am neither a musician, nor a expert programmer, but I bang away at both
when I have time. I am still trying to learn C++ now 4 years after starting,
and am only a moderate guitar and piano player. I have no knowledge of DSP
or synthesizer technology. I'm probably smart enough to learn CSound, but
find my life already a little cluttered. I wanted to use CSound to make
sound effects for my POV-Ray animations and to write little scores for
backgrounds, but I don't seem to be getting anywhere.

	I recently asked a question about MIDI and have since gotten CakeWalk Pro
and the MIDI adapter I needed. My sound card seems to have 128 sounds
available to it and for most uses I might have, this is enough. Since last
week I used CW to finish a score I had gotten nowhere on with CSound over
the last 4 months.

	So my question would be, should I give up on CSound and just use CakeWalk?
Is it an economical use of my brain space to try to hammer this stuff into
my head? Would I need to jump back and study a couple years of sound
analysis stuff before I could expect to make my own groovy sounds? Does one
need significant mathematical skills (above College Algebra) to really make
CSound wail? Am I wimping out if I quit?

	Does anyone take MIDI seriously? I never did. But it seems to be getting
the job done. Maybe I should find a MIDI list...

	Any opinions, especially long rambling ones full of personal experiences,
welcome.



Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa27920;
          21 Mar 99 17:32 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 10Om5W-0002UY-00; Sun, 21 Mar 1999 17:32:38 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (RAA00639); Sun, 21 Mar 1999 17:29:43 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Sun, 21 Mar 1999 17:29:31 GMT
Received: from [203.36.219.100] by hermes via SMTP (RAA08203); Sun, 21 Mar 1999 17:29:29 GMT
Received: from rossbenc (unverified [203.56.205.18]) by www.webpage.com.au
 (EMWAC SMTPRS 0.83) with SMTP id ;
 Mon, 22 Mar 1999 04:30:37 +1100
Message-ID: <00e101be73bf$5827be60$12cd38cb@rossbenc>
From: Ross Bencina 
To: csound@maths.ex.ac.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.omphalos
Subject: Re: Second thoughts
Date: Mon, 22 Mar 1999 03:52:03 +1030
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.3110.5
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Bill DeWitt writes:


>I am hoping for some reality checking from the list.

[snip]

Here's my reality:

MIDI is good when the music you are trying to make falls within certain
boundarys - some people's musical boundarys are defined within the same
paradigm that MIDI was designed within. To a large extent MIDI actually
defines the boundarys certain musical styles.

Now take the above paragraph and replace "MIDI" with "Csound".

Similar things could also be said for common music notation.

I think Csound excells when it is used as a tool within a compositional
method. It's great for making and processing sounds, but there are often
better ways of assembling these sounds into complete compositions than by
creating complex .sco files. Unless you're a Csound purist it's best to use
the tool that best suits your goals.

Ross.
(for real-time audio improvisation check out my shareware synth:
http://www.audiomulch.com/)




Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa27941;
          21 Mar 99 17:34 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 10Om7k-0002Ue-00; Sun, 21 Mar 1999 17:34:56 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (RAA04438); Sun, 21 Mar 1999 17:33:18 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Sun, 21 Mar 1999 17:33:07 GMT
Received: from howl.werewolf.net [12.23.152.10] by hermes via ESMTP (RAA17698); Sun, 21 Mar 1999 17:33:05 GMT
Received: from default (dial314.werewolf.net [12.23.154.14])
	by howl.werewolf.net (8.9.0/8.9.0) with SMTP id LAA11556
	for ; Sun, 21 Mar 1999 11:26:13 -0600 (CST)
Message-ID: <002101be73c1$b4135200$5799170c@default>
From: Hans Mikelson 
To: Csound 
Subject: Re: Second thoughts
Date: Sun, 21 Mar 1999 11:38:58 -0600
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.3110.5
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

You wrote:

> So my question would be, should I give up on CSound and just use CakeWalk?

Don't give up on Csound but you may wish to concentrate your efforts more on
MIDI.  When you start becoming dissatisfied with the limitations of your
sound card's presets you may want to try Csound again.

>Would I need to jump back and study a couple years of sound
>analysis stuff before I could expect to make my own groovy sounds?

You should be able to get some good sounds using some of the examples posted
to the list and available on the net.  Choose a sound you like and modify it
to your liking.

Does one
>need significant mathematical skills (above College Algebra) to really make
>CSound wail?

I don't think so.  You only need the advanced math skills to do some of the
more advanced programming.

>Am I wimping out if I quit?

When I first tried Csound I did not use it very much for over a year.  I was
reinspired and started learning one opcode each week or so.

> Does anyone take MIDI seriously?

I still use MIDI and it often gets the job done faster than Csound.  Typing
in scores by hand is always difficult.  It is much easier to improvise on a
keyboard and save the good bits using a MIDI sequencer.  In the future I may
try to make more instruments which read MIDI files for input.

I'm more of a sound experimentor than a composer or musician so Csound is
perfect for me.  I hope that there are skilled composers who will find my
instruments useful for creating compositions.  It is helpful to be able
recompile the sources so I can add my own opcodes.  Also the Csound user
community is really incredible and addictive.

I'm also a POV-Ray user and I find there are many similarities between
POV-Ray and Csound.  POV-Ray does for 3D graphics rendering what Csound does
for sound.

Bye,
Hans Mikelson






Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa28002;
          21 Mar 99 17:58 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 10OmU7-0006Hj-00; Sun, 21 Mar 1999 17:58:03 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (RAA04484); Sun, 21 Mar 1999 17:56:21 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Sun, 21 Mar 1999 17:56:10 GMT
Received: from mtv@hydra.U.Arizona.EDU [128.196.137.174] by hermes via ESMTP (RAA01302); Sun, 21 Mar 1999 17:56:09 GMT
Received: from localhost (mtv@localhost)
	by orion.U.Arizona.EDU (8.8.6 (PHNE_17135)/8.8.6) with ESMTP id KAA07690;
	Sun, 21 Mar 1999 10:55:35 -0700 (MST)
Date: Sun, 21 Mar 1999 10:55:35 -0700 (MST)
From: Mark T Vigorito 
To: Bill DeWitt 
cc: Csound List 
Subject: Re: Second thoughts
In-Reply-To: <000301be73bb$b0e181c0$151affd0@gate>
Message-ID: 
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Bill,
	I use Csound *and* MIDI, often in combination. I'm not familiar
with Cakewalk Pro, but I believe it has the capability to combine MIDI
tracks with digital audio. This being so, you could do most of your
scoring with MIDI, and add Csound "sound effects" little by little as you
learn more about Csound.
	As far as the math required to use Csound - that depends. If you
want to grapple with the hairier DSP aspects of Csound, certainly a
serious engineering math background is necessary. But you can still do a
lot with Csound using basic algebra. Most of the math I use wrt Csound is
just +, -, *, /.
	So I'd encourage you to not give up on Csound. There is so much
you can do with it that even a big-buck MIDI setup can't even touch. Try
working through the tutorials and the Amsterdam catalogue. Experiment with
modifying the examples. Good luck!

Cheers,
Mark Vigorito
mtv@u.arizona.edu




Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa28135;
          21 Mar 99 18:54 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 10OnN3-0006Ia-00; Sun, 21 Mar 1999 18:54:49 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (SAA15383); Sun, 21 Mar 1999 18:47:07 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Sun, 21 Mar 1999 18:46:55 GMT
Received: from eos.arc.nasa.gov [128.102.118.20] by hermes via ESMTP (SAA09411); Sun, 21 Mar 1999 18:46:54 GMT
Received: (from jim-ra@localhost)
          by eos.arc.nasa.gov (8.8.4/8.8.4)
	  id KAA08376; Sun, 21 Mar 1999 10:46:57 -0800
Date: Sun, 21 Mar 1999 10:46:57 -0800
From: "Dr J.Stevenson's research assistant" 
Message-Id: <199903211846.KAA08376@eos.arc.nasa.gov>
To: Csound@maths.ex.ac.uk, bdewitt@gateway.net
Subject: Re:  Second thoughts
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk



IMHO : the answer to both of your questions is yes and yes

---------------U wrote
 Does one              
need significant mathematical skills (above College Algebra) to really make
CSound wail? Am I wimping out if I quit?
-----------------------


Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa28329;
          21 Mar 99 20:07 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 10OoUt-0002XH-00; Sun, 21 Mar 1999 20:06:59 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA13615); Sun, 21 Mar 1999 20:05:37 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Sun, 21 Mar 1999 20:05:26 GMT
Received: from mail.calweb.com [209.210.251.12] by hermes via ESMTP (UAA01444); Sun, 21 Mar 1999 20:05:24 GMT
Received:  by mail.calweb.com (8.8.6/8.8.6) with SMTP id MAA17570
	for ; Sun, 21 Mar 1999 12:05:26 -0800 (PST)
X-SMTP: helo good-puppy from stevenc@calweb.com server @rmu2-52.calweb.com ip 207.211.80.52 user=stevenc
Message-ID: <36F55151.2CA5@calweb.com>
Date: Sun, 21 Mar 1999 12:06:41 -0800
From: Steven Coolidge 
X-Mailer: Mozilla 3.03Gold (Win95; I)
MIME-Version: 1.0
To: Csound@maths.ex.ac.uk
Subject: Re: Second thoughts
References: <000301be73bb$b0e181c0$151affd0@gate>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Bill DeWitt wrote:
> 
[snip]
> 
> I wanted to use CSound to make
> sound effects for my POV-Ray animations and to write little scores for
> backgrounds

[snip]

>         So my question would be, should I give up on CSound and just use CakeWalk?

	I don't know what POV-Ray animations are but you can use Csound and
Cakewalk together, because you can make wav files in Csound and bring
them into tracks in Cakewalk.  

	The tools you use depends on what you want to do.  If you like computer
toys for their own sake, Csound (in my limited experience) seems
endlessly engaging.  I got into it because I want sounds that aren't in
my synthesizer presets.  I was able to make  sounds I liked after
working thru the first few tutorials in the manual.  Then I got a Nord
Lead II synthesizer. I make up most of my weird sounds on that, it's
easier. It works like a subset of Csound, basically you can generate
wave tables and torture them by turning knobs.

	The tradeoff between Csound and Cakewalk or other sequencer program
seems to have to do with the level of detailed control and the amount of
time to make a completed piece.  If you want to cover broad swaths of
canvas using paints from the tube, use Cakewalk.  If you want to mix
your own colors, use Csound.

Steven Coolidge
stevenc@calweb.com


Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa28385;
          21 Mar 99 20:40 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 10Op0t-0006Jz-00; Sun, 21 Mar 1999 20:40:03 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA16731); Sun, 21 Mar 1999 20:32:59 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Sun, 21 Mar 1999 20:32:48 GMT
Received: from sndart.cemi.unt.edu [129.120.63.1] by hermes via ESMTP (UAA16018); Sun, 21 Mar 1999 20:32:47 GMT
Received: from sndart.cemi.unt.edu (localhost [127.0.0.1]) by sndart.cemi.unt.edu (980427.SGI.8.8.8/970903.SGI.AUTOCF) via ESMTP id MAA30595; Sun, 21 Mar 1999 12:13:10 -0800 (PST)
Message-ID: <36F552D6.9FCE65E@sndart.cemi.unt.edu>
Date: Sun, 21 Mar 1999 12:13:10 -0800
From: Jon Christopher Nelson 
X-Mailer: Mozilla 4.5C-SGI [en] (X11; I; IRIX 6.5 IP22)
X-Accept-Language: en
MIME-Version: 1.0
To: jmdbrady@club-internet.fr, csound@maths.ex.ac.uk
Subject: Re: Cage's Williams Mix
References:  <36F39278.379F196@club-internet.fr>
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
X-MIME-Autoconverted: from 8bit to quoted-printable by exeter.ac.uk id UAA16018
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

"Jean-Michel DARR=C9MONT" wrote:

> Hi,
>
> Reading the book:"Conversing with Cage" from Richard Kostelanetz I noti=
ced
> Cage's commentary about his
> realisation of Williams mix in 1952.
> They choped up a recorded tape in 1097 fragments and spliced them back =
into
> the band.
> In that way they put the splices in any orientation refered to the norm=
al
> horizontal reading.
> The splices where played mainly diagonaly.
> He said that the sounds produced that way were "perfectly beautiful sou=
nds" no
> doubt they are at least quite unusual.
> Here comes to mind this question: how can a soundfile be read in CSound=
 at a
> variable angle saying that 0=B0 is the normal playback, 180=B0 backward=
 and 360=B0
> normal playback again?
>
> It would be interesting to try this, specialy when we consider they spe=
nt one
> year with a five or six persons team to realize Williams Mix, cutting,
> splicing tiny pieces of tape, using chance operations to determine leng=
th and
> angle of reading in a terribly meticulous work.
>
> Digital synthesis could do that in a clic and that way experience and b=
ring
> the process further.
>
> Is hetro/adsyn necessary or pvoc or something simpler?
>
> Any idea?
>
> Regards.
> --
> Jean-Michel DARREMONT

Jean-Michel:

The forwards and backwards part is easy since you can use any index into =
a stored
sample as long as the table length is a power of two in size.  In other w=
ords,
use GEN01 and set the size of the table rather than letting Csound set it=
 to the
actual length of the soundfile, which is rarely a power of two.  At this =
point,
you can index this with something like a sinusoidal sweep that moves thro=
ugh the
file forward, slows to a stop, and then proceeds backwards through the fi=
le,
etc.  If you want angles other than 0, 180, and 260, then you have to mul=
tiply
the outputs of several indexed tables to create a three-dimensional terra=
in (wave
terrain synthesis).  Then you can truly move through a file with any angl=
ed path.

You can read a bit more about this in the Roads Computer Music Tutorial. =
 I also
have a Csound implementation of this instrument that I can dredge up if y=
ou
like.  The one bad thing about this sort of synthesis is that you get a l=
ot of
additional sidebands (especially since it is a bit like synchronized FM w=
ith the
results ring modulating each other---also a bit like waveshaping, dependi=
ng upon
how you index the two (or more) files).  Let me know if this sounds inter=
esting
to you and I will post the wave terrain instrument files again.  It works=
 fairly
well on short samples.  I have yet to find the right (if there are any)
parameters for a good sounding wave terrain synthesis of longer samples.

with warmest regards,
Jon

Jon Christopher Nelson, Director
CEMI: Center for Experimental Music and Intermedia
University of North Texas College of Music
PO Box 311367
Denton, TX 76203-1367
ph. (940) 369-7531
fax (940) 565-2002
jnelson@sndart.cemi.unt.edu



Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa28471;
          21 Mar 99 21:24 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 10OpiH-0002YR-00; Sun, 21 Mar 1999 21:24:53 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA12882); Sun, 21 Mar 1999 21:23:37 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Sun, 21 Mar 1999 21:23:18 GMT
Received: from root@icemserv-gw.folkwang.uni-essen.de [132.252.170.245] by hermes via ESMTP (VAA07595); Sun, 21 Mar 1999 21:23:17 GMT
Received: from localhost (neuhaus@localhost) by icemserv.folkwang.uni-essen.de (8.8.8/8.7.3) with SMTP id VAA01498; Sun, 21 Mar 1999 21:27:10 +0100 (CET)
Date: Sun, 21 Mar 1999 21:27:09 +0100 (CET)
From: Thomas Neuhaus 
To: Blake Markle 
cc: "csound@maths.ex.ac.uk" 
Subject: Re: hetro/adsyn
In-Reply-To: <36F4022C.2D326F22@po-box.mcgill.ca>
Message-ID: 
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

On Sat, 20 Mar 1999, Blake Markle wrote:

> Good day fellow Csounders,
> 
> We're still getting bad quality resynthesis using Hetro/adsyn.  We are
> analyzing a sustained piano note in hetro, and resynthesizing it with
> adsyn.  Even with many (50+) harmonics included and many (1024)
> amplitude breakpoints checked, we get bad transient response (attack)
> and distortion.  We have an "owl" sounding hoot in the attack and lots
> of high frequency noise distortion.
> 
> We are using the latest csound edition (csound_con.zip) with winsound
> for the adsyn process.  The file format is wav.  We would welcome any
> wisdom on the subject.  If it is possible to create a reasonably
> realistic analysis/resynthesis, please let us know.
> 


The effect you experience is normal due to the nature of hetrodyning
analysis and additive resynthesis. First the attack portion contains a
lot of noise which cannot be reproduced by only 50+ partials, second the
partials of a piano sound are not exactly harmonic overtones. A high
quality resynthesis should usa a dual approach such as additive synthesis
for the steady part and subtractive (filtered noise) for the residual
part.

For a good discussion of the subject see

Musical sound modelling using sinusoids plus noise
in
Musical Signal Processing edited by C. Roads et al
Swets and Zeitlinger Publishers
ISBN 90-265-1483-2


Hope that helps

Thomas


 --
Thomas Neuhaus(neuhaus@folkwang.uni-essen.de) Phone (49)-201-4903-333
ICEM Institut fuer Computermusik und elektronische Medien
Folkwang-Hochschule Essen, Klemensborn 39, D-49239 Essen  
-------------------------------------------------------------------------------
UNIX _is_ user-friendly. It just knows who its friends are.





Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa28477;
          21 Mar 99 21:25 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 10Opip-0002YT-00; Sun, 21 Mar 1999 21:25:27 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA06921); Sun, 21 Mar 1999 21:23:30 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Sun, 21 Mar 1999 21:23:10 GMT
Received: from root@icemserv-gw.folkwang.uni-essen.de [132.252.170.245] by hermes via ESMTP (VAA14203); Sun, 21 Mar 1999 21:23:08 GMT
Received: from localhost (neuhaus@localhost) by icemserv.folkwang.uni-essen.de (8.8.8/8.7.3) with SMTP id VAA01604; Sun, 21 Mar 1999 21:54:33 +0100 (CET)
Date: Sun, 21 Mar 1999 21:54:33 +0100 (CET)
From: Thomas Neuhaus 
To: SONICMAN 
cc: Csound Q&A list 
Subject: Re: Using a C/C++ compiler to make sco's?
In-Reply-To: <36E5072E.198659BC@att.net>
Message-ID: 
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

On Tue, 9 Mar 1999, SONICMAN wrote:

> Using a C/C++ compiler to make sco's?
> 
>     How do I use a C/C++ compiler to generate scores? This has been
> recommended many times. Are there any tutorials out there on this? Any
> examples?
> Send 'em over.
> 
> Thanks,
> SONICMAN=out
> 
> 

get
ftp://ftp.folkwang.uni-essen.de/pub/unix/src/ppp-composition/oldversion_and_converters.tar.gz 

Beside a small programm for algorithmic composition you'll find a small
programm called csc to produce csound-scores from the output of this
composition program You'll find there as well a programm called mc that
produces MIDI standard files from the same output

(makefiles are csc.m and mc.m respectively)

have fun

Thomas


--
Thomas Neuhaus(neuhaus@folkwang.uni-essen.de) Phone (49)-201-4903-333
ICEM Institut fuer Computermusik und elektronische Medien
Folkwang-Hochschule Essen, Klemensborn 39, D-49239 Essen  
-------------------------------------------------------------------------------
UNIX _is_ user-friendly. It just knows who its friends are.





Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa28487;
          21 Mar 99 21:30 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 10OpnC-0006Kq-00; Sun, 21 Mar 1999 21:29:58 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA16350); Sun, 21 Mar 1999 21:23:18 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Sun, 21 Mar 1999 21:23:03 GMT
Received: from root@icemserv-gw.folkwang.uni-essen.de [132.252.170.245] by hermes via ESMTP (VAA10019); Sun, 21 Mar 1999 21:23:02 GMT
Received: from localhost (neuhaus@localhost) by icemserv.folkwang.uni-essen.de (8.8.8/8.7.3) with SMTP id WAA01665; Sun, 21 Mar 1999 22:23:56 +0100 (CET)
Date: Sun, 21 Mar 1999 22:23:56 +0100 (CET)
From: Thomas Neuhaus 
To: Rosati 
cc: csound@maths.ex.ac.uk
Subject: Re: Balancing loudness
In-Reply-To: <017201be6f2a$94afa080$876eedcf@dante>
Message-ID: 
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

On Mon, 15 Mar 1999, Rosati wrote:

> Greetings-
> 
> If, for example, a sine tone was gliss. from 64 to 20000 cps at a constant
> amplitude, it  appears to get louder as the pitch increases. Does anyone
> know what is the easiest way to balance this so that loudness remains
> constant across the frequency spectrum?

Our ears respond quite nonlinear to different frequencies. the appropriate
functions can be found in any good book on acoustics 
(like D.E. Hall: Musical Acoustics 
1991 Brooks/Cole Publishing Co. Pacific Grove
CA)

So put these curves into wavetables indexed by desired loudness and
frequency respectively. This is not an allto easy way but seems to me a
correct one :-)

Hope that helps

Thopmas

--
Thomas Neuhaus(neuhaus@folkwang.uni-essen.de) Phone (49)-201-4903-333
ICEM Institut fuer Computermusik und elektronische Medien
Folkwang-Hochschule Essen, Klemensborn 39, D-49239 Essen  
-------------------------------------------------------------------------------
UNIX _is_ user-friendly. It just knows who its friends are.





Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa28668;
          21 Mar 99 23:20 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 10OrWZ-0002a2-00; Sun, 21 Mar 1999 23:20:55 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (XAA15465); Sun, 21 Mar 1999 23:11:34 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Sun, 21 Mar 1999 23:11:22 GMT
Received: from jaguars-int.cableinet.net [193.38.113.9] by hermes via SMTP (XAA14454); Sun, 21 Mar 1999 23:11:21 GMT
Received: (qmail 2820 invoked from network); 21 Mar 1999 23:07:52 -0000
Received: from unknown (HELO cableinet.co.uk) (194.117.146.33)
  by jaguars with SMTP; 21 Mar 1999 23:07:52 -0000
Message-ID: <36F57E05.4D7E5D12@cableinet.co.uk>
Date: Sun, 21 Mar 1999 23:17:25 +0000
From: Richard Dobson 
Organization: Composers Desktop Project
X-Mailer: Mozilla 4.51 [en] (WinNT; I)
X-Accept-Language: en
MIME-Version: 1.0
To: "csound@maths.ex.ac.uk" 
Subject: Re: hetro/adsyn
References: 
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk



Thomas Neuhaus wrote:

> 
> The effect you experience is normal due to the nature of hetrodyning
> analysis and additive resynthesis. First the attack portion contains a
> lot of noise which cannot be reproduced by only 50+ partials, second the
> partials of a piano sound are not exactly harmonic overtones. A high
> quality resynthesis should usa a dual approach such as additive synthesis
> for the steady part and subtractive (filtered noise) for the residual
> part.

The original stated problem mentioned high frequency distortion - which
does not sound like the 'normal' output of adsyn. Adsyn can actually get
remarkably close to the original - I have analysed a male voice speech
sound, and the only significant difference is indeed that the sibilant
consonants are less 'noisy' - but then I only used 80 partials.

'High quality resynthesis' may not always be the goal (though it is an
important test of an algorithm); for example, I would like to have some
means in Csound to apply non-linear warping of the partial frequencies
of an adsyn file.  

Also, as far as I am concerned, HQR is only a valid test if it is easily
achievable with the technique. I have Xavier Serrra's Windows
implementation of SMS, and it has easily the most complex, non-intuitive
and arcane parameter interface I have ever seen, or wish to see. The one
thing I have never managed to achieve with it is a clean resynthesis! If
someone can tell me how to do that, I may look at it again.

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 aa29441;
          22 Mar 99 6:52 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 10OyZa-0002jA-00; Mon, 22 Mar 1999 06:52:30 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (GAA04530); Mon, 22 Mar 1999 06:44:13 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Mon, 22 Mar 1999 06:44:02 GMT
Received: from mailhub.unibe.ch [130.92.254.109] by hermes via ESMTP (GAA06986); Mon, 22 Mar 1999 06:44:01 GMT
Received: from iamexwi.unibe.ch (haegar.unibe.ch [130.92.71.10])
 by mailhub.unibe.ch (PMDF V5.2-29 #33079)
 with ESMTP id <0F8Z00F3GHCP3D@mailhub.unibe.ch> for csound@maths.ex.ac.uk;
 Mon, 22 Mar 1999 07:43:37 +0100 (MET)
Received: from klee.iamexwi.unibe.ch (klee [130.92.63.36])
	by iamexwi.unibe.ch (8.8.8+Sun/8.8.8) with ESMTP id HAA10561	for
 ; Mon, 22 Mar 1999 07:43:38 +0100 (MET)
Received: by klee.iamexwi.unibe.ch (8.8.8+Sun/SMI-SVR4)	id HAA22670; Mon,
 22 Mar 1999 07:43:35 +0100 (MET)
Date: Mon, 22 Mar 1999 07:43:35 +0100 (MET)
From: Thomas Huber 
Subject: Re: Second thoughts
To: csound@maths.ex.ac.uk
Message-id: <199903220643.HAA22670@klee.iamexwi.unibe.ch>
X-Sun-Charset: US-ASCII
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

> 	So my question would be, should I give up on CSound and just use CakeWalk?

Hi Bill,

What about using Csound as MIDI-Synthesizer ? That's what I am doing, and
it's working quite good. So you don't have to fiddle with csound's score
language. But for good realtime response, you should have 2 computers,
one (the slower one) running CakeWalk (i.e.), and one running csound (I'm using a
PentiumII/350MHz for that and it's fast enough), and you then connect the
two with a MIDI cable. I also bought a Kawai K6000 MIDI controller box with
16 knobs. As you can read out the controller values with csound, you can
modify the sounds in realtime, just like with an Analog Synthesizer (cooool..)



Thomas


Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa29860;
          22 Mar 99 9:32 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 10P14M-0002o7-00; Mon, 22 Mar 1999 09:32:26 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (JAA06626); Mon, 22 Mar 1999 09:24:43 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Mon, 22 Mar 1999 09:24:26 GMT
Received: from hawk.glasnet.ru [193.124.5.50] by hermes via ESMTP (JAA03579); Mon, 22 Mar 1999 09:24:11 GMT
Received: from mail.glasnet.ru([193.124.5.37]) (1180 bytes) by hawk.glasnet.ru
	via sendmail with P:esmtp/R:inet_hosts/T:inet_zone_smtp
	(sender: ) 
	id 
	for ; Mon, 22 Mar 1999 12:24:10 +0300 (WSU)
	(Smail-3.2.0.104 1998-Nov-20 #2 built 1998-Nov-27)
Received: from default(src addr [194.154.91.48]) (800 bytes) by mail.glasnet.ru
	via sendmail with P\:esmtp/R:smart_host/T:smtp
	(sender: ) 
	id 
	for ; Mon, 22 Mar 1999 12:23:52 +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: DRUM KEY EXCLUSIVE GROUPS
Date: Mon, 22 Mar 1999 12:23:35 +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!

I asked about it already but did not get any answer.
Say, I need to construct "hi-hat" using loscil and
two audio files "opened_hi-hat.aif" and "closed_hi-hat.aif".
How better to provide turnoff of "opened" note if  "closed" note
begins to play? I mean working with MIDI, of course.

Thanks in advance,


Sergey Batov   batov@glasnet.ru


Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa02053;
          22 Mar 99 10:30 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 10P1yl-0006kN-00; Mon, 22 Mar 1999 10:30:44 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (KAA10482); Mon, 22 Mar 1999 10:19:20 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Mon, 22 Mar 1999 10:19:06 GMT
Received: from jaguars-int.cableinet.net [193.38.113.9] by hermes via SMTP (KAA06038); Mon, 22 Mar 1999 10:19:05 GMT
Received: (qmail 25107 invoked from network); 22 Mar 1999 10:15:35 -0000
Received: from unknown (HELO cableinet.co.uk) (194.117.146.172)
  by jaguars with SMTP; 22 Mar 1999 10:15:35 -0000
Message-ID: <36F61A87.54798E7B@cableinet.co.uk>
Date: Mon, 22 Mar 1999 10:25:11 +0000
From: Richard Dobson 
Organization: Composers Desktop Project
X-Mailer: Mozilla 4.51 [en] (WinNT; I)
X-Accept-Language: en
MIME-Version: 1.0
To: csound@maths.ex.ac.uk
Subject: Re: DRUM KEY EXCLUSIVE GROUPS
References: 
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Exactly how do you want to do this with MIDI? The usual behaviour in all
the MIDI drumkits I have come across (which, admittedly, is not a lot),
the two sounds are simply provided under separate MIDI notes; it it up
to the player and/or sequencer to send a NOTE OFF command to the open
hihat sound, before NOTE ON is sent to the closed sound. In other words,
under MIDI it is possible to play both sounds together. What would you
actually want to happen in that circumstance (recalling that as MIDI is
serial, one instrument will actually be triggered before the other)?

The one way of doing what you want in MIDI would be to set up the
machine to play in MONO Mode, in which each note is replaced by the next
one. The parallel to this in Csound is to write a 'legato' instrument,
using the 'negative p3' system - the 'data space' of the open hihat will
be taken over by whatever you want - the closed hihat in this instance.
You would have to do come fiddly around to avoid glitches at the
changeover. In any case, this may not be an option driving Csound by
MIDI if, as I suspect, you can't send a Mode Change command to Csound.

An alternative might be to store both sounds in one file, and modify the
indexing point into them in the instrument. Using MIDI, you would then
need to use something like the Pitchbend or Modulation Wheel to send the
control signal to the instrument to change from open to closed.

...which is all getting rather fiddly. I think I would stay with the
usual MIDI behaviour and develop my stick technique!

Richard Dobson

Sergey Batov wrote:
> 
> Hi, Csounders!
> 
> I asked about it already but did not get any answer.
> Say, I need to construct "hi-hat" using loscil and
> two audio files "opened_hi-hat.aif" and "closed_hi-hat.aif".
> How better to provide turnoff of "opened" note if  "closed" note
> begins to play? I mean working with MIDI, of course.
> 
> Thanks in advance,
> 
> Sergey Batov   batov@glasnet.ru

-- 
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 aa02841;
          22 Mar 99 11:28 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 10P2sS-0006nC-00; Mon, 22 Mar 1999 11:28:16 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (LAA15082); Mon, 22 Mar 1999 11:12:33 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Mon, 22 Mar 1999 11:12:07 GMT
Received: from exim@wallace.maths.bath.ac.uk [138.38.100.104] by hermes via ESMTP (LAA16190); Mon, 22 Mar 1999 11:12:06 GMT
Received: from [138.38.99.25] (helo=maths.Bath.AC.UK ident=mmdf)
	by wallace.maths.bath.ac.uk with smtp (Exim 1.92 #2)
	for csound@maths.ex.ac.uk
	id 10P2cs-00035G-00; Mon, 22 Mar 1999 11:12:10 +0000
Date:     Mon, 22 Mar 99 11:12:09 GMT
From: jpff@maths.bath.ac.uk
Subject:  Version 3.53
To: csound@maths.ex.ac.uk
Message-Id: 
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Message written at 21 Mar 1999 18:00:13 +0000

I have started the process to place v3.53 on the servers.  I attach
shortened release notes.  I have built versions for Windows, Console
mode, DOS, Linux and SGI, and am about to build Mac/68K.  

This is mainly some bug fixes, but there are three new opcodes (nested
allpass, lorenz system and a pitch-tracker) and a number of small
language changes.  peakk is renamed peak (incompatible change).

There are still some outstanding bugs; i have not finished
investigating all the physical model problems (mandol is apparently
bust for example) but i think the time has come for the other fixes to
hit the streets.

I will be away for over 2 weeks around western Easter, so I do not
expect to have fixes for the known problems until mid April at the
earliest. 

==John ffitch

------------------------------------------------------------------------
Release Notes for 3.53
======================

These are the release notes for version 3.53.  

Bug Fixes
---------

In vdelay it was possible for an error on wrapping the delay

(PC only) the shaker opcode did not work due to a file transfer
failure.

envlpxr could cause a crash due to a typing error

Bug in wgflute which caused silent notes eliminated

Bug in diskin/soundin fixed

cpsmidi nolonger attempts to track pitchbend

Language Changes
----------------

Internal changes to NeXT added in many places (thanks to Stephen Brandon)

Strings are now recognised in scores for a large number fo opcodes
(convolve, adsyn, diskin, soundin, pvoc etc. 

ftlen upgraded so it works with deferred function tables (it loads the
file) 

opcode ondur/ondur2 renamed to noteondur/noteondur2.

peakk renamed peak (with internal discrimination)

Inside [] in the score the form ~ will give a randon number in the
range 0 to 1.


Opcode Fixes
------------

ftsr -- this opcode/function got lost at some stage, mea culpa

mandol -- not accepts a negative base-frequency to skip initialisation

In various wg opcodes, if minimum frequency is not given and the
frequency is a k-rate value, instead of an error, a minimum of 50Hz is
assumed with a warning 

New Opcodes 
-----------

nestedap -- nested allpass filters

lorenz -- ode generator

pitch -- a spectrum-based pitch-tracker

Other Changes:
-------------

internal coding improvements; faster operation on Windows.

------------------------------------------------------------------------
==John ff
  1999 Spring Equinox
========================================================================




Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa02868;
          22 Mar 99 11:39 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 10P33f-00037S-00; Mon, 22 Mar 1999 11:39:51 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (LAA17738); Mon, 22 Mar 1999 11:12:29 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Mon, 22 Mar 1999 11:12:03 GMT
Received: from exim@wallace.maths.bath.ac.uk [138.38.100.104] by hermes via ESMTP (LAA14893); Mon, 22 Mar 1999 11:12:02 GMT
Received: from [138.38.99.25] (helo=maths.Bath.AC.UK ident=mmdf)
	by wallace.maths.bath.ac.uk with smtp (Exim 1.92 #2)
	for csound@maths.ex.ac.uk
	id 10P2co-000355-00; Mon, 22 Mar 1999 11:12:06 +0000
Date:     Mon, 22 Mar 99 11:12:02 GMT
From: jpff@maths.bath.ac.uk
Subject:  Version 3.53
To: csound@maths.ex.ac.uk
Message-Id: 
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Message written at 21 Mar 1999 17:54:39 +0000

I have started the process to place v3/53 on the servers.  I attach
shortened release notes.
==John ffitch

------------------------------------------------------------------------
Release Notes for 3.53
======================

These are the release notes for version 3.53.  

Bug Fixes
---------

In vdelay it was possible for an error on wrapping the delay

(PC only) the shaker opcode did not work due to a file transfer
failure.

envlpxr could cause a crash due to a typing error

Bug in wgflute which caused silent notes eliminated

Bug in diskin/soundin fixed

cpsmidi nolonger attempts to track pitchbend

Language Changes
----------------

Internal changes to NeXT added in many places (thanks to Stephen Brandon)

Strings are now recognised in scores for a large number fo opcodes
(convolve, adsyn, diskin, soundin, pvoc etc. 

ftlen upgraded so it works with deferred function tables (it loads the
file) 

opcode ondur/ondur2 renamed to noteondur/noteondur2.

peakk renamed peak (with internal discrimination)

Inside [] in the score the form ~ will give a randon number in the
range 0 to 1.


Opcode Fixes
------------

ftsr -- this opcode/function got lost at some stage, mea culpa

mandol -- not accepts a negative base-frequency to skip initialisation

In various wg opcodes, if minimum frequency is not given and the
frequency is a k-rate value, instead of an error, a minimum of 50Hz is
assumed with a warning 

New Opcodes 
-----------

nestedap -- nested allpass filters

lorenz -- ode generator

pitch -- a spectrum-based pitch-tracker

Other Changes:
-------------


Windows GUI Changes
-------------------



------------------------------------------------------------------------
==John ff
  1999 Spring Equinox
========================================================================
nestedap implements three different nested all-pass filters useful for
implementing reverbs.

aout nestedap asig, imode, imaxdelay, idelay1, igain1 [, idelay2, igain2,
                                                         idelay3, igain3]

Mode 1 is a simple all-pass filter:

   __d1,g1__
  |         |
  v         v
------------->

Mode 2 is a single nested all-pass filter:

   __d1,g1____
  |  _d2,g2_  |
  | |       | |
  v v       v v
---------------->

Mode 3 is a double nested all-pass filter:

   __d1,g1______________
  |  _d2,g2_   _d3,g3_  |
  | |       | |       | |
  v v       v v       v v
-------------------------->

Note imaxdelay is not currently used but will be necessary if k-rate delay
is implemented.

Example:
instr 5
  insnd     =           p4
  gasig     diskin      insnd, 1
endin 

instr 10
  imax      =           1
  idel1     =           p4
  igain1    =           p5
  idel2     =           p6
  igain2    =           p7
  idel3     =           p8
  igain3    =           p9
  idel4     =           p10
  igain4    =           p11
  idel5     =           p12
  igain5    =           p13
  idel6     =           p14
  igain6    =           p15
  afdbk     init        0

  aout1     nestedap    gasig+afdbk*.4, 3, imax, idel1, igain1, idel2, igain2, idel3,    igain3      
  aout2     nestedap    aout1, 2, imax, idel4, igain4, idel5, igain5
  aout      nestedap    aout2, 1, imax, idel6, igain6
  afdbk     butterlp    aout, 1000

            outs        gasig+(aout+aout1)/2, gasig-(aout+aout1)/2
  gasig     =           0
endin 
f1 0 8192 10 1

; Diskin
;   Sta  Dur  Soundin
i5  0    3    1

; Reverb
;   Sta  Dur  Del1 Gain1 Del2 Gain2  Del3 Gain3 Del4 Gain4 Del5 Gain5 Del6 Gain6
i10 0    4    97   .11   23   .07    43   .09   72   .2    53   .2    119  .3

------------------------------------------------------------------------
lorenz implements the lorenz system of equations:

ax, ay, az lorenz ksv, krv, kbv, kh, ix, iy, iz, iskip

instr 20
  ksv       =           p4
  krv       =           p5
  kbv       =           p6

  ax, ay,az lorenz      ksv, krv, kbv, .01, .6, .6, .6, 1
            outs        ax*1000, ay*1000
endin 

; Lorenz system
;   Sta  Dur  S   R  V
i20 5    1    10  28  2.667
------------------------------------------------------------------------
pitch is a spectrum-based pitch tracker

koct, kamp  pitch asig, iupdte, ilo, ihi, idbthresh[, ifrqs, iconf, istrt,
                   iocts, ifrqs, iq, inptls, irolloff, istor]

The input signal is analysed to give a pitch/amplitude pair for the
strongest pitch in the signal.   The value is updates every iupdte
seconds.

INITIALISATION

ilo, ihi -- range in which pitch is detected (as decimal octaves)

idbthresh -- energy level in decibells necessary for pith to be
detected.  Once started it continues until it is 6bd down

iconf -- the number of conformations needed for an octave jump.
Default value is 10

istrt -- starting pitch for tracker, defaults to average of ilo and
ihi.

iocts -- number of octave decimations in spectrum, defaulting to 6

ifrqs -- number of divisons of an octave, defaults to 12 and is
limited to 120

iq -- Q rate of analysis, dafaulting to 10

inptls, irolloff -- number of harmonic partials used in matching.
Defaulst to 4 and 0.6

istor -- is none zero skips initialisation

PERFORMANCE

Using the same techniques as spectrum and specptrk estimates the pitch
of the signal.  Pitch is reported in decimal octave form, and
amplitude in db

While the default settings are reasonable for general use, some
experimentation may be necessary for complex sounds.
------------------------------------------------------------------------





Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa04086;
          22 Mar 99 12:22 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 10P3iN-0003Ak-00; Mon, 22 Mar 1999 12:21:55 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (LAA07209); Mon, 22 Mar 1999 11:59:22 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Mon, 22 Mar 1999 11:59:06 GMT
Received: from exim@wallace.maths.bath.ac.uk [138.38.100.104] by hermes via ESMTP (LAA02942); Mon, 22 Mar 1999 11:59:05 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 10P3MI-00039F-00; Mon, 22 Mar 1999 11:59:06 +0000
From: jpff@maths.bath.ac.uk
To: jmdbrady@club-internet.fr
CC: csound@maths.ex.ac.uk
In-reply-to: <36F38AB4.BDF4865F@club-internet.fr> (message from Jean-Michel
	DARRMONT on Sat, 20 Mar 1999 11:47:02 +0000)
Subject: Re: wgpluck2
References:  <36F38AB4.BDF4865F@club-internet.fr>
Date: Mon, 22 Mar 99 11:59:04 GMT
Source-Info:  From (or Sender) name not authenticated.
Message-Id: 
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

>>>>> "Jean-Michel" == Jean-Michel DARRMONT  writes:

 Jean-Michel> Hi CSounders,
 Jean-Michel> wgpluck2 sounds really great!
 Jean-Michel> Just a small disapointment: 
 Jean-Michel> pitch is not a k argument. 
 Jean-Michel> How is it possible to vary pitch at krate for making
 Jean-Michel> vibratos, bends, slurs etc.... 
 Jean-Michel> It would bring live to it.

Yes it would be nice.  I am not sure I know how to do it though.  I
might look at it soon.  There is a strange problem with wgpluck2 as it
does not use fractional delay lines, but rather oversamples.  This
gives some tuning problems and also non-continuity in the sound
quality.

==JOhn