aboutsummaryrefslogtreecommitdiffstats
path: root/aataaj.lua
diff options
context:
space:
mode:
authoronefang2025-05-23 11:56:32 +1000
committeronefang2025-05-23 11:56:32 +1000
commit98053ca5ba4ce09f4c17fdb097485e26018f45c3 (patch)
treef6c9faa664ccc88a8e0296c2411d5a51f650ae62 /aataaj.lua
parentespeak-ng has an entirely undocumented way of speciyfying the output device. ... (diff)
downloadJackOnAllDevices-98053ca5ba4ce09f4c17fdb097485e26018f45c3.zip
JackOnAllDevices-98053ca5ba4ce09f4c17fdb097485e26018f45c3.tar.gz
JackOnAllDevices-98053ca5ba4ce09f4c17fdb097485e26018f45c3.tar.bz2
JackOnAllDevices-98053ca5ba4ce09f4c17fdb097485e26018f45c3.tar.xz
A few other speaking tweaks.
Diffstat (limited to 'aataaj.lua')
-rwxr-xr-xaataaj.lua17
1 files changed, 10 insertions, 7 deletions
diff --git a/aataaj.lua b/aataaj.lua
index d34ad8f..47a2f50 100755
--- a/aataaj.lua
+++ b/aataaj.lua
@@ -205,21 +205,21 @@ table.sort(Cards, function(a, b) return a.card < b.card end)
205print('') 205print('')
206io.flush() 206io.flush()
207 207
208
209local speak = function(card, subdevice, device, words, printIt, forkIt, ...) 208local speak = function(card, subdevice, device, words, printIt, forkIt, ...)
210 local files = {...} 209 local files = {...}
211 local s = '' 210 local s = ''
211 if nil == subdevice then subdevice = '' elseif '' ~= subdevice then subdevice = ',' .. subdevice end
212 if 0 == #files then 212 if 0 == #files then
213 local file = os.tmpname() .. '.wav' 213 local file = os.tmpname() .. '.wav'
214 D('Creating temporary script file at ' .. file) 214 D('Creating temporary script file at ' .. file)
215-- s = '#!/bin/bash\necho "' .. words .. '" | ALSA_CARD=' .. device .. ' ' .. speaker 215-- s = '#!/bin/bash\necho "' .. words .. '" | ALSA_CARD=' .. device .. ' ' .. speaker
216-- s = '#!/bin/bash\necho "' .. words .. '" | ' .. speaker .. ' -d hw:' .. device .. ',' .. subdevice 216-- s = '#!/bin/bash\necho "' .. words .. '" | ' .. speaker .. ' -d hw:' .. device .. subdevice
217 s = '#!/bin/bash\n' .. speaker .. ' -d hw:' .. device .. ',' .. subdevice .. ' "' .. words .. '"' 217 s = '#!/bin/bash\n' .. speaker .. ' -d hw:' .. device .. subdevice .. ' "' .. words .. '"'
218-- s = '#!/bin/bash\necho "' .. words .. '" | ' .. speaker .. ' -w ' .. file .. ' ; aplay --device=hw:' .. device .. ',' .. subdevice .. ' ' .. file 218-- s = '#!/bin/bash\necho "' .. words .. '" | ' .. speaker .. ' -w ' .. file .. ' ; aplay --device=hw:' .. device .. subdevice .. ' ' .. file
219-- s = '#!/bin/bash\n' .. speaker .. ' -w ' .. file .. ' "' .. words .. '" ; aplay --device=hw:' .. device .. ',' .. subdevice .. ' ' .. file 219-- s = '#!/bin/bash\n' .. speaker .. ' -w ' .. file .. ' "' .. words .. '" ; aplay --device=hw:' .. device .. subdevice .. ' ' .. file
220 else 220 else
221 s = 'aplay --device=hw:' .. device .. ',' .. subdevice 221 s = 'aplay -q --device=hw:' .. device .. subdevice
222 for i, v in ipairs(files) do s = s .. ' ' .. v .. '.wav' end 222 for i, v in ipairs(files) do s = s .. ' /usr/local/share/doc/aataaj/' .. v .. '.wav' end
223 end 223 end
224print(s) 224print(s)
225 if printIt then print(words) end 225 if printIt then print(words) end
@@ -236,6 +236,7 @@ if 'start' == cmd then
236 print('Your ' .. cnt .. ' audio devices are - ') 236 print('Your ' .. cnt .. ' audio devices are - ')
237 for k,C in pairs(Cards) do 237 for k,C in pairs(Cards) do
238 for j,c in ipairs(C['playbackDevs']) do 238 for j,c in ipairs(C['playbackDevs']) do
239 speak(C.name, nil, C.card - 1, 'Your ' .. cnt .. ' audio devices are - ', false, true, 'your', numbers[cnt], 'devices')
239 speak(C.name, C['playbackDevs'][j], C.card - 1, 'Your ' .. cnt .. ' audio devices are - ', false, true, 'your', numbers[cnt], 'devices') 240 speak(C.name, C['playbackDevs'][j], C.card - 1, 'Your ' .. cnt .. ' audio devices are - ', false, true, 'your', numbers[cnt], 'devices')
240 end 241 end
241 end 242 end
@@ -243,6 +244,7 @@ if 'start' == cmd then
243 __'sleep 6':Do() 244 __'sleep 6':Do()
244 for k,C in pairs(Cards) do 245 for k,C in pairs(Cards) do
245 for j,c in ipairs(C['playbackDevs']) do 246 for j,c in ipairs(C['playbackDevs']) do
247 speak(C.name, nil, C.card - 1, 'Device number ' .. C.card - 1 .. ', sub device ' .. C['playbackDevs'][j] .. ' : ' .. C.name, true, false, 'device', numbers[C.card - 1], 'sub', numbers[tonumber(C['playbackDevs'][j])])
246 speak(C.name, C['playbackDevs'][j], C.card - 1, 'Device number ' .. C.card - 1 .. ', sub device ' .. C['playbackDevs'][j] .. ' : ' .. C.name, true, false, 'device', numbers[C.card - 1], 'sub', numbers[tonumber(C['playbackDevs'][j])]) 248 speak(C.name, C['playbackDevs'][j], C.card - 1, 'Device number ' .. C.card - 1 .. ', sub device ' .. C['playbackDevs'][j] .. ' : ' .. C.name, true, false, 'device', numbers[C.card - 1], 'sub', numbers[tonumber(C['playbackDevs'][j])])
247 end 249 end
248 __'sleep 1':Do() 250 __'sleep 1':Do()
@@ -252,6 +254,7 @@ if 'start' == cmd then
252 print('Please type the device number you heard best - ') 254 print('Please type the device number you heard best - ')
253 for k,C in pairs(Cards) do 255 for k,C in pairs(Cards) do
254 for j,c in ipairs(C['playbackDevs']) do 256 for j,c in ipairs(C['playbackDevs']) do
257 speak(C.name, nil, C.card - 1, 'Please type the device number you heard best - ', false, true, 'best')
255 speak(C.name, C['playbackDevs'][j], C.card - 1, 'Please type the device number you heard best - ', false, true, 'best') 258 speak(C.name, C['playbackDevs'][j], C.card - 1, 'Please type the device number you heard best - ', false, true, 'best')
256 end 259 end
257 end 260 end