electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » How-tos » Ambiophonic Sound Reproduction
Ambiophonic encoder - RACE algorithm
Post new topic   Reply to topic
Page 1 of 4 [90 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Goto page: 1, 2, 3, 4 Next
Author Message
mosc
Site Admin


Joined: Jan 31, 2003
Posts: 18197
Location: Durham, NC
Audio files: 212
G2 patch files: 60

PostPosted: Tue Jan 23, 2007 12:42 pm    Post subject: Ambiophonic encoder - RACE algorithm
Subject description: Anyone interested in coding this
Reply with quote  Mark this post and the followings unread

Note: this topic was originally in the Chuck programming language forum but I moved it here.

Ambiophonic stereo is a significantly better form of stereo than conventional placement of 60 degree speakers. There is already much literature about ambiophonic sound, see http://www.ambiophonics.org/ for starters. I have participated in many experiments with Robin Miller and I love the sound. You get a very much wider stereo field and no hole in the middle feeling.

Robin has developed a pretty simple algorithm for the ambiophonic phase cancelation encoding. Attached here is a diagram. It seems that ChucK would be a natural environment for developing a ambiophonic encoder. I would love to do it by I'm unable to work on this until the Fall. Would anyone care to take a shot a coding up a Chuck encoder?

It would be great if the left and right attenuate and delay values could be ganged and controlled by a MIDI controller.

UPDATE (April 7, 2008): With apologies, I have updated the diagram of the RACE Ambiophonics encoder. The previous version was incorrect. This one has been tested and works very well. The specs of the filter are bandpass 500 Hz to 5000 Hz. 12 dB/8va works well, but other values of selectivity can be used as convenient. The delay is best between 60 and 80 microseconds. Experiment has shown that 68 µsec is perhaps ideal.


ambio-race.png
 Description:
RACE Ambiophonic phase canceling encoder block diagram. Version 2 updated Apr 7, 2008
 Filesize:  28.41 KB
 Viewed:  1225 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

ambio-race.png



_________________
--Howard
my music and other stuff

Last edited by mosc on Wed Jul 30, 2008 8:25 pm; edited 5 times in total
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
deknow



Joined: Sep 15, 2004
Posts: 1307
Location: Leominster, MA (USA)
G2 patch files: 15

PostPosted: Tue Jan 23, 2007 1:03 pm    Post subject: Reply with quote  Mark this post and the followings unread

howard, am i missing something here? wouldn't this be cake to do with the g2?

deknow
Back to top
View user's profile Send private message Send e-mail
blue hell
Site Admin


Joined: Apr 03, 2004
Posts: 24079
Location: The Netherlands, Enschede
Audio files: 278
G2 patch files: 320

PostPosted: Tue Jan 23, 2007 1:21 pm    Post subject: Reply with quote  Mark this post and the followings unread

deknow wrote:
wouldn't this be cake to do with the g2?


the 60 .. 120 us is a bit short for the delay modules, only possible in-range value is 90 us, so there is not much room for fine tuning.

Here is a proposal anyway, untested.

Edit : uploaded a new version to reflect Howard's changes.


ambi_002.pch2
 Description:
ambi demo - new version

Download
 Filename:  ambi_002.pch2
 Filesize:  1.46 KB
 Downloaded:  2902 Time(s)


_________________
Jan
also .. could someone please turn down the thermostat a bit.
Posted Image, might have been reduced in size. Click Image to view fullscreen.

Last edited by blue hell on Mon Apr 07, 2008 4:28 pm; edited 2 times in total
Back to top
View user's profile Send private message Visit poster's website
mosc
Site Admin


Joined: Jan 31, 2003
Posts: 18197
Location: Durham, NC
Audio files: 212
G2 patch files: 60

PostPosted: Tue Jan 23, 2007 1:52 pm    Post subject: Reply with quote  Mark this post and the followings unread

deknow wrote:
howard, am i missing something here? wouldn't this be cake to do with the g2?


The G2 can do this to some degree, and I have done a patch that works like Jan's but a little differently, but one has to have a G2. We need a good simple solution that runs without dedicated hardware. I thought ChucK would be ideal.

_________________
--Howard
my music and other stuff
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 7678
Location: The Hague, NL
G2 patch files: 3

PostPosted: Tue Jan 23, 2007 1:55 pm    Post subject: Re: Ambiophonic encoder
Subject description: Anyone interested in coding this
Reply with quote  Mark this post and the followings unread

mosc wrote:
Would anyone care to take a shot a coding up a Chuck encoder?


Hmmmm, that's micro second, right? a milionth of a second? The patch itself would be trivial but I'm not at all sure about micro second delays since the feedback loop itself would mean one sample of delay already which is already roughly 23 micro seconds at cd quality. I looks like the interpolating delays that can take fractional lengths like DelayA and DelayL should be capable of this sort of thing but the manual warns about "high-frequency signal attenuation to varying degrees depending on the fractional delay setting." which might affect stereo perception and which I bet will have a pritty large effect on moving sound sources.

It would also need a fairly elaborate controll structure to generate parameters and moving soundsources would demand interpolation of controller-data.

Isn't there a Csound opcode that's specialised for this?

_________________
Kassen
Back to top
View user's profile Send private message Send e-mail Visit poster's website
mosc
Site Admin


Joined: Jan 31, 2003
Posts: 18197
Location: Durham, NC
Audio files: 212
G2 patch files: 60

PostPosted: Tue Jan 23, 2007 2:01 pm    Post subject: Reply with quote  Mark this post and the followings unread

I don't have much experience with CSound either.

With the G2, on can generate a 48 KHz clock and that has a period of about 21 usec which gives 60, 80, and 90 usec delays which it useful. Experience is that 70 to 80 is the best value - depends a bit on your head dimensions and on the speaker setup.

Kassen, can't you run ChucK at 96 KHz?

_________________
--Howard
my music and other stuff
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
elektro80
Site Admin


Joined: Mar 25, 2003
Posts: 21959
Location: Norway
Audio files: 14

PostPosted: Tue Jan 23, 2007 2:15 pm    Post subject: Reply with quote  Mark this post and the followings unread

Where is Dr. Justice?

This seems like something for the Soundart Chameleon DSP
Posted Image, might have been reduced in size. Click Image to view fullscreen.

_________________
A Charity Pantomime in aid of Paranoid Schizophrenics descended into chaos yesterday when someone shouted, "He's behind you!"

MySpace
SoundCloud
Flickr
Back to top
View user's profile Send private message Visit poster's website
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 7678
Location: The Hague, NL
G2 patch files: 3

PostPosted: Tue Jan 23, 2007 2:16 pm    Post subject: Reply with quote  Mark this post and the followings unread

mosc wrote:
I don't have much experience with CSound either.


I'm fairly certain it has specialised tools for this. Perhaps the main advantage of those would be that they take straightforward parameters with regard to the direction of the sound.


Quote:
With the G2, on can generate a 48 KHz clock and that has a period of about 21 usec which gives 60, 80, and 90 usec delays which it useful. Experience is that 70 to 80 is the best value - depends a bit on your head dimensions and on the speaker setup.


Yeah, those are within that range but HEAVILY quantised which translates directly to quantisiation of the directions a sound can come from.

Quote:
Kassen, can't you run ChucK at 96 KHz?


Yes, no problem. When rendering off line I think ChucK can actually run at arbitrary bitrates though obviously playback of such files would be impossible on most DAC's and going into the MHz range would result in very large files as well as lots of render-time but I do think it's possible. I'd have to try how well those interpolationg fractional delays hold up on this sort of aplication. Maybe they would be fine at 96KHz. Another question would be how to generate the controler data, is there literature on this?

I for one am not going to be able to dive deeply into this in the next month because my curent project is already complicated enough and has a deadline.

It might be nice to port/borow the Csound upcode for this. That one could be a very nice match for some of the accoustical models that ChucK borows from the STK.

_________________
Kassen
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 7678
Location: The Hague, NL
G2 patch files: 3

PostPosted: Tue Jan 23, 2007 2:21 pm    Post subject: Reply with quote  Mark this post and the followings unread

elektro80 wrote:
Where is Dr. Justice?



Well; invite him over!

_________________
Kassen
Back to top
View user's profile Send private message Send e-mail Visit poster's website
DrJustice



Joined: Sep 13, 2004
Posts: 2114
Location: Morokulien
Audio files: 4

PostPosted: Tue Jan 23, 2007 8:27 pm    Post subject: Reply with quote  Mark this post and the followings unread

I just caught wind of this thread (thanks elektro80!).

The Chameleon is quite suitable for this kind of thing, but as mosc points out, not everybody has a G2, and much less a Chameleon. However, if there's demand amongst electro-music.com's 2 (?) other Chameleon owners for a Chamy version I'd be happy to write one. Hmmm, perhaps I will even without the demand, just to hear what it's like...

DJ
--
Back to top
View user's profile Send private message Visit poster's website
deknow



Joined: Sep 15, 2004
Posts: 1307
Location: Leominster, MA (USA)
G2 patch files: 15

PostPosted: Tue Jan 23, 2007 11:47 pm    Post subject: Reply with quote  Mark this post and the followings unread

...could synthedit possibly do this? i just downloaded the trial, and it will take a value of .000006 (is that right?), but i don't know if it actually will delay that ammount, or some minimum (the doc says between 0 and 10 sec). it would be nice to have a vst plugin to do this...but my recolection is that there is some minimum delay time (i think i determined this through experementation more than a year ago).

deknow
Back to top
View user's profile Send private message Send e-mail
elektro80
Site Admin


Joined: Mar 25, 2003
Posts: 21959
Location: Norway
Audio files: 14

PostPosted: Wed Jan 24, 2007 12:12 am    Post subject: Reply with quote  Mark this post and the followings unread

DrJustice wrote:
I just caught wind of this thread (thanks elektro80!).

The Chameleon is quite suitable for this kind of thing, but as mosc points out, not everybody has a G2, and much less a Chameleon. However, if there's demand amongst electro-music.com's 2 (?) other Chameleon owners for a Chamy version I'd be happy to write one. Hmmm, perhaps I will even without the demand, just to hear what it's like...

DJ
--


Very Happy

THX! I reckoned this was a reasonably small task for a master of the Chameleon!

_________________
A Charity Pantomime in aid of Paranoid Schizophrenics descended into chaos yesterday when someone shouted, "He's behind you!"

MySpace
SoundCloud
Flickr
Back to top
View user's profile Send private message Visit poster's website
utenzil



Joined: Apr 10, 2006
Posts: 58
Location: maryland

PostPosted: Wed Jan 24, 2007 8:26 am    Post subject: Reply with quote  Mark this post and the followings unread

deknow wrote:
...could synthedit possibly do this? i just downloaded the trial, and it will take a value of .000006 (is that right?), but i don't know if it actually will delay that ammount, or some minimum (the doc says between 0 and 10 sec). it would be nice to have a vst plugin to do this...but my recolection is that there is some minimum delay time (i think i determined this through experementation more than a year ago).

deknow


That's a good question, min delay time-- when I saw this I thought it would be easily done in synthedit as well: what OS(s) does it need to run on?

0.00006 would be 60 usec.

_________________
Utenzil
http://utenzil.com

Last edited by utenzil on Wed Jan 24, 2007 8:53 am; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
deknow



Joined: Sep 15, 2004
Posts: 1307
Location: Leominster, MA (USA)
G2 patch files: 15

PostPosted: Wed Jan 24, 2007 8:30 am    Post subject: Reply with quote  Mark this post and the followings unread

...synthedit only runs on windows (i believe). the interface is very similar to the g2 editor, but the "contraption" can be saved as a vst plugin (but i think the vst only runs on windows as well).

deknow
Back to top
View user's profile Send private message Send e-mail
utenzil



Joined: Apr 10, 2006
Posts: 58
Location: maryland

PostPosted: Wed Jan 24, 2007 10:37 am    Post subject: Reply with quote  Mark this post and the followings unread

deknow wrote:
...synthedit only runs on windows (i believe). the interface is very similar to the g2 editor, but the "contraption" can be saved as a vst plugin (but i think the vst only runs on windows as well).

deknow


Synthedit is definitely windows only. It would be very easy to establish the signal path and modules indicated above in Synthedit, the question would be the ability to do the usec delay.

_________________
Utenzil
http://utenzil.com
Back to top
View user's profile Send private message Visit poster's website
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 7678
Location: The Hague, NL
G2 patch files: 3

PostPosted: Wed Jan 24, 2007 12:17 pm    Post subject: Reply with quote  Mark this post and the followings unread

Ok, Did a quick test and it looks like DelayL in ChucK can be set to .0001ms. When asked it then reports it's length is "0.004800 :(dur)" which is exactly right (it runs at 48KHz on Linux by default).

So; yes, ChucK should be able to do this, I'm not sure wether it'll do it very *well* and I'm also not sure where I'll get those durations or amplification amounts from but it should at least work on a theoretical level. I'd also imagine that any system in the sub-MHz samplerate range will have artifacts with this sort of delay length.

That would make it cross-platform but probably less convenient then a VST for most people.[/u]

_________________
Kassen
Back to top
View user's profile Send private message Send e-mail Visit poster's website
seraph
Editor
Editor


Joined: Jun 21, 2003
Posts: 12398
Location: Firenze, Italy
Audio files: 33
G2 patch files: 2

PostPosted: Wed Jan 24, 2007 12:50 pm    Post subject: Reply with quote  Mark this post and the followings unread

DrJustice wrote:
2 (?) other Chameleon owners

that rings a bell Cool

_________________
homepage - blog - forum - youtube

Quote:
Don't die with your music still in you - Wayne Dyer
Back to top
View user's profile Send private message Visit poster's website
elektro80
Site Admin


Joined: Mar 25, 2003
Posts: 21959
Location: Norway
Audio files: 14

PostPosted: Wed Jan 24, 2007 1:14 pm    Post subject: Reply with quote  Mark this post and the followings unread

seraph wrote:
DrJustice wrote:
2 (?) other Chameleon owners

that rings a bell Cool



Shocked

You only have one bell left?

_________________
A Charity Pantomime in aid of Paranoid Schizophrenics descended into chaos yesterday when someone shouted, "He's behind you!"

MySpace
SoundCloud
Flickr
Back to top
View user's profile Send private message Visit poster's website
utenzil



Joined: Apr 10, 2006
Posts: 58
Location: maryland

PostPosted: Wed Jan 24, 2007 2:25 pm    Post subject: Reply with quote  Mark this post and the followings unread

Kassen wrote:
Ok, Did a quick test and it looks like DelayL in ChucK can be set to .0001ms. When asked it then reports it's length is "0.004800 :(dur)" which is exactly right (it runs at 48KHz on Linux by default).

So; yes, ChucK should be able to do this, I'm not sure wether it'll do it very *well* and I'm also not sure where I'll get those durations or amplification amounts from but it should at least work on a theoretical level. I'd also imagine that any system in the sub-MHz samplerate range will have artifacts with this sort of delay length.

That would make it cross-platform but probably less convenient then a VST for most people.[/u]


Asked around on the KVR forum-- EVM provides a sample delay module for synthedit.

http://www.evmsynths.com/modules.htm

I will try to do something tonight in synthedit.

_________________
Utenzil
http://utenzil.com
Back to top
View user's profile Send private message Visit poster's website
seraph
Editor
Editor


Joined: Jun 21, 2003
Posts: 12398
Location: Firenze, Italy
Audio files: 33
G2 patch files: 2

PostPosted: Wed Jan 24, 2007 2:44 pm    Post subject: Reply with quote  Mark this post and the followings unread

elektro80 wrote:
seraph wrote:
DrJustice wrote:
2 (?) other Chameleon owners

that rings a bell Cool



Shocked

You only have one bell left?

I left the other ones for later use Wink

_________________
homepage - blog - forum - youtube

Quote:
Don't die with your music still in you - Wayne Dyer
Back to top
View user's profile Send private message Visit poster's website
utenzil



Joined: Apr 10, 2006
Posts: 58
Location: maryland

PostPosted: Thu Jan 25, 2007 8:07 am    Post subject: Reply with quote  Mark this post and the followings unread

I put together a synthedit VST and ran across something that makes sense. I did not try the EVM sample based delay, btw, but first used the delay2 module, which accepts a .00006 value.

Within the VST, data is passed between modules as blocks of samples. If you try to introduce a feedback loop (which this schematic does, out of the delays and back to the mixer) you generate an error. You can avoid this error by inserting a 'feedback delay' in the offending feedback path. However, because the blocks are in sizes of 100 samples, inserting this will not permit a delay value of less than 100 samples: I ended up with a kind of tinny sounding flanger as a result. Smile

I'm using a slightly outdated version of synthedit, maybe this behavior has been modified since.

I *did* realize a VST that kludges the signal path: it adds some brightness to the mix by mixing the split, partly inverted, ever so slightly delayed signal with the original signal. When used on the master (stereo) track, the end result is a crisper mix that loses a bit of bass. You can recover the bass by adding a post low end boost, and this technique also seems
to 'de-muddify' the bass as well.

Here is the link to the VST .dll (windows only):

http://utenzil.com/vst/ambiotenzil.dll

(the sample-block information comes from the synthedit help on the topic "Feedback paths" btw).

_________________
Utenzil
http://utenzil.com
Back to top
View user's profile Send private message Visit poster's website
bachus



Joined: Feb 29, 2004
Posts: 2922
Location: Up in that tree over there.
Audio files: 5

PostPosted: Tue Apr 01, 2008 1:22 pm    Post subject: Reply with quote  Mark this post and the followings unread

I just did one in Reaktor, it's here

http://electro-music.com/forum/post-177799.html#177799

_________________
The question is not whether they can talk or reason, but whether they can suffer. -- Jeremy Bentham
Back to top
View user's profile Send private message Visit poster's website
Inventor
Stream Operator


Joined: Oct 13, 2007
Posts: 6221
Location: near Austin, Tx, USA
Audio files: 267

PostPosted: Tue Apr 01, 2008 10:30 pm    Post subject: Reply with quote  Mark this post and the followings unread

I made a ChucK one tonight, attached. Play with the four parameters at the top. Takes input from microphone and you must wear headphones for this one. Needs stereo input. Enjoy!


Ambiophonic1.ck
 Description:
Get your groove on with Ambiophonic enhancement!

Download
 Filename:  Ambiophonic1.ck
 Filesize:  1.16 KB
 Downloaded:  996 Time(s)


_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
bachus



Joined: Feb 29, 2004
Posts: 2922
Location: Up in that tree over there.
Audio files: 5

PostPosted: Wed Apr 02, 2008 4:58 am    Post subject: Reply with quote  Mark this post and the followings unread

Inventor wrote:
I made a ChucK one tonight, attached. Play with the four parameters at the top. Takes input from microphone and you must wear headphones for this one. Needs stereo input. Enjoy!



Ummmm ...... ????? ....... on headphones ...... ????? .......

_________________
The question is not whether they can talk or reason, but whether they can suffer. -- Jeremy Bentham
Back to top
View user's profile Send private message Visit poster's website
Inventor
Stream Operator


Joined: Oct 13, 2007
Posts: 6221
Location: near Austin, Tx, USA
Audio files: 267

PostPosted: Wed Apr 02, 2008 5:16 am    Post subject: Reply with quote  Mark this post and the followings unread

Well the headphones were so that you could say something into the mic and hear the enhanced version much better. For actual use you would hook the inputs up to a stereo source and let it run out the speakers (=> dac;). I just set it up on the mic input for testing.
_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic
Page 1 of 4 [90 Posts]
View unread posts
View new posts in the last week
Goto page: 1, 2, 3, 4 Next
Mark the topic unread :: View previous topic :: View next topic
 Forum index » How-tos » Ambiophonic Sound Reproduction
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use