Olen opetellut käyttämään sox-ohjelmaa, koska haluan, että lapseni pystyvät syntetisoimaan musiikkia Unix-putkirakenteilla. sox on hieno, mutta käyttöliittymästä näkee, että ajateltu peruskäyttötapaus ei ole putkitus vaan yhden tiedoston muuntaminen toiseksi. Tiedostoformaattien automaattitunnistus ei toimi putkissa, ja soxille pitää erikseen kertoa, että haluaa tuloksen stdoutiin. Vertaa tätä:
sox haukku.wav haukku.au # tiedostomuodon muutos
Tähän:
sox -t raw -r 16k -e signed -b 16 - -t raw - reverb # kaikuefekti putkitetulle raakadatalle
sox on suunniteltu niin, että kaikki efektit tehtäisiin yhden sox-prosessin sisällä. Ajattelin kuitenkin tehdä aliaksia hauskoja sox-komentoja varten, jotta niitä voisi putkissa yhdistellä puhesynteesiin ja muuhun ääntenkäsittelyyn helpommin ja ymmärrettävämmin.
Olen tosiaan opettanut nyt lapsille hieman putkien käyttöä. Enimmäkseen vain leikitellään kokeilemalla eri asioita. Olemme tehneet parhaimmillaan sellaisia komentoja kuin:
$ cat tarina | grep -o '\w*ä\w*' | wc -w | festival --tts $ cat tarina | sed 's/a/ahaaa/g' | fmt
Tämän demosin muuten vain lapsille:
$ (seq 1 20 | sed 's/$/./'; echo 'Tullaan!') | festival --tts
Lapset ovat kinunneet larppitapahtumaa. Haastattelujen perusteella kyse on kuitenkin aika ohuiden hahmojen metsäleikistä. Aloimme organisoida tapahtumaa: http://tinyurl.com/bofferparty