back to list

[tuning] Tuning list csound pitch bend midi instrument colaboration.

🔗Marcel de Velde <m.develde@...>

1/10/2010 5:30:48 PM

After the recent discussion on what would make the best instrument to assess
tuning systems with in the €100 tuning competition thread, I thought it
would be a good idea to start a new thread on this.
My idea is to create a csound instrument that will play midi files tuned by
pitch bend, and has an ideal timbre to make maximally audible melodic pitch
and harmonic purity/consonance.
I'm seeking opinions on what will make the best timbre for these goals.
And I'm seeking people with csound experience to help write it (as I have
allmost no csound experience).
The idea is offcourse to share this csound instrument with the tuning
community after it is finished.
And I hope it will help people with developing and assessing their tuning
systems, simply because this instrument will make things more audible.

To start off.
I think the timbre should have both odd and even harmonics, like a sawtooth
wave perhaps.
Probably have a different slope for amplitude of harmonics dropoff than a
standard sawtooth, since the sawtooth wave is in my opinion a little bit too
bright which obscures the melodies a bit in many harmonic progressions (it
seems to me). In the other thread a dropoff of 1/n^2 of the harmonics was
mentioned.
Besides playing multi channel pitchbend midi files (like the ones output by
scala), it should repond to midi volume and midi pan for each channel.
The instrument should offcourse make maximal use of pitch bend resolution,
when this is done the pitch bend precision is by far precise enough (can
anybody mention the exact cents precision for +-2semitone pitchbend
resolution?)
The reason I'm saying csound instrument and not supercollider etc is because
csound seems to me to be the most used so far on the tuning list, it's free,
supports both realtime and non realtime rendering with any sample rate, and
is fairly easily learnt and instrument timbre changed etc. It's also fairly
easy to install these days.

So anybody who has any additional ideas on what this instrument should be
like, and anybody who wished to help writing it, let us know!

Marcel

🔗Chris Vaisvil <chrisvaisvil@...>

1/10/2010 8:04:41 PM

What, may I ask, was the instrument Beethoven wrote it for in the first
place?

Choir I thought?

I'd stick with this. After all whatever instrumentation intended by the
composer would seem the natural choice - it would seem to make sense

I thought I read it was possible for csound to drive a vsti - if so, problem
solved.

Chris

On Sun, Jan 10, 2010 at 8:30 PM, Marcel de Velde <m.develde@...>wrote:

>
>
> After the recent discussion on what would make the best instrument to
> assess tuning systems with in the €100 tuning competition thread, I thought
> it would be a good idea to start a new thread on this.
> My idea is to create a csound instrument that will play midi files tuned by
> pitch bend, and has an ideal timbre to make maximally audible melodic pitch
> and harmonic purity/consonance.
>

🔗Marcel de Velde <m.develde@...>

1/10/2010 8:31:42 PM

Hi Chris,

What, may I ask, was the instrument Beethoven wrote it for in the first
> place?
>
> Choir I thought?
>

Nope, trombone quartet.
And choir is horrible for determining pitch imho.

But I see this instrument as more than only for this competition.
I mean seems like it could become a great "reference" instrument for this
list?

>
> I'd stick with this. After all whatever instrumentation intended by the
> composer would seem the natural choice - it would seem to make sense
>

Well I'd love to use a real trombone quartet, or live in the future where
there's a sample library or virtual instrument that has a great sounding
trombone.
But this isn't the case, all sampled trombones and virtual physical modeling
trombones sound horrible. I think I've tried most of them.
And even then, with a real trombone quartet the tuning isn't that obvious.
I've listened to 4 different recording of the drei equale, and all 4
trombone quartets play it different tuning wise. But all sound amaaazing.
Not due to the tuning but due to how great a good trombone quartet sounds.
But the actual tuning they play in, it's pretty hard to hear actually, one
has to listen very very carefully and even then it's hard to tell.
So even a real trombone quartet playing exactly the tuning as is in the midi
files wouldn't be best choice for a tuning competition.

> I thought I read it was possible for csound to drive a vsti - if so,
> problem solved.
>
>
> Chris
>

Well, the instrument itself I think I'll find the easyest to write.
And with a VST there's often the problem that it's built in pitchbend
resolution isn't high enough.
I have this problem with several VST's Ive tried in cubase, they have louse
pitch bend resolution that audibly slowly floats with a perfect major JI
chord!
And besides this, with csound one can develope the perfect instrument in
detail and know it's done right. With VST's one is often limited to
filtering a sawwave, or with bigger vst's like additive synths where one has
more control perhaps then they're not free so can't be used by everybody.
And probably still has the lack of pitch bend resolution (programmers almost
allways use code that's ligter and faster than full midi spec pitch bend
implementation it seems)

The thing is I don't have mich csound experience, virtually none or i'd have
written the instrument i'm describing allready.
But it should be doable pretty easily it seems to me.
I'm allready in the csound manual, hope to have it done in 2 weeks or so.
Btw if anybody else wishes to help let me know so I'm not wasting time doing
things double :)

Marcel

🔗Chris Vaisvil <chrisvaisvil@...>

1/10/2010 8:50:14 PM

Hi Marcel,

I understand your points - let me try to help

The people on the csound mailing may be able to help, or, possibly have done
what you want.

http://www.csounds.com/list/index.html

Dr. Boulger (sp??) is on there and he is the primary person responsible for
the creation of csound as I understand.

Be warned it is a *busy* email list.

AND....

to keep this to one reply

Mike - your observation about tuning errors in the samples themselves is
compelling. I can't argue with you there.
To use samples then one would have to resort to Melodyne - or VVocal (which
I have - but only a cent resolution) to correct the pitches. For many
entries this turns into lots and lots of trouble.

Thanks for the replies guys!!

Chris

🔗Marcel de Velde <m.develde@...>

1/10/2010 10:48:23 PM

Never mind this thread and csound.

I've found (thanks to Oz) the greatest synth setup for microtonal music and
pitch bend midi files rendering :)

I downloaded the newest VSThost software (free) at:
http://www.hermannseib.com/english/vsthost.htm
And the ZynAddSubFX VST version at:
http://www.kvraudio.com/forum/viewtopic.php?t=268277

Now the great thing is that the newest VSThost has a built in midi player.
And it plays pitch bend midi files correctly.
And ZynAddSubFX can be set to receive in mono on multiple midi channels.
It's the easyest microtonal midi pitch bend file setup ever! A true dream :)
And all free and everybody can use it, and it also supports Scala .scl files
:)
Highly recomended!

Marcel

🔗Carl Lumma <carl@...>

1/11/2010 11:48:23 AM

--- In tuning@yahoogroups.com, Marcel de Velde <m.develde@...> wrote:
>
> Never mind this thread and csound.
>
> I've found (thanks to Oz) the greatest synth setup for
> microtonal music and pitch bend midi files rendering :)

It's great that you've got Zyn working. But I know I'd feel
much more comfortable if MIDI submissions and renderings were
made by a 3rd party (like Mike), especially if you're going
to be submitting an entry.

-Carl

🔗Marcel de Velde <m.develde@...>

1/11/2010 8:26:34 PM

After more testing, listening and making sounds with ZynAddSubFX I think I'm
going to make a Csoun instrument afterall.
I just don't feel ZynAddSubFX has very high audio quality (digital sound,
muddy bass, harsh not smooth etc) and I'm a bit of a perfectionist when I'm
going to do an effort for it anyhow.
Thanks Mike for the suggestion of the mailing list, I've applied, waiting
for approval now.

It's great that you've got Zyn working. But I know I'd feel
> much more comfortable if MIDI submissions and renderings were
> made by a 3rd party (like Mike), especially if you're going
> to be submitting an entry.
>
> -Carl
>

Well I don't think a third party is going to make all the effort I am.
I also trust my own ears the most at the moment for deciding wether a given
sound gives good melodic pitch defenition etc.
But what I will do is make my process 100% transparent and open on how to
render the soundfiles.
So much so that anybody can render the files just like me and the resulting
files should cancel to 0 if mixed with mine in phase reversed.
I'm going to be very precise, miticulate and fair in rendering the files,
and I'll give everybody plenty of opportunity to object or come with other
suggestions before the voting starts.
I'm not in this competition to win, I've made this competition because I
belief the outcome can be very helpful in the tuning community for several
reasons but that this can most powerfully come if the competition is truly
fair and open / transparent.

Marcel

🔗Graham Breed <gbreed@...>

1/13/2010 4:25:27 AM

2010/1/12 Marcel de Velde <m.develde@...>
>
> After more testing, listening and making sounds with ZynAddSubFX I think I'm going to make a Csoun instrument afterall.
> I just don't feel ZynAddSubFX has very high audio quality (digital sound, muddy bass, harsh not smooth etc) and I'm a bit of a perfectionist when I'm going to do an effort for it anyhow.
> Thanks Mike for the suggestion of the mailing list, I've applied, waiting for approval now.

How is this getting on? Do you have an idea of what you want the
Csound instrument to be like? My experience is that one evening with
zyn got me better results than years of Csound. It's much easier to
tweak the sounds with the graphical tools. Sure, Csound can duplicate
everything, but it's a lot of work.

Csound is good for microtonality in that you can use whatever tunings
you want, with an unbounded number of notes, and have parameters
change during the piece. All that is irrelevant if you're using MIDI
with pitch bends. Not that that should be difficult: see the
midipitchbend opcode. You can also make a 1/n^2 timbre easily, but it
won't satisfy a perfectionist.

I happen to have my zyn patches here:

http://x31eq.com/zasf/

I don't know what you mean by "muddy bass". I always thought it was
doing what I told it. Maybe I could look through the source code for
whatever routine makes it muddier. And you may have noticed that
Csound is digital as well. They both use simple algorithms, and
should sound pretty much the same if you tell them to do the same
things.

Graham

🔗Marcel de Velde <m.develde@...>

1/13/2010 10:22:44 PM

Hi Graham,

How is this getting on? Do you have an idea of what you want the
> Csound instrument to be like?
>

Yes, I simply want a band limited alias free mathematically correct waveform
with both even and odd harmonics, that'll start at zero crossing so there
won't be a click, that'll release with a very short anti click release, and
no amplitude envelope, and where I can tweak the strength / amplitude slope
of the harmonics.
I want it to play a pitch bend multi channel midi files acurately including
panning.
That's it. Nothing more nothing less.

> My experience is that one evening with
> zyn got me better results than years of Csound. It's much easier to
> tweak the sounds with the graphical tools. Sure, Csound can duplicate
> everything, but it's a lot of work.
>
> Csound is good for microtonality in that you can use whatever tunings
> you want, with an unbounded number of notes, and have parameters
> change during the piece. All that is irrelevant if you're using MIDI
> with pitch bends. Not that that should be difficult: see the
> midipitchbend opcode. You can also make a 1/n^2 timbre easily, but it
> won't satisfy a perfectionist.
>
> I happen to have my zyn patches here:
>
> http://x31eq.com/zasf/
>
> I don't know what you mean by "muddy bass". I always thought it was
> doing what I told it. Maybe I could look through the source code for
> whatever routine makes it muddier. And you may have noticed that
> Csound is digital as well. They both use simple algorithms, and
> should sound pretty much the same if you tell them to do the same
> things.
>
> Graham
>

Thanks for you help and patches.
But I've had a better listen to zynaddsubfx again, and it definately cuts a
lot of corners soundquality wise.
There's lots of aliasing in basic waveforms, by far enough to confuse the
ear in precise listening to tuning.
So I can't use it I think.
Csound it will be.

Marcel

🔗Mike Battaglia <battaglia01@...>

1/13/2010 10:26:59 PM

Marcel, again: if you are unsatisfied with the aliasing in ZynAddSubFX -
render the files at a ridiculously high sample rate, use a zero-phase
brickwall filter to cut out everything above 22.05k, and then downsample.
You can't be worried about aliasing artefacts that are lower than the noise
floor of the atmosphere, which is what you'll hit if you upsample enough.

-Mike

On Thu, Jan 14, 2010 at 1:22 AM, Marcel de Velde <m.develde@...>wrote:

>
>
> Hi Graham,
>
> How is this getting on? Do you have an idea of what you want the
>> Csound instrument to be like?
>>
>
> Yes, I simply want a band limited alias free mathematically correct
> waveform with both even and odd harmonics, that'll start at zero crossing so
> there won't be a click, that'll release with a very short anti click
> release, and no amplitude envelope, and where I can tweak the strength /
> amplitude slope of the harmonics.
> I want it to play a pitch bend multi channel midi files acurately including
> panning.
> That's it. Nothing more nothing less.
>
>
>> My experience is that one evening with
>> zyn got me better results than years of Csound. It's much easier to
>> tweak the sounds with the graphical tools. Sure, Csound can duplicate
>> everything, but it's a lot of work.
>>
>> Csound is good for microtonality in that you can use whatever tunings
>> you want, with an unbounded number of notes, and have parameters
>> change during the piece. All that is irrelevant if you're using MIDI
>> with pitch bends. Not that that should be difficult: see the
>> midipitchbend opcode. You can also make a 1/n^2 timbre easily, but it
>> won't satisfy a perfectionist.
>>
>> I happen to have my zyn patches here:
>>
>> http://x31eq.com/zasf/
>>
>> I don't know what you mean by "muddy bass". I always thought it was
>> doing what I told it. Maybe I could look through the source code for
>> whatever routine makes it muddier. And you may have noticed that
>> Csound is digital as well. They both use simple algorithms, and
>> should sound pretty much the same if you tell them to do the same
>> things.
>>
>> Graham
>>
>
> Thanks for you help and patches.
> But I've had a better listen to zynaddsubfx again, and it definately cuts a
> lot of corners soundquality wise.
> There's lots of aliasing in basic waveforms, by far enough to confuse the
> ear in precise listening to tuning.
> So I can't use it I think.
> Csound it will be.
>
> Marcel
>
>

🔗Marcel de Velde <m.develde@...>

1/13/2010 11:02:01 PM

Hi Mike,

Marcel, again: if you are unsatisfied with the aliasing in ZynAddSubFX -
> render the files at a ridiculously high sample rate, use a zero-phase
> brickwall filter to cut out everything above 22.05k, and then downsample.
> You can't be worried about aliasing artefacts that are lower than the noise
> floor of the atmosphere, which is what you'll hit if you upsample enough.
>
> -Mike
>

I was testing it while running at 96khz (highest my dac takes) but zyn can
render till 192khz but that won't make enough difference.
It sounds like aliasing at 96khz, I don't know how the internals are
written, perhaps this aliasing isn't due to sample rate but due to internal
fixed lookup tables or something. I don't know but also don't care to look
into it, it sounds bad I'm not going to bother any further.
Besides, it's not only aliasing, I think a lot more corners were cut. It
simply doesn't sound very good to me. It sounds like an old digital synth
(which is fun in it's own way but not right for listening to tunings).
Modern VST's sound much better, and Csound sounds better still if done
right.

Marcel

🔗Graham Breed <gbreed@...>

1/14/2010 6:41:28 PM

2010/1/14 Marcel de Velde <m.develde@...>

> I was testing it while running at 96khz (highest my dac takes) but zyn can render till 192khz but that won't make enough difference.
<snip>

It doesn't sound like aliasing, then, does it?

Zyn does promise an anti-aliasing filter for the additive synth. From
what I can see from a quick code search, this amounts to not adding
partials above the Nyquist frequency. That may not work when the
partials aren't pure sine waves. So the best way of avoiding aliasing
is to use addition of sine waves, which should be suitable for your
purposes. Is that what you're doing? It's really impossible to tell
because you give no details. If you find the additive synth isn't
adding sine waves the way it should, which is hardly difficult, try
posting a bug report.

It may be doing something else with "adaptive harmonics". Are you
using them? And how about the SUB and PAD engines that use completely
different algorithms?

Graham