PDA

View Full Version : Numerology 2 as an AU vs. ReWire, pt 1


jim
08-01-2009, 06:18 PM
One of the more commonly requested items I get for Numerology is for some sort of plugin version, either Audio Unit or VST. This is both a very understandable and reasonable request. Many users (though not all), are highly fond of Logic or DP or Live or Cubase, etc., and want to have Numerology integrated with that workflow in the most accurate, easiest-to-use fashion. And, for the most part, they feel that some sort of plugin is the best solution.

In general, I agree with this position, however, the reality is not that simple. There are some technical issues with current AU hosts that make MIDI transmission less than ideal. And there are many hidden pitfalls in the AU spec and in various AU hosts that will make it time consuming to implement.
Finally, recent changes in Numerology's ReWire implementation make that a much stronger option than it was previously. This rather long and rather overdue post serves to discuss all these items in detail, and gives me a chance to voice my current opinion on the whole matter.

I've personally gone back and forth on the plugin option. Just after the Numerology 2 release, I was personally convinced that doing an AU was definitely the way to go. I even took the time to get a prototype running -- a very rough, nearly unusable prototype (no, you cannot have a copy of it), but just enough so I could start to determine what would be necessary to get it done. In the midst of that, two things happened, two things that led me to change my option on all this a bit.

The first event was when I ran into a very significant technical issue that would have to be solved for Numerology to function as an AU. It is something very low level related to how Numerology UI's and rendering sides communicate with each other. It is not an insurmountable problem, but encountering it definitely made me stop and think: "Oh, perhaps this AU thing is going to take a bit longer than I thought".

I did what I usually try to do when reaching such annoying setbacks, I took a good long break. In this case, it was in the form of a nap. After the break, I realized that I needed to back up a bit and reconsider the problem at a higher level. The problem was : How to effectively integrate
Numerology with other apps. In this case, integration refers primarily to sync, MIDI transmission and audio streaming. I quickly brought to mind the primary options: Plugin, ReWire, and MIDI Sync + something like Soundflower. The obvious easy-to-configure alternative to the plugin option is ReWire. Of course, Numerology already had a ReWire implementation (which was a highly non-trivial task, I should mention, but very worthwhile in the long run for many reasons I will not cover here), but that implementation had a big problem: Due to the nature of how ReWire works, it could not host Audio Units. Or, to be specific, it could not open Audio Unit edit windows -- a pretty significant limitation, to put it mildly.

The "AU edit windows in ReWire-mode" problem is one I had considered options for before, but had not hit upon a solution. However, I realized that it was time to re-examine the situation. If I remember correctly, I took another nap (different day). Then the second big thing happened: Upon waking, my brain somehow managed to connect several pieces of information that I knew of, but had not put together before. The basic idea is simple: If I could find a way to open the AU edit windows from within the Numerology ReWire driver, running in the ReWire host app, then things just might work. Some searches through the Cocoa developer doc and 2-3 hours of coding later, I had a proof of concept: I was able to open an AU edit window and have it properly respond to events.

This was a pretty big breakthrough. After evaluating various options, I decided very soon after that I would put aside the AU thing for a while, and focus on improving the ReWire driver instead. Finishing the implementation properly took a bit longer that I expected, but the end result changes the usefulness of the Numerology ReWire driver massively. Enough, in fact, that the ReWire option for integration is now a solid alternative to the plugin option, and very possibly a better one, depending on your point of view.

Later in this post, I make an argument for that point by comparing Numerology's ReWire option with a possible AU option. But before
we jump into that, there is an important item to cover off on, which is the problem faced by any Audio Unit that wants to generate MIDI.

Audio Units & MIDI Generation


Although the Audio Unit API supports generation of MIDI by an AU, I am aware of no current hosts that implement that option, not even the Core Audio teams' AU Lab application -- which is written specifically to be the 'reference' AU host. This is a pretty big problem, as it creates configuration and timing problems for any AU that wishes to generate MIDI.

Although any plugin or app in OS X can pretty easily setup virtual MIDI ports through the Core MIDI API and route MIDI to anywhere, there are some downsides. First of all, it is a bit more work to configure. You can't just drop a sequencer AU on a track, then add a synth after it and expect it to work. You have to add the midi-generating AU to the project, then choose the MIDI generated by that AU (assuming it creates a virtual MIDI Port) as the source for some instrument or MIDI track in the project. And, of course, if you MIDI originates in the host app, and you want to process it and then feed it to an instrument, then it starts to get ridiculous.

Additionally, once you send MIDI through the OS X MIDI server, there is always a small amount of delay before that MIDI reaches its destination. For app-to-app (or plugin-to-hosting-app) communication, that delay is roughly one or two audio render cycles, just enough to be noticeable to someone watching for such issues. It can be compensated for in various ways, but it is not really what one wants, certainly not for a "modular step-sequencing plugin".

Now, of course, you can avoid all this by hosting the synth AU in Numerology, but everyone I talk to who wants to use Numerology in another host is specifically most interested in using synths provided by that host.

To summarize: For an AU to really function accurately as a generator of MIDI data, the host must support routing of that data directly to other plugins within the app, otherwise you always end up with latency issues. And, unfortunately, there are no hosts that support this feature that I am aware of. It is possible that Logic 9 actually does, but I'm not holding my breath. As a user, there is something you can do to solve this problem, more on that later on.

The VST Side of the Fence

So what about VST? I hear VST's can generate MIDI. Well, that's great, but there are various issues there as well:

- I know very little about the VST API, and the more I have to learn about a plugin API, the longer things take to get done.

- There seems to be some big drama about changes between VST 2 and VST 3. I don't really know what it is, but I generally try to avoid API drama. I haven't verified the technical details (feel free to inform me if you know them), but I expect the situation is like this: If I want to best support running in Cubase 5 I need to use the VST 3 spec, but on the other hand, Live only hosts VST 2.

- By my count, only 2 of the 5 main DAW apps on OS X support VST: Cubase and Ableton. Three of the five support AU's, (Logic, DP, Ableton). Of course, all of them support ReWire.

For now, the limited host options, the in-progress API changes, and my general lack of experience with VST programming significantly outweigh the advantage of being able to generate MIDI. This isn't to say I have something against VST, just that its advantage with respect to MIDI generation isn't quite enough yet for me to jump onboard. My strategy here is to wait and watch.

[read on for part 2...]

jim
08-01-2009, 06:19 PM
Audio Units vs ReWire

Ok, so now for the feature by feature comparison. For these comparisons I'm trying to not make too many assumptions on what a Numerology AU would look like, other than to assume that it would look and work pretty much like it does now.


Audio Input: (Clear Winner: Audio Unit)

The AU option is a clear win here. Although I plan to enable audio input for Numerology in ReWire mode "real soon now", if you want to pass audio through Numerology for processing, having an AU effect version of Numerology would always be easier to handle than doing any sort of external or software-based audio loop for the ReWire version.

Audio Output: (Tie)

No clear winner, both options allow you to generate multiple output streams.


MIDI Input: (Tie)

In this case, I specifically mean transmission of MIDI generated by the host to the plugin. Though not yet implemented in Numerology 2.1's ReWire driver, the MIDI input options for ReWire and AU's are pretty comparable, no obvious advantage one way or the other.

MIDI Output: (Tie)

No clear winner here either. Until the major AU hosts start supporting routing of MIDI from Audio Units, both AU's and ReWire devices have to use OS X's MIDI server to send MIDI around. This works just fine, except that you always get a touch of latency.


Sync: (Winner : Rewire)

Both ReWire and the AU spec provide for synchronization, but ReWire has one obvious advantage: it allows the slaved device to initiate transport actions (play, stop, reset, etc). Also, based my experience and knowledge of the API's, I believe it is much easier to build a reliable sync algorithm with ReWire than with the Audio Unit API's. For instance, the ReWire API makes it clear when the transport has been started or stopped, the AU API does not.


Automation: (Winner : Audio Unit)

Though I have some reservations on whether track-based automation on a Numerology AU would be all that much more useful than using MIDI; at the least, it is higher resolution, and in some cases, easier to manage.


Compatibility : (Winner : Rewire)

By compatibility, I refer to the number of hosts supported. ReWire is the clear win here, as almost everything can host Numerology in Rewire mode, including Cubase and ProTools, two major apps that do not support AUs.


File / Preset Management: (Tie)

I expect this decision may be a bit controversial. Theoretically the AU preset mechanism and the AU host would handle storage of all the data for a Numerology session. But then there are audio samples to think about, and, of course, AU presets for any AU's that Numerology hosts, any samples they use, etc.. Ugh. Perhaps I'm letting my programmer's concerns get ahead of me here, but just the same, I'd really prefer to manage my sessions using the Finder. Notice also that most major AU's implement their own preset browsers.

Audio Unit hosting: (Tie)

Until version 2.1, Numerology could not host AU's when running in ReWire mode, and if it were still the case, it would be the killer argument for going the AU route, but now this feature comparison is pretty even. AU window management is a bit weird when running in ReWire mode, but a few tweaks here and there and everything will be just fine.

Semi-Final Score : 2 to 2

So far, we have a tie, with the AU option winning two categories (Audio Input and Automation) and ReWire winning two (Sync and Compatibility). Given those specific options, I'd definitely give ReWire the nod. And if you use ProTools or Cubase, I bet you would also.

Convenience:

Let's continue by considering another option, the convenience factor. In some respects, it is very similar to the File / Preset management topic, since that is one of the big differences when working on projects: When using ReWire, you have to load (and manage) two projects, when working in AU-land, the host supposedly handles that. But this topic also applies in other areas, such as the ability to instantiate multiple plugin instances, better integrate with the host's routing system, etc, etc. More than anything else, I think this is where users perceive that plugins have the advantage, so I will give the AU side one extra point here.

Cost & Tradeoffs:

We have one more thing to consider: cost. If I could just push a button and make the AU thing (and/or the VST thing) happen overnight, or even over a few days, I would have done it already. But the reality is that moving Numerology to any plugin environment is going to cost me a significant amount of time.

Excluding a few simple items, the ReWire implementation is already running and tested, and has proved to be easy to maintain. Pursing a plugin version of Numerology means, more than anything, putting aside other development goals for a significant chunk of time. How significant? I have spent about 3 weeks total doing a very rough proof-of-concept of a Numerology AU, and it was clear that finishing it would take much longer. Re-arranging Audio Unit hosting so that it would work in ReWire mode took a bit less than 4 weeks, much more than I expected, though I will say that I also took the time to do some not-absolutely-necessary code cleanup during that time.

Estimation of programming tasks is notoriously difficult. I have on many occasions provided estimates for Java consulting projects that I have worked on. I only provide estimates for tasks with which I have great familiarity, and even then, I typically double those to account for feature creep, unexpected problems, and the like. Complete implementation of a non-trivial Audio Unit, with testing in at least 3 different hosts is pretty much uncharted territory. There are many potential problems: Sync, preset management, UI issues, execution issues, unexpected crashes, etc, etc.

For instance, Ableton does not yet support Audio Units with Cocoa UI's. Numerology's UI is Cocoa. Carbon is pretty much dead, there's no way I'm going to write any type of UI in Carbon. I'm pretty sure I could use a "Cocoa in Carbon" wrapping technique to get Numerology's UI to open in Live as an AU, but I don't know for certain, and I can only guess at how long it would take to get it to work reliably. Probably I could get something working in a few days, but then there is testing, bug fixes, etc. And, of course, someone at Ableton could add the 50 or so lines of code that Live would need to support Cocoa AU's, then all my work would be for naught.

Nonetheless, I will go out on a limb and throw out a "seat of the pants" estimate: 3 months of steady work to produce a solid Numerology AU beta where all necessary functions work in Logic, DP and Live. It could be less, it could be more, probably plus or minus a month in either direction. I'm sure some of you are reading this and thinking: "That's ridiculous, my buddy wrote an AU in 5 days". Well, sure, but did that AU have around 100K lines of code, host Audio Units, have its own realtime memory manager, its own distributed messaging system, a complex UI, support multiple audio output busses, and so on? Certainly there are AU's out there of similar complexity : Reaktor, for instance. But remember, NI is a pretty large company, Five12 is not.

Another factor to consider is familiarity. I know a few things about hosting Audio Units, but the experience of 'being' an AudioUnit is quite different. The AU spec is large and complex, and every host does things a bit differently. This means regular and extensive testing in 3 or 4 different environments. Certainly also there are differences in the ReWire spec between different hosts, but it is a much, much simpler spec, and I have already accounted for the differences among hosts. On the other hand, I can work on new features in Numerology very quickly and be highly productive: it is a very familiar environment, I know how everything works and how to get thing done.

So anyway, back to the 3 months estimate. Looking back at the big list above, what do we get for those 3 months? Better audio processing, automation, and a significant, but not overwhelming increase in convenience. What you would not get, and probably what you would want the most, is latency-free routing of MIDI from Numerology to your virtual synths.

[read on for pt 3...]

jim
08-01-2009, 06:21 PM
So what do we loose? What would have to wait while the AU thing gestates? Well, based on a 3 month estimate, that would be just about everything I'm planning for the first pro version release (more on that later). Some of the things on that list include:

- OSC Support (including OSC I/O modules, OSC learn of all params, and direct OSC messages for all params)
- A new MIDI & OSC control protocol that I'm calling MIDI Remote. I will allow you to get
at any parameter of any module in a Numerology session using a MIDI hardware or OSC control
source with minimal setup.
- Audio recording for all stacks.
- Support for hosting other ReWire-enabled apps (like Ableton Live & Reason)
- A programmable note quantizer
- Three new modules for doing math and logic ops (covering about 50 functions)
- A new module preset system.
- Copy and past of settings from one module to another.
- Custom module and stack libraries.
- A Key-switch module.
- A 303-style pitch-glide option on the MonoNote sequencer.
- Save/revert/compare on stack presets.
- Several easy-to-implement and extremely useful audio FX, including a modulatable audio delay,
ring modulator, audio mixer, and a great-sounding low-pass filter.
- A "Gate Generator / Delay" module.
- An analog-modular style "Gate Divide" module.
- CV and MIDI delay modules.

Some of this stuff is already in progress: I'm about a month into that list already, with about 2 months (or less) to go. It is a lot of stuff, but as I mentioned, when I stick within the environment I know, I can move very, very quickly.

So what about the 3 months after that? Well, we will have to wait and see. Certainly if I start to see hosts supporting MIDI out from Audio Units, then my motivation level will go up. If users are pushing for a plugin version strongly, then that will also push me in that direction. On the other hand, I may see that user requests are going in another direction, along the lines of things like preset morphing, parameter automation, Standard MIDI File import/export and so on.

So does all this mean that I am totally against Numerology as a plugin? No, of course not. I'm all for it. Even given that it will probably take quite
a while to happen, I expect that it will make the most sense and I will then move in that direction. But the reality is that any new feature comes at a cost, and that cost is the delay in some other feature. In this case the cost of one feature (ability to run as a plugin) is quite expensive, more expensive than a quite a number of other features combined. And for now, my commitment is on new features based on the ones listed above. For me, that is what seems to be of the most benefit to everyone.

Call For Feedback:

If, after all this, you still feel strongly about the plugin option, I totally encourage you to keep asking for it. As many of you know, I can be very responsive to suggestions, just please keep in mind that I can't actually do everything at once. The cost of any new feature is the delay of something else.

Also, there is something else you should do: you should contact your DAW vendor and complain that they do not support MIDI generation by Audio Units. For Logic users, Apple has a website you can use: bugreporter.apple.com. I have already listed this bug for Logic. It was flagged as a duplicate within 24 hours, but you should still report it: The more votes, the more likely they will fix it. I have also talked to the Core Audio team about it regarding AU Lab, they are aware of the situation.

Conversely, If you are not all that interested in a plugin version of Numerology, then I also urge you to speak up. I know many users that are not interested in using Numerology in combination with a DAW app at all. They may prefer to run it standalone, or to use it on a separate computer, or they are quite happy using ReWire. If this is you, make your voice heard.

Finally, about Rewire: if you have been having problems with it, then please do tell me about it. As with any other bug, you should never assume that I know about it. I know the app pretty well, and try to test as best I can, but there is no way that I can cover every option. Send me the bugs, and I will fix them.

Finally thanks all for your time. My apologies for the long post, but I wanted to make sure I covered this subject in detail so that we are all on the same page. I will next be working on another longish post, one explaining the Numerology roadmap for the next several months, of which you got just the merest glimpse above.

I look forward to your comments!

Best,
Jim

amsonx
08-02-2009, 01:07 AM
Conversely, If you are not all that interested in a plugin version of Numerology, then I also urge you to speak up. I know many users that are not interested in using Numerology in combination with a DAW app at all. They may prefer to run it standalone, or to use it on a separate computer, or they are quite happy using ReWire. If this is you, make your voice heard.



Best,
Jim

first thanks to your clearly and very rich post .

This is my case, i use Numerology without a Daw (generally, sometimes i use it with live with rewire).
The Pro version new features as the audio recording for all stacks make me happy and really i think that new features as preset morphing etc. takes priority over an AU Numerology version.

best
Diego

koalaboy
08-02-2009, 03:00 AM
Hi Jim.

As someone who request AU, I should probably speak up and say why.

For me, it was all about the convenience factor, which you summarised so well - I hate rewire for the sole reason that I have to maintain two seperate projects and independently save/load them. I know some people love having many apps contributing at the same time, but I like the one-box approach.

I'm also very unlikely to use most of the audio processing functions, as I see Numerology as a very good way to drive the hosted AU synths/effects.

Having said all of that, I wouldn't want an AU to be developed if it was taking away from other functionality - I see it as a 'very nice to have' but fundamentally secondary to actual sequencing functionality.

I'm more likely to use Numerology exclusively (as a host) for music that I use it for. If I had an AU, I wouldn't actually want MIDI out and would still host the 'synths' within Numerology, so It'd be MIDI-in, Audio out - a complicated synth with a very cool built in sequencer :D

My vote would therefore be to keep AU 'on the list' - but move it down until the more important/useful development has been completed. If a limited version with no MIDI-Out or other limitations can be squeezed out in the meantime, fantastic, but other things like:

- OSC Support (including OSC I/O modules, OSC learn of all params, and direct OSC messages for all params)
- A new MIDI & OSC control protocol that I'm calling MIDI Remote.
- A programmable note quantizer
- Three new modules for doing math and logic ops (covering about 50 functions)
- A new module preset system.
- Copy and past of settings from one module to another.
- Custom module and stack libraries.
- A Key-switch module.
- A 303-style pitch-glide option on the MonoNote sequencer.
- Save/revert/compare on stack presets.
- A "Gate Generator / Delay" module.
- An analog-modular style "Gate Divide" module.
- CV and MIDI delay modules.

appeal far more in the short term :cool: These excite me from a sequencing point of view, and again, this is why I bought Numerology.

HTH.

Michael.

sbaishya
08-02-2009, 07:17 AM
I'm also one of the people who requested an AU, and like Koalaboy, I wouldn't want MIDI out.

What I want is a way of integrating Numerology-generated audio into Logic. The main reasons for this are:

1. To be able to freeze tracks - I use a MacBook Pro, so I can easily max out the CPU

2. To take advantage of Logic for mixing

Audio recording for all stacks may be an alternative to being able to freeze, but I would really like a slick workflow for this.

shamburglar
08-02-2009, 11:49 AM
Here's my two cents.

First of all, Jim, I appreciate all the work you put into rewire functionality. I have to be honest for a while I was really frustrated at how buggy that it was... and now the timing is tight and the integration with Ableton Live is perfect. Once we get the ability to easily route audio back and fourth between the two programs as far as I'm concerned, if this is the extent of the integration between Numerology and other DAWS, I will be completely satisfied. I'd hate to see further maturation of this product delayed by another coding hurdle.

I'm not sure if you're familiar with the program Renoise (which has been being developed for 8 years now) but recently they (and they are a team) made the same time consuming decision to add rewire to their software as a way of allowing it to integrate into the studio environment from which point they would continue to add new features to the program and let it mature. Many old school tracker fans thought this was a waste of time, but i understood the logic behind it. Now Renoise has become part of the studio environment easily connectable to any of the gozintas/gozoutas that you can imagine.

Sure the idea of being able to load Numerology up as an AU would be nice and an added convenience but to me it is not worth the cost of delaying further innovative features. (I can't even begin to imagine the kind of UI quirk can of worms you'd be opening here as well).

I think new modules and refined workflow from within Numerology are of a much higher importance than making an AU plugin. The program works great as it is, but sometimes you have to jump through hoops to get certain simple tasks done and this can get repetitive. I think a better managed internal preset system for modules/groups of modules would be far more advantageous to Numerology workflow than an AU would be at this point.

Due to the fact that Numerology is such an open environment and everybody uses it in such unique ways, I think it would be extremely useful to ask those who are requesting AU plugin version how they use Numerology.

Possibly the answer to all this would not be to port the Numerology environment in its entirety but rather, in the future, build a series of Five 12 AU plugins that may even themselves enhance the Numerology experience as well. (just a thought)

Numerology for me has filled a void in music making where only Max/Msp, Pd, Supercollider and various other visual programming environments could fit the bill and unfortunately I just don't have the time and the mental capacity to attack those kind of programs.

I've found that a lot of the things I'd tried to do in Pd, I was able to accomplish in Numerology with a couple hours of work and that the whole experience was a heck a lot more enjoyable and musical or errr... noisy. depends on the day. hahahaha.

Finally, I want to thank you for keeping us in the light regarding your thoughts and development processes. This past year with the exception of buying Ableton, I've kept my other audio software purchases limited to smaller developers with better support and more radical ideas. I have to say you do a fantastic job of corresponding with your users, and adapting to their needs.

hows that for blowin some smoke
:)

corlin3
08-02-2009, 02:26 PM
Thank you Jim. Not many developers engage in such a dialog about the future nature of there work. I applaud such effort.

I am one of those who fall clearly on the no-plug-in side.

I use Logic as my main DAW, and have it open and running most of the time. Numerology is where I do most of the heavy lifting of creating and playing around with sonic ideas, and rhythms. It is where I compose.

Now maybe it is my age, but I find, I need to stay focused on one thing at a time, and to keep in mind the big picture of the work being produced. The very rich set of tools Numerology gives me, allow me to work the way I have always wished for, to compose. This is compared to the “create-snip-punch-in” method many others use. Now there is nothing wrong with any method anyone would invent, and I mean no disrespect.

For my work, I see no need to have Numerology running as a plug-in. In fact it might get in the way. I often am working on pieces 20 to 60 min in length, with maybe 5- 20 stacks, I am not mixing these down, nor adding or tweaking effects, and I need to stay aware of the whole composition. This is exactly what Numerology is great at doing. For me the single most important part of a finished work, IS the finished work, not the mechanics of how it was produced, or it’s sonic deconstruction.

So I vote for No Plug-In, Let it stand free!

ZenPunkHippy
08-02-2009, 09:52 PM
Thanks for the detailed post Jim, it is much appreciated :)

My vote is to keep the integrity of Numerology as a standalone host that has rewire capability when it's needed. While it would be amazing to see an AU version (assuming it's even possible) I would rather see Numerology developed further, including the pro version.

Some of the features you have listed (e.g. logic ops) are far more interesting to me than a very specific workflow integration feature.

Just my 2 cents.

Peace,
Andy.

Per Boysen
08-03-2009, 03:55 AM
I would prefer the pro version to be kept in focus of development.
This doesn't mean I wouldn't find a AU plug-in version useful, but I
think a fully working ReWire functionality would help me to achieve
most tasks I would use the AU plug-in for anyway.

I use Numerology in two different ways: (1) I run Numerology as an AU
host for live performing when the idea is to play Numerology "as an
instrument" and (2) I use Numerology together with other application
for the purpose of producing recorded music. This (2) can happen in
different ways; piping MIDI from a Numerology session into Logic to
drive Logic's instruments or recording Numerology stacks as audio
files to be treated in Metasynth and finalized and mixed in Logic.

Something that isn't possible in Numerology yet but that I would put
to great use would be high resolution MIDI recorder on each stack.
This would make it possible to tweak a piece in Numerology while using
some simple "work-horse" AU synth and export each stack's MIDI as
control data, open the MIDI Files as MIDI Tracks in a DAW software
(Logic in my case) and assign the MIDI CC's to this application's
instrument's appropriate parameters. This technique would miss out on
all the good points in Numorology's CV control system, but you can't
have everything at the same time.

Greetings from Sweden

Per Boysen
www.boysen.se
www.perboysen.com

adamj
08-03-2009, 03:50 PM
I've gone back and forth about wanting an AU plugin. It's mostly about the convenience of managing one project with one host software.

After reading Jim's detailed analysis of the situation, I definitely think time is better spent working on other things. In particular, this sounds awesome:
"A new MIDI & OSC control protocol that I'm calling MIDI Remote. I will allow you to get at any parameter of any module in a Numerology session using a MIDI hardware or OSC control source with minimal setup."

So, that will let us set any pitch/gate/etc slider in the sequencing modules? People have been asking for algorithmic music generators, and this kind of feature will effectively open up Numerology so we can make those kinds of generators ourselves. I'd much rather see features like this, which continue building on Numerology's unique strengths, than have it packaged as an AU plugin.

I tend to use Numerology as a sketchpad. Once I have some things I like, I record it to MIDI clips in Ableton Live and do my mixing and arranging over there. Besides some minor annoyances with latency, this works fine today. One thing I have wanted is an "offline" (faster than realtime) MIDI file export feature. We'd select a stack and a preset, select an output file, and nearly-instantly we have a midi file that we can import whereever we want. If this could be batched up to dump out all the stacks/presets in a project, it would be very convenient for the Numerology-as-sketchpad workflow. I think this is basically what Per is asking for too? Between a feature like this and the already existing features, I personally don't see much need for an AU plugin.

jim
08-03-2009, 09:58 PM
Howdy everyone,

Thanks very much for the detailed and thoughtful replies, and especially for the notes on your various approaches to workflow. One of the more interesting threads I see is the interest in some sort of render function, both for MIDI and Audio, to make it easy to transfer work to other apps, so I will definitely keep that in mind as I spec out new features. I'll have more information on the pro version in a few days.

Cheers,
Jim

vanhaze
08-05-2009, 03:34 PM
Hi Jim !

Let me first say that, everytime i take a look and fiddle around with Numerology, i am completely stunned about what Numerology all can do.

I am still quite a noob about all the possibilities of your very powerful program but try to learn thangs bit by bit.

I am into dance music so you can imagine all those pattern generation capabilities are soo welcome and great !

Now i work in Logic pro 9 and have numerology rewired to Logic.
I must say this connection has greatly improved during development of Numerology (i remember numerology version1 which was quite useless as a rewire client to logic, understanding that also logic has improved in this area )

No to come more to the point of your topic :

I WILL be using logic as my main DAW , simply because it IS a (great) DAW which i find Numerology is not.
Consequence of this is that i always have to use 2 programs (logic and num.) and switch between them to do tweaks.

This is really such an awful working method which doesn't improve my happiness in making music at all.

So i REALLY like to see some kind of integration of Numerology in Logic.
Did you see this upcoming Audio unit plugin :

http://www.sugar-bytes.de/content/products/Eloquence/index.php?lang=en

Now i really think this upcoming product definitely doesn't blow Numerology away (duh !!) but what they managed to do is that it CAN send midi from out of the au into logic (they advertise with this feature !).

Rumors are that they use the IAC bus for this "trick" to let Logic receive it's midi output.

Well, i must say : this is making me quite hot to be honest.:cool:

I can imagine : what sugarbytes can do , you can do also !!

It would be so awesome to have Numerology "sitting inside" logic and do it's thing (whith dead on timing too ...)

I really think that if u can make this true, your product will be attracted by far more people cause (i assume) the majority also want just to use 1 program and don't like it to fiddle around between 2 programs.

Just my 2 cents , just keep up the incredible job you are doing with this (almost PERFECT ) application !

(oyeah : export to midi function for patterns would be very welcome indeed !)


Kind regards,

Rob van Hees
Netherlands

sbaishya
08-05-2009, 03:53 PM
Hi Jim !

Now i work in Logic pro 9 and have numerology rewired to Logic.
I must say this connection has greatly improved during development of Numerology (i remember numerology version1 which was quite useless as a rewire client to logic, understanding that also logic has improved in this area )

No to come more to the point of your topic :

I WILL be using logic as my main DAW , simply because it IS a (great) DAW which i find Numerology is not.
Consequence of this is that i always have to use 2 programs (logic and num.) and switch between them to do tweaks.

This is really such an awful working method which doesn't improve my happiness in making music at all.


Same here, but Logic 8. It's not a great workflow to either record MIDI in Logic from Numerology, or to rewire the audio in as it can't be "frozen".



Did you see this upcoming Audio unit plugin :

http://www.sugar-bytes.de/content/products/Eloquence/index.php?lang=en

Now i really think this upcoming product definitely doesn't blow Numerology away (duh !!) but what they managed to do is that it CAN send midi from out of the au into logic (they advertise with this feature !).

Rumors are that they use the IAC bus for this "trick" to let Logic receive it's midi output.



I have also spotted this plugin, and having emailed the developer I can confirm that it does use IAC.

I must admit that I am very interested in looking at the VST version of this running in Kore within Logic.

blurk
08-06-2009, 01:26 AM
Jim, thanks for the detailed posts about the issues involved in a plugin version of Numerology. As one of the people who have been asking for a plugin version, I'd like to respond. I'm not refuting anything you said, but would like to explain what I need, what I am using and throw around some random ideas that may (or may not) result in some lateral thinking about this potential feature. This may be a bit of a rambling post, so please bear with me.

Before I get started though, I will note (as some others here now have) that I'll be looking at Suger-Bytes' Eloquence with a great deal of interest, partly because I am eligible for the upgrade from ERA (which was, unfortunately, Windows only). That said, I tried the demo of their Consequence product when it came out, and didn't like it at all.

It seems that a lot of the people asking for a plugin version of N2 want it for integrating into a traditional DAW (at least that's the main audience Jim seemed to acknowledge in the initial posts). I gather these all have native sequencing features but people prefer the N2 way and so want to integrate N2 with their DAW. But there's another class of users: those of us using the more non-linear hosts, like Bidule and Audiomulch. I'm actually using both, as well as N2. The interesting thing is that all three are modular hosts and each has at one strength that the other lacks: N2 has sequencing covered while Bidule has very primitive facilities and Audiomulch doesn't do MIDI sequencing at all (I gather Ross Bencina has an ideological exception to it, or at least wanted Audiomulch to stand apart from other hosts by only using MIDI for parameter control and not note sequencing).
Audiomulch has a superb automation implementation plus good live control via the metasurface feature (along with its core granular delay effects etc.).
Bidule is great for having a lot of low-level control and routing capabilities as well as multiple synchronisation sources if you want to be really non-linear.Bidule and Audiomulch are both multi-platform, and Bidule is host and VST + AU plugin and does Rewire.

So, my problem is how to use these three together, effectively. Out of these three, I still consider Bidule to be my primary host because that's the one I have been using the longest and also I find the explicit visual layout of the connections nice to work with. The reason I started looking beyond Bidule was that its sequencing features are primitive and as Plogue is another small team of independent developers, I agree with them in devoting more of their efforts into building what makes Bidule unique. (Kind of like how I'd encourage Jim to devote more efforts into features that make N2 unique. ;-))

This means I have been looking for sequencer plugins for many years now. There are quite a few available for Windows, but for OS X they seem to be quite rare. In fact, I don't know of any. Perhaps they are rare on OS X because the plugin market is split between AU and VST and, as we know, Audio Units and MIDI output is not a happy combination. So, my search for a sequencer plugin does have a VST bias.

Anyway, this search for sequencer plugins led me to Numerology (even though it isn't a plugin and even though it isn't multi-platform). I tried the demo late in the v2 beta phase and, naturally, I was hooked. But this leads to the dilemma of how best to use N2 and Bidule. N2 could host the Bidule plugin, but I haven't put a lot of effort into this because so far it just doesn't seem comfortable or convenient to work that way around. Both Bidule and N2 create virtual MIDI devices so that is potentially an option but then we are dealing with projects being split over two different files. And there's the Rewire option which I admit I haven't tried because when I first tried Rewire on Windows many years ago it just seemed like a painful and fiddly approach. Maybe it has improved over the years, but it still has the same downside as the virtual MIDI device approach.

So, I haven't solved this yet and maybe that's no bad thing because I find I write different kinds of material in the different hosts. And there more I think about it, the less sure I am about wanting N2 as a plugin. This is partly because I kind of think N2 is too large and complete to be a plugin, which may also be the case with Bidule as a plugin within N2. Basically, what I want (and I understand isn't easy to implement or likely to happen) would be something like Numerology's modules to be plugins rather than the whole application itself.

Therefore, I guess you can count me in as one of the people who may still be interested in Numerology as a plugin maybe sometime in the future, but would definitely recommend many of the other proposed features and enhancements take greater priority. (For example, OSC support would provide potentially a fourth way to integrate Numerology and Bidule.)

Finally, just some specific comments to some points in Jim's first post...

Now, of course, you can avoid all this by hosting the synth AU in Numerology, but everyone I talk to who wants to use Numerology in another host is specifically most interested in using synths provided by that host.
Or, in my case, synths hosted in that host. TBH, off the top of my head I can't come up with a compelling use-case apart from "I like the way routing is done in Bidule, and it could be more flexible for me to keep hosting things in Bidule". But it's not just about preferring synths provided by hosts.

There seems to be some big drama about changes between VST 2 and VST 3. I don't really know what it is, but I generally try to avoid API drama.
From what I gather from discussions between the various plugin developers in the DSP developers' forum on KVR, it's that Steinberg completely rewrote their API, and most independent developers (particularly those supporting AU as well as VST and possibly RTAS) see this as a gratuitous change that only adds extra work for them to do.

I haven't verified the technical details (feel free to inform me if you know them), but I expect the situation is like this: If I want to best support running in Cubase 5 I need to use the VST 3 spec
I believe Cubase 5 still supports the VST 2 spec, because Steinberg would have to be insane to cut out all the independent plugin developers out there.

By my count, only 2 of the 5 main DAW apps on OS X support VST: Cubase and Ableton. Three of the five support AU's, (Logic, DP, Ableton). Of course, all of them support ReWire.
But if you add in some of the non-main apps, Bidule supports VST and AU (and Rewire) and Audiomulch supports VST only.

koalaboy
08-06-2009, 06:48 AM
I thought I'd add a slight update, having thought about this some more.

With the announcement of Eloquence (assuming it does what it says), my desire for Numerology as an AU plugin is quite substantially reduced - My in-DAW needs are usually much simpler and as such I will just purchase Eloquence for that purpose.

This isn't to say that I wouldn't prefer to use Numerology as a plugin when needed, but that need doesn't generally require all of the power of Numerology.

I'm also finding myself using Numerology more as my main sequencing host, as I much prefer the timeline/preset concept - In fact, if there was a Poly MIDI note module that wasn't step-based, but just allowed realtime recording/playback (potentially with quantize) that wasn't limited in length, I would likely use Numerology for all of my sequencing.

I even started thinking about how, given a few new audio modules (and I wasn't into the 'audio' thing) it would then be possible to generate sound - imagine an oscillator module, some more filters etc... all of a sudden, it's a modular synth as well.

Okay, so I'm getting way ahead of things, but the more I use Numerology and start thinking about 'small' (I use that word carefully, Jum :D ) additions that suddenly open up much more potential, I realise I don't actually need another DAW.

Yes, if I want to warp audio, I'll grab Live (or Logic 9 if I upgrade), or if I have a load of audio stems I'll pull them into Logic or Pro-tools....

... but the most fun I get - and I do this for fun, it's not a job for me - is from sequencing in Numerology.

Which comes around to me actually changing my "It would be nice to have an AU plugin" into "I don't actually want a plugin anymore - I want Numerology to become even more flexible" :cool:

Just some thoughts.

amoeba
08-06-2009, 09:01 PM
for me, an AU would be nice, but above all else, i don't want anything happening that could hinder the progress of Num as it is now. amazing things already, and more amazing stuff on the horizon. full steam ahead, jim!

xherv
08-07-2009, 02:13 AM
I didn't know about the issues with MIDI and AU plugs, given those facts an AU version probably would not be as satisfying as I might hope. Smart exporting to MIDI sounds really cool, especially if the workflow is really swift.

I've got a list of things I think I'd love to see below (but have no clue how difficult implementing any of them would be ... also fairly new to Numerology so maybe there are ways to do these things I just don't know about)

* A save dialog that includes the option to write a file -or- push save output into the clipboard for very quick copy / paste between apps (maybe a hotkey to quickly push to clipboard)

* A save dialog that has well-developed batch output options that persist with a project, e.g.:
-- Comprehensive options for choosing what gets rendered: All stacks, current stack, single module, note sequencers only, active presets across all stacks, first/last X presets in a project
-- A preference option (maybe per project) to batch export MIDI when saving a project
-- Adjustable length of output (e.g., 4 bars even if the preset only has 1 bar, or over a specific arrangement range)

* Per-sequencer-module/preset/stack export options, like right-click on something and include a menu entry that allows saving or copying it's MIDI output

* Maybe some kind of always-on MIDI 'tape' that tracks tweaking over time? I've heard some DAWs do something like this and it sounds really handy. Browsing the tape would be really important to get right, I think.

* Quicker hotkeys, or MIDI-mappable buttons, or just larger buttons on the UI for quickly snapshotting current preset & creating and moving to a new one.

limao
08-08-2009, 10:37 AM
hello, i have not logged in for a while..but im really interested in a plug in version of numerology..

it seems not that easy to implement a plugin version, but maybe its not that necessary to have whole numerology as a plugin

what would be useful for me sometimes is just a plugin version of a module ...
the simple stepsequencer or the chordsequencer.. i think most daw´s offer things like groove quant. and stuff.
sometimes its just that bit of thing where it would be nice to have a good and quick to use stepsequencing tool...

i have no clue how difficult it is to implement something like this

kind regards
carsten

Per Boysen
08-08-2009, 11:02 AM
what would be useful for me sometimes is just a plugin version of a module ...

That's a good idea! I bet there is a market for an AU plug-in step sequencer! Something like the Matrix Sequencer Module? Or maybe a combination of Interval, Time and Pitch sequencer modules inside one AU. I know, in the Logic community the wish for "a step sequencer plug-in" has been up for years.

However, if nothing better than OS X IAC Bus can be used to pipe the output MIDI from the AU into an instrument, why would an AU plug-in be better than the whole shebang Numerology? I mean, that's what we already can do today.

I personally would love to see Numerology being able to sync up perfectly (ReWire?) to Logic and use MIDI pipe into Logic's environment. Then one could filter and route MIDI as one wishes inside the Logic system.

sbaishya
08-10-2009, 02:46 PM
Hi Jim,

Having thought about this for a few days, and seen the posts, a few things really interest me:

MIDI recorder - this would make it much easier to create sequences in Numerology and then use them in Logic
Audio recording for all tracks - again, this would make it easier to get audio into Logic

As I mentioned in my previous post, one of the main reasons I use Logic is because it allows me to freeze tracks on my MacBook. Over the weekend I started wondering if it would be difficult to take the "audio recording for all tracks" feature, and build a basic "freeze" implementation in the "Timeline" panel.

If I could have this, then I wouldn't need to save audio and import it into Logic - Rewire would be sufficient.

Then all would want are bidirectional audio and MIDI over Rewire ;) (not even sure that is possible!).

Sjoerd
08-18-2009, 12:50 PM
Then all would want are bidirectional audio and MIDI over Rewire ;) (not even sure that is possible!).

Bidirectional MIDI is possible (I can have bidirectional MIDI between Reaper and Numerology 2, for example, while I can also receive audio from N2 to Reaper).

For audio I don't think so, but I'm not really sure.

jim
08-18-2009, 03:37 PM
The ReWire API supports bi-directional MIDI, but no hosts that I know of support it. Of course, you can use virtual ports or IAC busses to route MIDI around.

Rewire does not support audio streaming from the 'mixer' app to the 'device' app, but there is no reason that I cannot support audio input directly from an audio device, either hardware or a software option like soundflower.

Cheers,
Jim

solarolosonoio
08-30-2009, 11:32 AM
hi

first of all: I haven't bought Numerology yet... I'm 'really' testing it and I'm amazed by the unlimited possibilities it offers.

and since I just read all this I'm 'voting' now :)

I'd use it mainly to control external hardware, and then record all that back into the computer in some other app.
in this case then it'd make sense to have an AU and just one single recording app running...

still I prefer Numerology stand-alone !
I'd want to concentrate on Numerology,
(after I get something done I could just record some tracks and mix the whole thing...)

I like this:

Thank you Jim. Not many developers engage in such a dialog about the future nature of there work. I applaud such effort.

I am one of those who fall clearly on the no-plug-in side.

I use Logic as my main DAW, and have it open and running most of the time. Numerology is where I do most of the heavy lifting of creating and playing around with sonic ideas, and rhythms. It is where I compose.

Now maybe it is my age, but I find, I need to stay focused on one thing at a time, and to keep in mind the big picture of the work being produced. The very rich set of tools Numerology gives me, allow me to work the way I have always wished for, to compose. This is compared to the “create-snip-punch-in” method many others use. Now there is nothing wrong with any method anyone would invent, and I mean no disrespect.

For my work, I see no need to have Numerology running as a plug-in. In fact it might get in the way. I often am working on pieces 20 to 60 min in length, with maybe 5- 20 stacks, I am not mixing these down, nor adding or tweaking effects, and I need to stay aware of the whole composition. This is exactly what Numerology is great at doing. For me the single most important part of a finished work, IS the finished work, not the mechanics of how it was produced, or it’s sonic deconstruction.

So I vote for No Plug-In, Let it stand free!

cheers