Csound Csound-dev Csound-tekno Search About

Inter/Extrapolation

Date1999-05-14 14:04
FromAnders Andersson
SubjectInter/Extrapolation
I was thinking..

If one would have unlimited CPU power, wouldn't the best method of
interpolating be to multiply *all* previously known samples with
the sinc-function?

If this is the case, then one could do a 100% correct resampler.

I just saw a notice in a graphic-book (GGems 1?) that
"the best window is the sinc-window"

// Anders



Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa28053;
          14 May 99 14:19 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
	by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
	id 10iHru-0004mE-00
	for jpff@maths.bath.ac.uk; Fri, 14 May 1999 14:19:14 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (OAA06924); Fri, 14 May 1999 14:14:57 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Fri, 14 May 1999 14:14:47 +0100
Received: from ccrma.Stanford.EDU [36.49.0.84] by hermes via ESMTP (OAA04470); Fri, 14 May 1999 14:14:43 +0100 (BST)
Received: from ccrma.stanford.edu ([207.97.74.56])
	by ccrma.stanford.edu (8.8.8/8.8.8) with ESMTP id GAA02353;
	Fri, 14 May 1999 06:14:30 -0700 (PDT)
Message-ID: <373C220F.ADB11E10@ccrma.stanford.edu>
Date: Fri, 14 May 1999 09:15:59 -0400
From: Tobias Kunze 
X-Mailer: Mozilla 4.05C-SGI [en] (X11; I; IRIX 6.5 IP22)
MIME-Version: 1.0
To: Anders Andersson 
CC: The CSound mailinglist 
Subject: Re: Localisation of Csound
References: 
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

> and I just *LOVE* programs that's only one file!

and nouns that's singular, I presume  :)


Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa28842;
          14 May 99 19:28 BST
Received: from [139.130.53.38] (helo=toad.ilogic.com.au ident=postfix)
	by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
	id 10iMhb-0008MX-00
	for jpff@maths.bath.ac.uk; Fri, 14 May 1999 19:28:56 +0100
Received: by toad.ilogic.com.au (Postfix)
	id AE06A25284; Sat, 15 May 1999 04:28:32 +1000 (EST)
Delivered-To: csound-unix-dev-list@toad.ilogic.com.au
Received: by toad.ilogic.com.au (Postfix, from userid 91)
	id 9D863252AF; Sat, 15 May 1999 04:28:32 +1000 (EST)
Delivered-To: csound-unix-dev@ilogic.com.au
Received: from renoir.op.net (renoir.op.net [209.152.193.4])
	by toad.ilogic.com.au (Postfix) with ESMTP id 1609325284
	for ; Sat, 15 May 1999 04:28:28 +1000 (EST)
Received: from op.net (d-bm3-1c.ppp.op.net [209.152.194.92]) by renoir.op.net (o1/$Revision: 1.18 $) with ESMTP id OAA23961; Fri, 14 May 1999 14:28:25 -0400 (EDT)
Received: (from pbd@localhost) by op.net ($Revision: 1.2 $) id OAA09987; Fri, 14 May 1999 14:26:58 -0400
Date: Fri, 14 May 1999 14:26:58 -0400
Message-Id: <199905141826.OAA09987@op.net>
From: Paul Barton-Davis 
To: csound-unix-dev@ilogic.com.au, csound@maths.ex.ac.uk
Subject: [CUD] [quasimodo] release 0.1.3 
Sender: owner-csound-unix-dev@ilogic.com.au
Precedence: bulk

In the usual place. 

     http://www.op.net/~pbd/quasimodo

Here's the NEWS:

Changes in Version 0.1.3
	
	* initial support for SGI hardware
	 
        * -Wall used for compilation: no warnings except for some flex
	  related stuff that is hard to correct, and an unsigned/signed
	  comparison that cannot be avoided in libsoundfile/soundfile.cc.

	* many opcodes ported from Csound (butterworth filters, flanger,
	  ugens3)

	* new envelope opcode added, but not tested. does complex, trigger
	  related enveloping from a function table, with multiple stages
	  and complete arbitrariness.

	* new flanger module (it sounds *cool*; hook up the delay
          input to the LFO)

	* LFO module now has output amplitude of 0-1, making it more
	  useful for control purposes.

	* function table code cleaned up and somewhat rationalized

	* new make.config file, to support platform-specific build
          issues
	  
        * audio hardware related files now in separate library, to
	  make multi-platform stuff easier and cleaner. config.h contains
	  definitions to control which audio HW interfaces are usable,
	  since you can use more than one (eg OSS and ALSA at the same
	  time).

	* new Platform() object to support platform-specific issues.

	* GtkCurve modified to support envelope setting (not complete)

	* many, many bug fixes




Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa28850;
          14 May 99 19:31 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
	by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
	id 10iMkL-0008Ma-00
	for jpff@maths.bath.ac.uk; Fri, 14 May 1999 19:31:45 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (TAA07713); Fri, 14 May 1999 19:28:55 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Fri, 14 May 1999 19:28:42 +0100
Received: from root@renoir.op.net [209.152.193.4] by hermes via ESMTP (TAA02397); Fri, 14 May 1999 19:28:40 +0100 (BST)
Received: from op.net (d-bm3-1c.ppp.op.net [209.152.194.92]) by renoir.op.net (o1/$Revision: 1.18 $) with ESMTP id OAA23961; Fri, 14 May 1999 14:28:25 -0400 (EDT)
Received: (from pbd@localhost) by op.net ($Revision: 1.2 $) id OAA09987; Fri, 14 May 1999 14:26:58 -0400
Date: Fri, 14 May 1999 14:26:58 -0400
Message-Id: <199905141826.OAA09987@op.net>
From: Paul Barton-Davis 
To: csound-unix-dev@ilogic.com.au, csound@maths.ex.ac.uk
Subject: [quasimodo] release 0.1.3 
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

In the usual place. 

     http://www.op.net/~pbd/quasimodo

Here's the NEWS:

Changes in Version 0.1.3
	
	* initial support for SGI hardware
	 
        * -Wall used for compilation: no warnings except for some flex
	  related stuff that is hard to correct, and an unsigned/signed
	  comparison that cannot be avoided in libsoundfile/soundfile.cc.

	* many opcodes ported from Csound (butterworth filters, flanger,
	  ugens3)

	* new envelope opcode added, but not tested. does complex, trigger
	  related enveloping from a function table, with multiple stages
	  and complete arbitrariness.

	* new flanger module (it sounds *cool*; hook up the delay
          input to the LFO)

	* LFO module now has output amplitude of 0-1, making it more
	  useful for control purposes.

	* function table code cleaned up and somewhat rationalized

	* new make.config file, to support platform-specific build
          issues
	  
        * audio hardware related files now in separate library, to
	  make multi-platform stuff easier and cleaner. config.h contains
	  definitions to control which audio HW interfaces are usable,
	  since you can use more than one (eg OSS and ALSA at the same
	  time).

	* new Platform() object to support platform-specific issues.

	* GtkCurve modified to support envelope setting (not complete)

	* many, many bug fixes



Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa00011;
          15 May 99 11:32 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
	by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
	id 10ibkA-0000A7-00
	for jpff@maths.bath.ac.uk; Sat, 15 May 1999 11:32:34 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (LAA16973); Sat, 15 May 1999 11:30:14 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Sat, 15 May 1999 11:29:59 +0100
Received: from f39.hotmail.com [207.82.250.50] by hermes via SMTP (LAA08192); Sat, 15 May 1999 11:29:58 +0100 (BST)
Received: (qmail 44322 invoked by uid 0); 15 May 1999 10:29:27 -0000
Message-ID: <19990515102927.44321.qmail@hotmail.com>
Received: from 195.144.64.98 by wy1lg.hotmail.com with HTTP;
	Sat, 15 May 1999 03:29:27 PDT
X-Originating-IP: [195.144.64.98]
From: david ds 
To: csound@maths.ex.ac.uk
Subject: Fantasy Timbres ?
Date: Sat, 15 May 1999 03:29:27 PDT
Mime-Version: 1.0
Content-type: text/plain; format=flowed;
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Is anyone here specialised in creating special timbres ?
I'm very interested in tricks, tips and such for assembling
especially hybrid, atonal and unusual dronal timbres with unusual
sonic qualities and weird.

What software for win95/98 is available to dynamically experiment
on the spectral level of soundfiles (wav, aiff etc...)
I want to see and modify the inner spectral content of my sounds,
rearrange spectral zones...

I'm getting fed up constructing timbres by filtering sounds into
bands of variable width. Most of the time I can't let the distinct bands 
interact with each other.

David



______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com


Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa00049;
          15 May 99 12:09 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
	by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
	id 10icJa-0005I4-00
	for jpff@maths.bath.ac.uk; Sat, 15 May 1999 12:09:10 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (MAA00924); Sat, 15 May 1999 12:06:52 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Sat, 15 May 1999 12:06:41 +0100
Received: from mta04-acc.tin.it [212.216.176.35] by hermes via ESMTP (MAA07407); Sat, 15 May 1999 12:06:39 +0100 (BST)
Received: from fabiobiz ([212.216.232.175]) by fep04-svc.tin.it
          (InterMail v4.0 201-221-105) with SMTP
          id <19990515110606.BPIZ3147.fep04-svc@fabiobiz>;
          Sat, 15 May 1999 13:06:06 +0200
Message-Id: <4.1.19990515125434.0092e4e0@212.216.176.64>
Message-Id: <4.1.19990515125434.0092e4e0@212.216.176.64>
X-Sender: fabzt@212.216.176.64 (Unverified)
X-Mailer: QUALCOMM Windows Eudora Pro Version 4.1 
Date: Sat, 15 May 1999 12:59:25 +0200
To: Anders Andersson 
From: Fabio Bizzetti 
Subject: Re: Inter/Extrapolation
Cc: csound@maths.ex.ac.uk
In-Reply-To: 
Mime-Version: 1.0
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 MAA07407
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk


Hej pipe :)


At 15.04 14/05/99 +0200, you wrote:
>I was thinking..

Really? Beware, it's dangerous! ;D


>If one would have unlimited CPU power, wouldn't the best method of
>interpolating be to multiply *all* previously known samples with
>the sinc-function?
>
>If this is the case, then one could do a 100% correct resampler.
>
>I just saw a notice in a graphic-book (GGems 1?) that
>"the best window is the sinc-window"
>
>// Anders

I dunno about this specifically, but one other "perfect
interpolation" would be to compute the DFT/FFT of the
whole sample, and then you do the inverse at any point,
thus getting perfect interpolation. That's what I used
(for non realtime uses) and worked perfectly.

This sinc method sounds interesting though, since it is
supposed to be faster (o instead of o*log (FFT case)).
And moreover, doesn't ask you to compute the following
samples either. But maybe.. on a general case, having
the computed FT stored somewhere will be faster to get
random interpolated points at any location, not having
to re-scan the ~whole sample each time. Depends by the
use.

Hejd=E5,
Fabio

Date1999-05-15 11:59
FromFabio Bizzetti
SubjectRe: Inter/Extrapolation
Hej pipe :)


At 15.04 14/05/99 +0200, you wrote:
>I was thinking..

Really? Beware, it's dangerous! ;D


>If one would have unlimited CPU power, wouldn't the best method of
>interpolating be to multiply *all* previously known samples with
>the sinc-function?
>
>If this is the case, then one could do a 100% correct resampler.
>
>I just saw a notice in a graphic-book (GGems 1?) that
>"the best window is the sinc-window"
>
>// Anders

I dunno about this specifically, but one other "perfect
interpolation" would be to compute the DFT/FFT of the
whole sample, and then you do the inverse at any point,
thus getting perfect interpolation. That's what I used
(for non realtime uses) and worked perfectly.

This sinc method sounds interesting though, since it is
supposed to be faster (o instead of o*log (FFT case)).
And moreover, doesn't ask you to compute the following
samples either. But maybe.. on a general case, having
the computed FT stored somewhere will be faster to get
random interpolated points at any location, not having
to re-scan the ~whole sample each time. Depends by the
use.

Hejdå,
Fabio