25 lines
667 B
Bash
25 lines
667 B
Bash
#!/bin/bash
|
|
|
|
function voicesed() { sed 's/\([^ ]*\) .*/\1/;'; }
|
|
function voicelist() { say -v ? | voicesed; }
|
|
function voicelistenglish() { say -v ? | grep 'en_' | voicesed; }
|
|
function voicerandom() { voicelistenglish | shuf -n 1; }
|
|
|
|
function voicelistnormal() {
|
|
voicelistenglish |
|
|
sed '/Trinoids/d;/Zarvox/d;/Deranged/d;/Hysterical/d;/Bahh/d;/Bubbles/d'
|
|
}
|
|
function voicerandomnormal() { voicelistnormal | shuf -n 1; }
|
|
|
|
function sayvoices() {
|
|
for voice in $(voicelist); do
|
|
say -v "$voice" $(say -v ? | grep $voice | sed 's/[^#]*# //');
|
|
done
|
|
}
|
|
|
|
function sayone() {
|
|
local voice=$(voicerandom);
|
|
say -v "$voice" $(say -v ? | grep $voice | sed 's/[^#]*# //');
|
|
}
|
|
|