Not really much to show as I can't do any thing until I find a way to extrapolate just the "filename" and not the full path.
But I will show you what I've got..
This is for the recording of ShoutOuts and Reply's and dealing with the processing of the wavs after being recorded (cleanup)
<?xml version="1.0" encoding="utf-16"?>
<commandGroup open="True" name="Shoutout" enabled="True" prefix="" priority="0" requiredProcess="" description="">
<command id="979" name="ShoutOut" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>TcpMic.SaveNext</cmdType>
<cmdString>Z:\Library\Shoutouts\Processing\shoutouts</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.SetVoiceName</cmdType>
<cmdString>IVONA Amy</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>VC.Pause</cmdType>
<cmdString>300</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>XJson.SoftMute</cmdType>
<cmdString>80</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.SpeakSync</cmdType>
<cmdString>{M:TTS.Go for it}</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>XJson.SoftUnMute</cmdType>
<cmdString />
<cmdRepeat>1</cmdRepeat>
</action>
<phrase>Shout Out</phrase>
</command>
<command id="994" name="Reply" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>TcpMic.SaveNext</cmdType>
<cmdString>Z:\Library\Shoutouts\Processing\R1{var.ShoutFile}</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.SetVoiceName</cmdType>
<cmdString>IVONA Amy</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>VC.Pause</cmdType>
<cmdString>300</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>XJson.SoftMute</cmdType>
<cmdString>80</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.SpeakSync</cmdType>
<cmdString>{M:TTS.Go for it}</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>XJson.SoftUnMute</cmdType>
<cmdString />
<cmdRepeat>1</cmdRepeat>
</action>
<phrase>Reply</phrase>
</command>
<command id="647" name="Process ShoutOut" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>Results.SetVar</cmdType>
<cmdString>ShoutFile&&{1}</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Launch.RawParam</cmdType>
<cmdString>"C:\Program Files (x86)\sox-14-4-1\sox.exe"&&"C:\Program Files (x86)\sox-14-4-1C:\sox.exe" "z:\library\shoutouts\processing\{var.ShoutFile}" "z:\library\shoutouts\{var.ShoutFile}" gain -n -3 silence 1 0.1 0.8% -1 0.5 0.8% contrast 50</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<event>TcpMic.WavSaved</event>
</command>
</commandGroup>
This is the track announcing section. You only need to focus on the ShoutOut action to see what I'm doing.
<?xml version="1.0" encoding="utf-16"?>
<commandGroup open="True" name="Announcer" enabled="True" prefix="" priority="0" requiredProcess="" description="">
<command id="571" name="Ducker" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>XJson.SoftMute</cmdType>
<cmdString>90</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<event>XBMC.Player.OnPlay.song</event>
</command>
<command id="552" name="ShoutOuts" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>Sound.PlayWav</cmdType>
<cmdString>Z:\Library\Stings\ShoutOut - Snap In.wav&&True</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>File.GetRandFile</cmdType>
<cmdString>Z:\Library\ShoutOuts\&&shoutout*.wav</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Results.SetVar</cmdType>
<cmdString>ShoutFile</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Sound.PlayWav</cmdType>
<cmdString>{var.ShoutFile}&&True</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Sound.PlayWav</cmdType>
<cmdString>Z:\Library\Stings\ShoutOut - Snap In.wav&&True</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Sound.PlayWav</cmdType>
<cmdString>R1{var.ShoutFile}&&True</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Sound.PlayWav</cmdType>
<cmdString>R2{var.ShoutFile}&&True</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Sound.PlayWav</cmdType>
<cmdString>R3{var.ShoutFile}&&True</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Sound.PlayWav</cmdType>
<cmdString>Z:\Library\Stings\ShoutOut - Snap Out.wav&&True</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<event>XBMC.Player.OnPlay.song</event>
</command>
<command id="553" name="TTS Announce" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>XJson.Raw</cmdType>
<cmdString>Player.GetItem&&"playerid":0, "properties": ["title", "album", "artist","genre"]</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>XJson.ParseTokens</cmdType>
<cmdString>{item.genre}</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<if ifBlockDisabled="False" ifNot="False">
<ifType>(A)Contains(B)</ifType>
<ifParams>{LastResult}&&Podcast</ifParams>
<then />
<else>
<action>
<cmdType>Sound.PlayWav</cmdType>
<cmdString>Z:\Library\Stings\TTS fade in.wav</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.SetVoiceName</cmdType>
<cmdString>IVONA Amy</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>XJson.ParseTokens</cmdType>
<cmdString>Now playing. {item.title}. |Now for. {item.title}. |Lets enjoy. {item.title}. |Now for some. {item.title}. |Time to enjoy. {item.title}. </cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>VC.Pause</cmdType>
<cmdString>300</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.SpeakSync</cmdType>
<cmdString>{LastResult}</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.SetVoiceName</cmdType>
<cmdString>IVONA Brian</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>XJson.ParseTokens</cmdType>
<cmdString>From the band. {item.artist[[ & ]]}|From the artist. {item.artist[[ & ]]}|The group. {item.artist[[ & ]]}|{item.artist[[ & ]]}</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.SpeakSync</cmdType>
<cmdString>{LastResult}</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Sound.PlayWav</cmdType>
<cmdString>Z:\Library\Stings\TTS fade out.wav</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>VC.Pause</cmdType>
<cmdString>300</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
</else>
</if>
<event>XBMC.Player.OnPlay.song</event>
</command>
<command id="589" name="Sting - Podcast" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>XJson.Raw</cmdType>
<cmdString>Player.GetItem&&"playerid":0, "properties": ["title", "album", "artist","genre"]</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>XJson.ParseTokens</cmdType>
<cmdString>{item.genre}</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<if ifBlockDisabled="False" ifNot="False">
<ifType>(A)Contains(B)</ifType>
<ifParams>{LastResult}&&Podcast</ifParams>
<then>
<action>
<cmdType>Sound.PlayWav</cmdType>
<cmdString>Z:\Library\Stings\Sting - Snap In.wav&&True</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>XJson.ParseTokens</cmdType>
<cmdString>{item.artist[[, also, ]]}</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>File.GetRandFile</cmdType>
<cmdString>Z:\Library\Stings\&&{LastResult}*.wav</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Sound.PlayWav</cmdType>
<cmdString>{LastResult}&&True</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Sound.PlayWav</cmdType>
<cmdString>Z:\Library\Stings\Sting - Snap Out.wav&&True</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>XJson.Raw</cmdType>
<cmdString>Input.ExecuteAction&&"action":"skipprevious"</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
</then>
<else />
</if>
<event>XBMC.Player.OnPlay.song</event>
</command>
<command id="592" name="Sting - Music" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>XJson.Raw</cmdType>
<cmdString>Player.GetItem&&"playerid":0, "properties": ["title", "album", "artist","genre"]</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>XJson.ParseTokens</cmdType>
<cmdString>{item.genre}</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<if ifBlockDisabled="False" ifNot="True">
<ifType>(A)Contains(B)</ifType>
<ifParams>{LastResult}&&Podcast</ifParams>
<then>
<action>
<cmdType>Sound.PlayWav</cmdType>
<cmdString>Z:\Library\Stings\Sting - Snap In.wav&&True</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>XJson.ParseTokens</cmdType>
<cmdString>{item.artist[[, also, ]]}</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>File.GetRandFile</cmdType>
<cmdString>Z:\Library\Stings\&&{LastResult}*.wav</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Sound.PlayWav</cmdType>
<cmdString>{LastResult}&&True</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Sound.PlayWav</cmdType>
<cmdString>Z:\Library\Stings\Sting - Snap Out.wav&&True</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
</then>
<else />
</if>
<event>XBMC.Player.OnPlay.song</event>
</command>
<command id="549" name="Ducker" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>XJson.Raw</cmdType>
<cmdString>Input.ExecuteAction&&"action":"skipprevious"</cmdString>
<cmdRepeat>0</cmdRepeat>
</action>
<action>
<cmdType>XJson.SoftUnMute</cmdType>
<cmdString />
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>XJson.SetVol</cmdType>
<cmdString>100</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<event>XBMC.Player.OnPlay.song</event>
</command>
</commandGroup>