Connecting Bundled Modules

General discussions related with VisualSwift. This version is not currently available although most of the music related and DSP features will be exposed again later on inside the new VisualSwift - Music app.
Post Reply
Site Admin
Posts: 52
Joined: Sat Nov 30, 2019 2:17 pm

Connecting Bundled Modules

Post by jorge » Sat Jul 18, 2020 4:42 pm

This is the answer to the question of how to connect the bundled AudioOut module to a schematic hosting an AUv3 Instrument.

Here's the short answer before the long one: The Bundled AudioOut Module was meant to be used when creating a synthesiser from low level components and not when hosting AUv3 Instruments and Components. The Bundled modules will need to be updated now that VisualSwift is an AUv3 host. Currently (v0.5.8) the Bundled AudioOut module can cause a crash when dragged to a schematic that already has an AudioOut component, I hope to fix that for v0.5.9.

Now for the long answer:

Let's start with a very simple schematic and the Bundled side panel open:


Let's drag the AudioOut Module from the Bundled side panel to the schematic as follows:


The question is how to connect the module to the rest of the schematic.

The most important thing to understand here is the connector types, in the schematic above we can see 6 different connector types:


Knowing the connector types makes it easier to understand the schematic, we have a MidiIn component that delivers Midi events to the Instrument component which has an Audio Unit node output connected to the AudioOut component.
The colours also have a meaning which is often used in the header of the components.

Now we dragged from the Bundled modules a HStack component with the name AudioOut, note that the name of a component shows above the type of the component, in this case the name is "AudioOut" and the type "HStack".

The module we've dragged in is meant to be used for creating a synthesiser from low level components. In the future I'll go more in detail on how it works but to see what's inside the Module you can tap the little triangle to see the following:


Basically this Module accepts two Poly inputs for left and right channel, it multiplies them by a value determined by the rotation of a knob, it adds all the voices from the poly data into two separate mono channels, converts them to AV ( Audio Unit Node ), then to an Audio Unit Reverb and finally to the Audio Unit AudiOut component. Please note that in this case this is the second Audio Unit AudiOut component in the schematic which in versions up to v0.5.8 causes a crash as for now you should have only one AudioOut component. I'll try to fix the crash for the next v0.5.9, meanwhile please avoid having two AudioOut components in the same schematic.

Note the brown Modifier components which are responsible for padding the two knobs, giving them a gray background and round corners. The two knobs are laid out horizontally because they're inside a HStack View component.

I hope this all makes sense and I'll be happy to answer questions.

For now, please note that the Bundled modules were created when VisualSwift was focused in creating Software Synthesisers only. From now on the focus will be in being an Audio Unit Host while at the same time being able to mix low level audio synthesis and user interface. The Bundled modules will need to change but the most important is that the functionality of being able to drag Bundled modules into a schematic works. Note that there is also a Custom modules side panel that works similarly to the Bundled modules but allows a user to drag their own modules into it.

I'm considering implementing different modes like for example: "AUv3 Host", "Audio Synthesis", "GUI" etc, if as user would for example have only "AUv3 Host" mode switched on, they wouldn't see any of the low level audio synthesis components or GUI components which might initially be confusing for them but when they're ready, they'd be able to switch them on.

If anything doesn't make sense please ask for an explanation.

Post Reply