Audiotoolbox Plugin

Allows EZBuilder to use UWP speech voices, change default audio devices, capture sound and route to an EZB.

+ How To Add This Control To Your Project (Click to Expand)
  1. Make sure you have the latest version of ARC installed.
  2. Select the Get button in this page to download the archive file.
  3. Double click the downloaded archive file to execute installer.
  4. The installer will add this control to ARC.
  5. Load ARC and press the Project -> Add Control button from the menu.
  6. Choose the Audio category tab.
  7. Press the Audiotoolbox Plugin icon to add the control to your project.


*** Version 13 ***

Fix for ARC 2020.02.28.00 release

*** Version 12 ***

Fix for ARC 2020.02.19.00 release

*** Version 11 ***

Fix for new ARC version

*** Version 10 ***

ImportUWPVoices command restored

*** Version 9 ***

Bug Fix (UI sync monitor object waits indefinitely, solution pulse the monitor when leaving ARC) 

*** Version 8 ***

Build Fix 

*** Version 7 ***

Bug Fixes

*** Version 6 ***

Added Audio Session Tracking 

Audio Session Tracking mode can be configured to:
1) None
No tracking (default)

2) All
Tracks all audio sessions from all processes 

3) CurrentProcess
Tracks only the current process (ARC instance) audio sessions

User-inserted image

When the Audio Session Tracking is active (All / CurrentProcess) an EZ-Script variable $NumberOfActiveAudioSessions counts the number audio sessions are active (playing) on the default render (output) device.

User-inserted image

a value of zero means the render device is idle.

sample script:


#Say and do not wait
Say("How vexingly quick daft zebras jump!")

#wait 100 ms to allow the session counter variable to update

#at least 1 will be printed
#wait for #active audio sessions is zero (render/output device is idle)

Say("Jived fox nymph grabs quick waltz.")


*** Version 5

Cortana Voice Added

*** Version 4 : New Features


ControlCommand("AudioToolbox Plugin", "ImportUWPVoices")

The above script command allows ARC to access the UWP Voices.

How to use quick video:

*** Version 2 : New Features

Set Default Devices:

User-inserted image

Select the desired devices and press "Set Default" button

Set Default Devices via EZ-Script:

First configure the devices:

User-inserted image



#SetDefault takes in consideration the device type (input or output)

#Set device 0 as default
ControlCommand("AudioToolbox Plugin", "SetDefault", 0)
SayWait("Hello Device 0")

#Set device 1 as default
ControlCommand("AudioToolbox Plugin", "SetDefault", 1)
SayWait("Hello Device 1")

*** Version 1

1) Start Capturing sound on device #1:


ControlCommand("AudioToolbox Plugin", "StartCapture", 1)

2) Set EZB #0 to listen to device #1:


#0 = EZB Controller Index (0..4)
#1 = Device Index (0..2)
#75 = Volume
ControlCommand("AudioToolbox Plugin", "StartEZBListen", 0, 1, 75)

2.1) Add EZB #1 to listen to device #1:


ControlCommand("AudioToolbox Plugin", "StartEZBListen", 1, 1, 100)

3) Stop EZB #0 to listen


ControlCommand("AudioToolbox Plugin", "StopEzbListen", 0)

4) Stop Capture on device #1


ControlCommand("AudioToolbox Plugin", "StopCapture", 1)


You have the option to configure the 3 devices (device num: 0 .. 2):

User-inserted image

User-inserted image

Me calling the team...
Fixed, doing the final tests.
thanks ptp my robot friend
lol, well is it done?, lol, lol
EZAng... Breath now..... Your reek of desperation was quite off putting....
#26   — Edited
you guys are the programmers

I am just an old man:(
#27   — Edited
What ptp forgot to mention and I am on good authority to say is that he secretly installed a "rootkit" in the plug targeted to your specific pc and network....*cool*:p
#28   — Edited
Patience is a virtue... ptp works full time and has a family... He generously made this plug-in on his own time which he doesn't have much of... Some of us still work and are busy so showing some patience and consideration would go a long way if you want others to help you....

FYI I am not a professional programmer, however ptp is....
#29   — Edited
All kidding around aside, 

I think this typing has sent a wrong message to you and ptp, forgive me if it has.

I am not in any rush nor am I trying to pressure ptp to do anything.

Believe me, I have another life here also.

I have already move on to other things...

be well


PS. I am aware of Justin Kruger and David Dunning and the Dunning and Kruger effect
#30   — Edited
Dunning-Kruger - please be careful on what you type.

I am aware of Justin Kruger and David Dunning and the Dunning and Kruger effect

I don't know you nor do you know me.

I believe, as text messages can send a wrong message, here too I see this might be happening.

As I stated on the other site, I am not in a rush nor am I trying to pressure anyone here.

be well

#31   — Edited
Crap, I knew I shouldn't have downloaded the Kindle version of the Catcher in the rye... Now CSIS (Canadian secret service) will be watching me...:p
Justin Bieber or Justin Trudeau ... can never remember which one is Prime Minister. To be honest I don't think it would matter.... Anyway one of them is going to be mad at me I guess....

Relax man and enjoy your plug-in......
#32   — Edited
Fixed & Released. Please report any collateral damage.
#33   — Edited
Hi, I just got back, Thanks ptp, whatever you did, it seems to work again.

Ever want to start a beginners coding class?

all the best

hello ptp,, what is your price for another update?  Audio toolBox Plugin


Fixed & Released.
100,000,000  thanks to you  my friend :-)

If you want to teach me, I am always ready to learn

I am taking java classes online now

thanks again

#37   — Edited
@EzAng... Teach you what? How to write a plugin? If it is a plugin you want to develop you are taking the wrong course... I believe you need to learn C# instead.... Javascript in terms of ARC is used for coding or scripting as an alternative to ezscript.... 

Here's the link for making a plugin for ARC... ARC skill plugin
#38   — Edited
Dunning-Kruger, how are you?

Today, I accomplished AIML Bot (added my code) Pandora bot, maybe tomorrow I will conquer C # or whatever which way the wind will blow me. 

I love learning, I have been using "processing" and java (object-oriented programming) to use the Kinect I have- cool stuff.

all the best to you