Audiobus: Use your music apps together.
What is Audiobus? — Audiobus is an award-winning music app for iPhone and iPad which lets you use your other music apps together. Chain effects on your favourite synth, run the output of apps or Audio Units into an app like GarageBand or Loopy, or select a different audio interface output for each app. Route MIDI between apps — drive a synth from a MIDI sequencer, or add an arpeggiator to your MIDI keyboard — or sync with your external MIDI gear. And control your entire setup from a MIDI controller.Download on the App Store
Audiobus is the app that makes the rest of your setup better.
SynthMaker ( was VisualSwift ) for MacOS TestFlight alpha version 0.1.20
I've started working on a MacOS version of VisualSwift. The initial alpha version 0.1.20 is now available on TestFlight:https://testflight.apple.com/join/fljJsUUy
Please for now keep documents ( with extension .vswift ) for MacOS separate from iPadOS until the two versions catch up with each other.
In the future I intend to post version updates in the VisualSwift forum at: https://www.visualswift.com/forum/viewforum.php?f=20
Very early adopters and testers are welcome.
Good to see continued work on this application.
Ah cool, I had foolishly installed the original version on my mac but hadn't got into it yet, I'll try this instead...
0.1.21 fixes UI issue with low contrast colours when in Light Mode.
0.2.22 fixes crash when opening Madrona Labs Aalto's GUI.
Here's how to get started creating your own AUv3 Custom Instrument:
Is there a clock module?
I've created some clock related components that are not exposed on the menu yet although they're probably not quite what you mean. For example I have a step sequencer that allows you to select the number of steps and the speed multiplier, it works per voice.
I assume the clock you have in mind would be not per voice but like a master clock that all voices access. Would this clock component have a gate input for reseting it and controlling when it's on? How would you want to control the frequency of the clock? with number of samples or frequency or both? Would this clock be affected by transport play/pause etc? Would it be affected by BPM?
If you have an example of what you'd like to have would be great. It's very likely that I'll be able to implement it quickly.
This is something I could also split into lower level components like a counter with an Integer output connector, a separate Modulus component and another comparator component. I kind of like having more than one way to achieve the same result with the low level version opening up a lot more flexibility.
@Jorge Yes, I was thinking a universal bpm clock tied to the transport; ideally it would also support Ableton Link with start/stop sync for interoperability with other apps. Primary use case here is for having single primary clock for sending transport/bpm to midi sequencer AUs.
Clock divider modules would also be cool, where individual midi AUs could run at different clock speeds from the main clock.
Thanks for the info, I intend to work on the clock next after finishing working on Custom Waveforms:
With the latest version 0.1.25 you can generate your own Oscillator waveforms by typing code and calculating a wave table:
The screenshot above shows the code for a square wave: w[i] = zto<0.5?1:-1;
a sine wave would be: w[i] = sin(theta);
a triangle wave would be: w[i] = zto * 2-1;
the 4th waveform showing in the screenshot: w[i]=sin(theta * sin(theta * 2));
When you type the code for a waveform it updates the image and you can then click the "Calculate Table" button to generate an antialiased table with 512 versions going from 1 harmonic to 512, the appropriate version is used according to the frequency given to the custom oscillator. The custom oscillator accepts 4 tables and generates audio by blending between them according to an input value, where 0.0 = table1, 0.333 = table 2, 0.666 = table 3 and 1.0 = table 4, intermediate values morph between the appropriate 2 waveforms. An envelope or LFO can then be used to morph between them and sweep the whole range from table 1 to table 4.
Here's a YouTube video showing how to create and play your own custom waveforms defined by user typed C code:
Here's how to modulate a custom oscillator with a sine wave:
Here's the video for the GIF above:
Unfortunately I had to drop the name of VisualSwift as Apple started rejecting the uploads claiming the name conflicts with one of their products. Makes me think they might have started working on a product with the same name. It was a struggle to get the latest build approved for TestFlight. Gave me a sense that something weird was going on which now I know what it was.
I'm still thinking about the implications, might have to change file extension, create a new forum, setup a new domain and server etc etc. I've decided to use the name SynthMaker for now as I own the domain. I still don't know how to deal with the existing VisualSwift iPadOS app as any update that keeps the name and other references to the name VisualSwift will get rejected. I might have to create a new iPadOS SynthMaker app but I don't think there is a way to bring existing users across. I think for now I'll concentrate on the MacOS version.
Also very unfortunate that I've been developing VisualSwift as a way to create SwiftUI apps visually. Although I started using it for audio/synths/effects, the intention was to create a tool for creating generic apps. I think the name VisualSwift was quite appropriate. The name SynthMaker might give the wrong idea.
The latest version 0.1.28 has a lot of new components and bug fixes. Some that come to mind are ScopeFFT, Clock and interpolated Delay. I hope to post more info and upload a video about it. The PhTableX4Osc now uses interpolation which makes quite a big difference.
Sorry to hear that Jorge. I am always fascinated by your updates and I really want you to do well with your app as it is clear you are a talented developer with lots of great ideas.
@Jorge visualsynth or swiftmaker? Have a chat eithe the @TonalityApp guy. He changed the name of his app. You might pick up some pointers
Also wishing you the best @Jorge.
There is a way to change the app name without changing the identifier…so nothing breaks. I’ve owned a few apps whose name changed .
I instantly thought Swiftmaker as well, does what it says on the tin, though Apple might take a similar objection to that 🤷🏽♂️
Thanks for the support.
Yeah, I think keeping the word "Swift" is asking for trouble and I want to avoid investing in a name/domain for years and have to give it up. I guess SynthMaker is appropriate for now. I guess the app itself is more important than the name.
Thanks, I think I'll go for that solution, will keep the bundle ID as it is with visualswift on it . Still need to think if I should change the file extension from ".vswift", migrate the website and forum to another domain etc. I've just changed the name of the twitter and YouTube accounts which was easy but the handle is still @visual_swift etc.
Thanks @audiblevideo and @TonalityApp
I would leave the file extension as is
I guess it can always be justified as "for historical reasons". I wish I wasn't a perfectionist.
Otherwise, it ends up being a nightmare for users with .vswift files
FWIW, I always thought Visual Swift was a strange name for what the app actually seemed to be. Yes, it would be appropriate if it were a general purpose visual programming environment for Swift, which it may have started out as. But of course Microsoft (rightly) would be unwilling to allow that. They've already had VisualBasic, Visual Studio, they're certainly going to want the valuable "Visual Swift" name for themselves. Whoops, I knew something was strange as I wrote that! Yes, Swift is Apple not Microsoft. Similar reasoning applies though (with added twist that "Visual Swift" to many devs might actually sound like a Microsoft product).
Not sure how I feel about the name 'Synthmaker'. Seems like the app is about much more than merely making a synth, more of a general purpose audio environment.
live coding environment
I also own the domains RADBench.com, ProtiOS.com, ViDesk.com and VisualProg.com. I like the word environment, been trying to think of names with it.
I wonder if livecodingenviromnent.com is too long for a domain name. Maybe Visual Programming is a better fit than coding. VisualProgrammingEnvironment seems a bit too long.
just thinking out loud.
dspatch, livecoder, livenoder, vidsp, vicoder 😶
Thanks for the help brainstorming, very hard to find a good name but I'm around the same kind of thinking as your suggestions.
The latest version of SynthMaker 0.1.32 ( or whatever it will be called, the app formerly known as VisualSwift ) has a new low level Filter component which will eventually be used to create a high level Filter module:
I don't really understand the ". . . coder" names. Is there actually any coding in this environment? I haven't used it yet, but I've followed it, and it seems like it's mostly visual drag and drop of plugins and/or visual objects, along with specifying connections between them and properties or settings on these objects. Or am I mistaken? This isn't what most programmers call "coding". It's more a type of "visual programming", i.e., programming without code.
Seems to me like a good name would be something catchy that captures these three ideas: 1. audio, 2. visible objects, and 3. environment. Not perfect, but a couple possible ideas: "AudioWorld", "AudioObjects"
@hes live coding max pd any many others work in a similar way - object/patching
I agree, I like to think of it more like Visual Programming than coding. The main objective is to allow non-programmers to create applications like for example synthesizers.
Sometimes it is easier to use actual code but I like to consider them exceptions, for example the WaveSelector allows you to type some code to create a custom waveform:
I'd like a name related to Visual Programming. I think Audio would apply at the moment but I have a lot of features implemented that I hope to release in the future related for example to Visualizations ( although they're kind of related to audio ). I also have component to create generic apps for example to help with my eBay business downloading lists of order, manipulating them, printing labels, calculating profit etc all with visual components connected in schematics. I've also created components to interface with Arduino's,Raspberry Pi Pico, Hue lights etc.
I'm on purpose focusing on the creation of Custom Instruments for now but hopefully will move on to other applications in the future.
Would be nice to have a name that ages well, sometime I think of just making up a word without any meaning like Google or Yahoo did. A name without meaning would allow the project to go in any direction.
Karplus-Strong with new Reciprocal component on 0.1.33: