pack NAudio pack audio
Credits: Marc Heath for NAudio, Marc Jacobi for VST.NET, beyon for midi file reader and other bits and pieces
This is a vvvv audio engine.
Please report all bugs and feature requests here:https://github.com/tebjan/VVVV.Audio/issues/new
There was no time to make proper help patches, but a few girlpower patches made it in the pack. The patches assume that you have LoopBe and Asio4All on your machine. I've also included the free sci-fi effects synth Altair 4b from HGF-Synthesizers to demo the vst support.
For now the focus of the engine was not so much DSP programming but flexible signal routing for large scale installations and VST support.
The new FileStream node can play back audio from the following formats:
Supported Media Formats in Media Foundation
Here are some more resources to check: vvvv.audio-node15-workshop-patches
The world of VST is so huge and even for free you can get almost anything you could wish for. Maybe you should have a look at sites like this one:
A dedicated forums thread is here: vvvv.audio-discussion
Copy the folder in the zip file into the vvvv folder (integrate if it exists). It works for both, 32 and 64 bit vvvv versions. See also: using-addons
If you encounter problems loading the Jacobi.Vst.Interop.dll (e.g. all VSTHost nodes have nil in/outputs) you need to install:
Visual C++ Redistributable for Visual Studio
Here is an online workshop video which explains all the basic nodes and concepts, starting at 8m24s:
And a little amateur demo video comes along:
And if you are interested in how to patch audio with VL, here you go:
If this is useful to you consider supporting tonfilm with a flattr:
Now I can skip ableton from my setup and must not move to pd.
with that you get me even in plugin coding...
Could you please make a little tutorial for people like me who want to write audio plugins if there is time for it?
Midi yoke works as well as LoopBe actually at the same time. Midi yoke gives you 8 channels of midi as opposed to LoopBe's one channel in the free version. just be aware that you need to disable UAC when installing midi yoke and that it only works with 32bit vvvv.
@tekcor yes, i'll make a tutorial about coding audio plugins, but i have the feeling that basic things could change in the near future, so i don't want people to start writing audio nodes just yet.
@tonfilm: Unzip(audio) doesn't seem to work at the moment:
@sunep: There's also this which gives you a lot of flexibility, but you have to setup your virtual midi device at startup. It might interest tonfilm that it also has a C# SDK...
Finally, I see that Jackaudio works with this audio engine, and I'd like to configure a workflow for an audio signal to travel back and forth between vvvv and, say, Ableton Live. I've had problems running the most recent version of Jack for windows but it seems to be something wrong with my system; VAC is fickle too. I'll report back soon
Okay got Jacks for Windows working (if anybody wants pointers its best discussed in a separate forum), and I noticed that only the first two channels from the 'AudioIn' node were active.
Imagine this is to keep the overheads down during this alpha period, or is this a bug-proper?
the audio engine node has a setting for how many input channels you want to open. try changing that. it seems to be a bug that the AudioIn has more output channels as requested.
(Zip/Unzip still broken but) this is excellent. Very low latency and low overhead. Great job, Ton.
but first notice is there something else which can replace the midishort format of vvvv? like a custom object which delivers midi messages outside of vvvv's mainloop. that is a real bottleneck.
@microdee, of course the proper midi event implementation will run in the audio thread... but that's more a 2014 thing, as it needs some extra thought because you also want midiplayers which run in the audio thread but get midi clips from the vvvv thread in the form of spreads.
Thanks - this looks great!
Why is it using LoopBe, does it not have some kind of internal midi solution?
What happened with the funky granulator :-) I tried to port it to the current release, but didn't made it :-) also few filters might be usefull, low /hi pass band :-)
I'm no audio expert but the FFT output from this pack and the native Dshow FFT are very different (Audio Sink FFT produces <0 values).
Is there a formula I can use to make the outputs more similar?
@zeos almost all imaginable filters exist as VST already. the overhead is negligible compared to the actual effect it processes.
@guest have to check what formula is used...
found free, nice and simple vst packhttp://www.gvst.co.uk/downloads.htm
he is running also a kickstarterhttps://www.kickstarter.com/projects/gyeadon/gvst-on-the-mac, may be a nice way to support him ;)
I do not know but it seems that WaveForm plugin is missing...
@Patxi7 did you delete the old version of the audio pack from your /packs folder before you installed the new one?
there are now 2 versions, one is for the current beta31.2 and the other for all newer vvvv versions. hope that fixes the troubles. please confirm.
does not work on the current beta31.2 ..... may be is something with my installation... let somebody else to test as well.
@zeos: cannot reproduce this. please scan your vvvv folder for duplicate .dll files. maybe you have any .dll which is in the VVVV.Audio pack twice in your vvvv installation...
I'm still having issues with the + * nodes etc, I also get the same exception as zeos...
ok, please upload a bug patch somewhere. and tell me the combination of which vvvv version and which audio pack download you used.
Just the help patch from girlpower with added +
This is using my RME card, both asio4all and native dont work with it, beta31.2 and the latest Vaudio...
@cat and zeos: thanks, this helped to find the bugger. please try again, version 4 should work for beta31.2 and the alphas.
Works, just perfect!
one thing i found out: the AudioEngine (VAudio) doesn't work, if it's created during runtime (eg with createnode) and not present in the first frame.
could you also provide a 64bit pack? i already tried to checkout your git repo, but the naudio dependency is missing and i could not find it. perhaps you could check in naudio as a submodule?
it compiles for x64 (if you add naudio.dll - you don't need the naudio sources), but the vsthost stays red.
hello, a 64 bit version is already planned... in theory you would just need to exchange the referenced binaries.
i am trying to build it 64bit but there are errors:
same for zipnode,unzipnode,setslice,deleteslice,pairwise
what should i reference ?
the nodes are defined in VVVV.Nodes namespace and are in the assembly VVVV.Nodes.dll which is located in the lib/nodes/plugins folder of the vvvv distribution.
This pack is great ! (45beta31)
Thanks a lot !
But i can not get it to work with the lastest Beta32...
do you have the same experience?
yes, great pack tonfilm! Is there a trick to get it working in beta32? or if not, any plans to update it for 32?
i'll keep this in mind ! Seems AWESOME !!!
is there a way to play one audiofile with the filestream in parallel.
i am asking because i want to arbitrary trigger exactly one soundfile.
Does anyone know if it is possible to trigger VST instruments without midi. It seems inefficient to send a 'bang' out to midi, and then back in again. I just want to trigger a note directly by sending it an midi on/off and a note number within the patch.
beta32 please! :D
nice thanks bjoern!
I think there will be an official release as soon as everything is properly tested.
Looks like it is going nicely forward.
Can you give a comment about VST shells please? Is it hard to implement at all?
Waves Audio Plugins with VVVV would be badass for the mastering chain.
there is no support planned by the VST.NET library developer, this is a bit sad. but waves has a tool called shell2vst which extracts all its plugins out of the shell into single .dlls, that should do it.
Ah thank you!
x86 version of Beta32 comes back with red nodes.
x86 Beta33 doesn't show any nodes at all.
x64 Beta33 throws up the following error message when I open "VSTSynth.v4p" from the girlpower folder:
The VST node flickers between pink and grey, but the engine node is fine otherwise.
Please post problems in the forums and tell us more about your setup...
also, please test with new V6 release, i've recompiled the latest VST.NET sources which had a bugfix regarding the resource file. it should also be slightly faster as its compiled for CLR4 runtime which has better interop support for the vst part.
Thanks! And sorry for spamming. I'll check it out soon!
Hi thank you for big job, i got same error already posted, using beta 33.1_x64 and v0.7 ,vvvv running as administrator on windows 8.
I compiled also your source from github, same result, any hint ? :)
P.s.: Working fine with beta 33.1_x86.
Solved issue, Tebjan pointed me to something really simple, in x64 it should be used x64 VST :) I stepped into this assuming distributed Altair VST was any CPU.
Again is a great pack indeed, it move forward VVVV creative possibilities, just don't send values less then 0 :D
The LFO is missing, and from the FMsynthesis Girlpower patch. The Oscillators patch is pretty confusing, with broken links and only works when it loads up. I guess this has something to do with the ADSR node.
Ideally to understand what each does I think it would be easier if they were demonstrated in separate patches. At the moment I don't understand how to use them, but I'll experiment. Quite excited though.
Thanks, V9 SynthDemo patch in the Girlpower folder really clarifies things. Excellent work.
Hey Tonfilm. Amazing work!
I'm testing the Ambsonic vst plugins herehttp://www.matthiaskronlachner.com/?p=2015 using a 4 channel 1st order bformat wav, and converting to binaural using ambix_binaural_o1.dll
This is working really well! I want to rotate the soundfield in realtime and there is a vst in the pack for this (ambix_rotator_o1.dll)
When loading this vst for some reason no gui is visible, though there is one when using the plugin in reaper. In the info view I can see the parameters I want (yaw / roll / pan), and I can expose the first one by pressing 'expose', but as I cant move the controls in the gui I can't get at the other two. Any ideas?
do you see any messages in TTY? is the output of the plugin connected to an audio sink like AudioOut or Meter, some plugins need to process data or use strange hooks to update their UI...
Didnt see anything in tty.
The plugin is in the audio chain, and the audio side of it is working. By pressing 'expose' I can access the first parameter (yaw rotation), but still no gui to let me access the others. Is there another way I could get at the other parameters without having to move them on the gui?
The plugin is here if you have a moment to test it? https://www.dropbox.com/s/gbi2nj1gvrkfp2w/ambix_rotator_o1.dll?dl=1
hi mrboni, sorry for the long delay. the plugin you are trying to lead has no GUI defined by the developer. the UI which you see in your audio software is a generic UI provided by the DAW. most DAWs have this kind of fallback, but its not yet implemented in VAudio, see the known bugs section.
so either you have some funding to implement this in VAudio or you can ask the developer whether he is planning to provide a UI for his plugins which do not have one yet... quite a few in the current ambiX pack.
Is there any way to get DShow audio into this path, other than recording via AudioIn stereomix? I really, really want to get video playback audio into this package! (And a GREAT package it is! Thank you!)
Also for the wish-list:
thanks for the reply Tonfilm. Only just saw this.
How much work do you think is involved in adding gui fallback to VAudio?
@mrboni i think its about one day of work... would you be willing to sponsor it?
It's for non commercial (and non essential) work so it would be coming from my pocket.
I think I could go in three ways if there were another two people who would be willing?
@mrboni you can now load VSTs that have no editor and VAudio will generate a generic one:
I miss the old beatscanner-(bass), is there some alternative for NRT analysis?
Also, Beat Spectrum:
@reaktant you can still use the beatscanner to analyze files and then use the data in VAudio..
yeah, realized this right after posting.
thanks for the whole VAudio stuff btw.
Is there anyone who know about audio quantize on vaudio ?
@guest what do you understand under "audio quantize"?
i meant it Auto timing correction.
Bug - files larger than 2GB do not load in filestream - "non negative number required"
funky feature request: setting speed to negative in filestream would actually play the file backwards accordingly
hello @StiX the FileStream node is quite simple, it reads the file directly from disc into the audio buffer. reading files backwards is possible but complicated and might be expensive. better use a free sampler like Grace which also has better sound quality when changing speed...
anonymous user login