VVVV.Audio Pack Alpha
|Date:||25 Dec, 2013|
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
- LTC timecode support sponsored by meso based on elliotwoods work
- 64-bit support based on bjoerns branch
- FileStream got a Speed pin, also by courtesy of meso
There was no time to make proper help patches, but a few girlpower patches made it in the pack. 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 playback 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:
bedroomproducersblog - Free VST Plugins by Category
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
You need to install LoopBe (tested with LoopBe1) and Asio4All.
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 demo video comes along:
And if you are interested in how to patch audio with VL, here you go:
- version 13 comes with a VL example, open "VL Test.v4p" in /girlpower GitHub closed issues GitHub commits
- VST Shells are not supported yet, but you can use shell2vst from Waves to extract the single plugins into dlls
- Buffer read/write behave strangely some times
- can click while patching
CommentsComments are no longer accepted.
Please create a new topic in the vvvv beta forum to discuss this contribution.
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.
cool stuff! 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 pack http://www.gvst.co.uk/downloads.htm
he is running also a kickstarter https://www.kickstarter.com/projects/gyeadon/gvst-on-the-mac, may be a nice way to support him ;)
Hi there, 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
oi cat: nonofficial x64 version
Contains LTC Encoder / Decoder and Filestream with speedpin. By courtesy of Meso. Please test and report.
edit: forgot to mention the new nodes / features were of course developed by tonfilm.
cool :) Any chance of an x86 too? cheeky bleeder arent I! Thank you meso too
nice thanks bjoern!
I think there will be an official release as soon as everything is properly tested.
Hey tonfilm. 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 here http://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:
Being able to specify different/multiple input and output devices. Forcing the input and output to the same device is sort of limiting.
A version of FileStream(VLC) with VAudio output for video playback! Since that node takes a spread of input files and produces a spread of textures, seems like a natural to also output a spread of audio channels.
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?
the FileStream (VAudio) should be fixed now, please check with the latest version: vvvv.audio-pack-alpha
@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: http://www.rotorbrain.com/foote/papers/icme2001/icmehtml.htm#TOC
@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. https://yamahasynth.com/blog/quantize-before-or-after/360-quantize-before-or-after
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...
i am using reaktor x64, it might be special case, but when i am editing reaktor patch, and i remove some of the controls which were exposed, i dont think there is a way to delete them, they do not show up in the info
thanks for reporting, made a github issue... for now, recreate the parameter, delete the pin and then delete it in reaktor. not very convenient but it should work.
Do you recommend using x64 Vaudio on integrated Realtek soundcards with Asio4all drivers on win10? I had huge latency problems leading to crash of applications on different computers almost always. The setup was including Oculus or Kinect2. Without this usb hungry devices it was more stable.
and i have one more issue for you, 99% of the time when i try to quit vvvv/reset/delete vsthost, vvvv crashes, even when play is not enabled on audio engine
ok thanks, logged... in general, if you have more please write an issue on github, error reports on contribution comments stay way to long and confuse new users. especially when they are fixed a long time ago.
I'm new to the vvvv community, so pardon my ignorance, should it present itself in this post.
So i've been fiddling with vvvv and this audiopack in particular for the past few days. I'm currently working on a project, and my objective is to create an interactive experience. The sound ambience and design is integrated with a larger portion of said project. In it's current stage, i'm looking to design a multitude of sounds in vvvv, and from then apply various effects and filters that suits to my needs, thus creating stream of audio of some sort that is used by the rest of the patch in a malleable and interactive way, all in realtime -- that is to say that i'd like to avoid resorting to simply use an edited sound and playback it on the patch. What i'm going for is to synthesize something completely new and in doing so creating an interconnected, seamless interactivity.
Can such thing be done through the means of this pack or in any other way, for that matter? Thanks in advance, i appreciate any help i can get that revolves around this idea.
It is possible, if you are using VST instruments inside VVVV.
There are many VST's for synthesis, probably you know but I drop anyway that link: https://www.kvraudio.com/plugins/windows/macosx/vst-plugins/vst3-plugins/audio-units/aax-plugins/rack-extensions/instruments/free/most-popular
For payed version, personally i am a fan of the VSTs from Madrona Labs for more unique sounds with accoustic envelope models https://madronalabs.com/ and DUNE 2 for the more drony / fat sounds https://www.synapse-audio.com/dune2.html
On the pure VVVV side you can check out the Wavetable example in this pack, here you can make sounds with spreads, which is also very unique.
also make sure you check this site: vvvv.audio-node15-workshop-patches
and watch the vvvveekend vvvvorkshop video on how to control vst parameters from vvvv: https://youtu.be/I2nnyRkbllo?t=1h54m19s
Hi there, I'm having a strange issue with the "AudioEngine (VAudio)
)" node. If i select the "ASIO4ALL" driver VVVV completely crashes. I already tried to get some Information with the TTY Renderer without success. I just wanted to copy the project from one to another workstation(It's working there). I copied the entire VVVV-Folder including all packs etc. an installed all drivers including ASIO4ALL.
The driver ist accessible trough the systemsettings.
Do you have any idea what i could do, or who i could catch the error for further troubleshooting.
if filestream is not constantly changing value on any of the number input pins, it will not engage the loop start/end arguents
thx a lot(!) for this package! :)
i was wondering how the audioIn works... the default DShow9 AudioIn has a driver inputPin, where i can choose (for example) my virtual audio cable to stream spotify. is there a way to achieve something like this with vAudio?
The MIDI assemble nodes (MidiNote, MidiRaw, MidiController) are all throwing exceptions in beta_42_x64 at each MIDI event that should be sent:
00:00:15 ERR : Exception occured in TMPluginWrapperNode.Evaluate 00:00:15 ERR : Method not found: 'Void Sanford.Multimedia.Midi.ShortMessageEventArgs..ctor(Byte, Byte, Byte)'.
This does not happen in 38.1 - not sure about the betas between that and 42. This is on Win10 Pro 21H1 x64.