Forum rss-feed


Pico: Setting tonic frequency in hertz

Most Recent

written by: bwong


Thank you very much for looking at the Scaler Agent issues. I will soon purchase 2.0 and look forward to trying it out.

I would be glad to look at the pitchbend code.

written by: bwong

Mon, 15 Jul 2013 14:45:12 +0100 BST

Is it possible to set the tonic frequency in Hertz using Belcanto?

written by: keyman

Mon, 15 Jul 2013 15:18:54 +0100 BST

Don't think so...

What sound source is on your mind?

written by: bwong

Mon, 15 Jul 2013 15:38:35 +0100 BST

I am working on some Just Intonation composition with acoustic instruments and need to set the tonic to a specific frequency if the Eigenharp is to be useful. From what I have seen from the documentation I expect you are right; EigenD seems to be written almost exclusively for standard 12TET tuning. But I am hoping there might be some kind of workaround that I could use; the scale sounds beautiful on the Eigenharp sampled piano.

written by: keyman

Mon, 15 Jul 2013 16:08:14 +0100 BST

"...standard 12TET tuning..." not true!

You can build your own scales and so this will be the workaround you mention!
Take a look:

written by: bwong

Mon, 15 Jul 2013 16:26:56 +0100 BST

I had no problem creating the scale itself on the Eigenharp. The problem is that I cannot tune the tonic to the frequency needed. But now that I think about it, I do have one frequency in common with standard tuning, which is 440 Hz. Although the required tonic is 330 Hz, I should be able to use the "set base note" scaler command from Belcanto and make this work.
Of course if I did not have that one frequency in common with standard tuning I would still be without a solution. Thanks keyman.

written by: bwong

Tue, 16 Jul 2013 07:37:09 +0100 BST

A few further words about the support for non-standard tunings in EigenD.

In addition to the problem with tonic frequency already mentioned there are other problems which backup my comment about EigenD support for non-12TET tunings being extremely limited.

The example link you gave demonstrates another serious problem. The 17TET example nicely shows how to use the EigenD scale definition system. The method is simple and elegant, but unfortunately the non-standard tuning support basically stops there. Since there are only 12 key signatures available to change to, how does one use the other five keys in 17TET? As far as I can tell, there is no way to do this. While this is bad enough for 17TET, obviously for tunings such as 53-TET or complex JI tunings, it would make serious composition extremely onerous, if not impossible.

Yet another example of the very weak support for non-standard tuning in EigenD is pitchbend, which can ONLY be defined in increments of 12TET semitones.

I find this very disappointing. I compose primarily in Csound, which was originally written in the mid-1980's, yet has no such inherent problems.

written by: carvingCode

Tue, 16 Jul 2013 12:56:27 +0100 BST

If you are a coder, you can look into the possibility of adding the feature you want.

written by: bwong

Tue, 16 Jul 2013 15:03:33 +0100 BST

I have some rusty and limited coding skills in C++ and Python (I do my algorithmic music composition in Python), but last time I tried to play around with EigenD a couple of years back I was not even able to get to the stage where I could compile the software.
There is not really that much that needs to be done, since having the ability to set your tonic frequency in hertz also fixes the key signature switching problem, albeit in a somewhat less user friendly way.
The ability to exactly set pitchbend range in cents PER NOTE would benefit not just xentonal nuts like myself, but would represent a very significant improvement for everyone. That way you could set different notes in a scale to bend up (or down) either one or two semitones in standard tuning, greatly increasing the musicality of pitchbend on the Eigenharp.

written by: keyman

Tue, 16 Jul 2013 14:28:53 +0100 BST

Humbly just trying my best to help out...
There must be more to EigenD...

I have to confess, microtonal is something that fascinates me, to start , think with we have a great "tool" the alpha at least...

On the sound source area not much I can remember - XenFont...

written by: TheTechnobear

Tue, 16 Jul 2013 15:08:43 +0100 BST

@bwong - compiling the open source is very easy to do.
there are docs here,
but ive also got a quick guide on my blog

Ive also manage to recently start developing eigenD agents (an ableton live agent) ... how 'easy' it will be will very much depend upon your skill set and also what you are trying to achieve.

You say you have used C sound, have you considered doing this functionality outside of EigenD... it can interface with other software using OSC (or you could even 'hack' midi) , just get the key data (pressure/roll/yaw etc) and process yourself. CSound can talk OSC, as can Max/Msp etc etc

Finally, probably good to remember, its easy to say, EigenD should do this/that... but sometimes its not that simple, and also demand is not there. and of course, out viewpoint is clouded by what we personally want (I know Im guilty of this!!!) - but the great thing with EigenD is it is possible for you to make it happen.

p.s. Im not in any way related to Eigenlabs, so all my own viewpoint etc etc

hope this helps

written by: bwong

Tue, 16 Jul 2013 15:20:19 +0100 BST

Well, I don't have an Alpha, just a Pico, but certainly the Alpha with its 120 keys could potentially be a fantastic instrument to execute music in a scale like 53-TET.

written by: bwong

Tue, 16 Jul 2013 16:03:29 +0100 BST

I spent a considerable amount of time trying to get EigenD to compile and trying to get EigenD to talk OSC to Csound and achieved nothing but frustration. I might give it another shot, but the prospect does not entice me.

written by: TheTechnobear

Tue, 16 Jul 2013 20:56:54 +0100 BST

The osc output agent is in 2.0, so no need to compile anything.
Search here for details, but basically all you need to do is connect it, then send a register fast message via osc. I got it working with reaktor without any issues.

So it will be down to csound which I understand you are already familiar with.

Perhaps if you try, if you face issues we can help here.

Btw join the eigenharp google+ community lots of help there too

written by: bwong

Tue, 16 Jul 2013 23:01:01 +0100 BST

I don't have EigenD 2.0, but when and if it becomes available to me I will start re-examining these issues.
By the way, if anyone is interested in trying out my Just Intonation scale (which I call JIX12) on the Eigenharp, here is the required scale definition:
; JIX Just Intonation Scale (12 notes)
intervals=0 2.66870895 3.156412 3.863137 4.980449 5.8251219 7.01955 8.1368628 8.843587 9.688259 10.1759628 10.4936294 12.0

written by: keyman

Tue, 16 Jul 2013 23:30:54 +0100 BST

Thanks for sharing!! will try!

Thanks for steeping in... and enlightenments ;-)

written by: TheTechnobear

Wed, 17 Jul 2013 11:29:39 +0100 BST

why not upgrade to 2.0 , you can get the basic version for £49 for a 6 months sub.
if you do buy 2.0, then if needed, I can create the belcanto for you to connect the OSC output agent.

Sorry, I can't do 1.4 as I don't run it
anyway, good to support eigenlabs as its a small company with limited resources!
also see comments about community by john on the topic of waiting to get it for free!!

google+ community:

written by: bwong

Wed, 17 Jul 2013 15:22:31 +0100 BST

I appreciate your offer of assistance, which swings the decision matrix significantly in the positive direction. At the moment however, I need to learn the new Csound v6, which just got released last week. I apologize if I seem to be "waiting for EigenD to be free" while I study it. Interesting fact: Csound has been free for almost 30 years.
Seriously though, I probably will pickup EigenD v2.0 once I have CSv6 learned and the OSC to Csound communication is the first thing I want to try. Well maybe after the Fingerer agent.....

written by: john

Wed, 17 Jul 2013 21:57:59 +0100 BST


The tonic input on the Scaler Agent has been a floating point number for a while in 2.X, though I just reviewed it and found a bug, which is that the Belcanto verb was turning any values into integers by default, so you could set it to floating point values only by connecting a signal to it. This should now be fixed and you will be able to set the tonic to any fractional value in the next release. I have also removed the 0-12 range limitation (too much even-tempered thinking when that was written I suspect) and it may now be set from 0-120. I hope this adds the functionality you need - those restrictions were not intrinsic to anything, just no-one had asked for them to be changed before.

The ability to set the pitch bend range in scale increments as well as in absolute pitch values has been a desired feature for a long time, it just requires some coding in the Scaler. That code is surprisingly fiddly (as in easy to get wrong, not in terms of complexity) but quite contained and it doesn't require much broader system knowledge. It would make a nice little starter project for anyone interested to have a go. Perhaps you might give it a try?

These changes should be in the 2.0 branch in the next maintenance release, provided they test OK.


written by: bwong

Thu, 18 Jul 2013 04:55:36 +0100 BST


Thank you very much for looking at the Scaler Agent issues. I will soon purchase 2.0 and look forward to trying it out.

I would be glad to look at the pitchbend code.

Please log in to join the discussions