(toiminnot)

hwechtla-tl: Nettipäiväkirja 01.11.2013

Kierre.png

Mikä on WikiWiki?
nettipäiväkirja
koko wiki (etsi)
viime muutokset


Olen jatkanut sox-ohjelman toiminnan selvittelemistä. Se on oikeastaan ihan hyvin dokumentoitu, mutta järjettömän monimutkainen ja täynnä historiallista painolastia. Kaikilla efekteillä on argumenteilleen vähän erilainen syntaksi, ja jos jokin efekti on osoittautunut kömpelöksi käyttöliittymältään, sen tilalle on yleensä tehty uusi. Niinpä esimerkiksi kanavien vähentämiseen soveltuvia efektejä on kolme: channels, mixer ja remix. (Lisäksi syötetiedostot voi yhdistellä mix-metodilla, mutta se ei ole "efekti".)

Olen törmännyt myös muutamiin nurkkatapauksiin, joita ei ole dokumentoitu. Yhden olen jo maininnut: tiedostomuotojen automaattitunnistus ei toimi putkissa. Ilmeisesti sox yrittää ensin tunnistaa tiedostomuodon, sitten siirtyä takaisin tiedoston alkuun ja lukea sen. Tuloksena on, että tunnistus toimii, mutta alettaessa sitten lukea tiedostoa sen header on jo mennyt eikä sox saa sitä luetuksi. Toinen nurkkatapaus on se, että kanavien poistaminen ei ilmeisesti toimi play-komennossa eli jos tuloslaitteena on äänikortti.

Jos siis haluaa soittaa esim. syntetisoidun soinnun, ei kannata sanoa

$ play -n synth 1 pluck A2 pluck E3 pluck A3 remix -p -
vaan
$ sox -n -p synth 1 pluck A2 pluck E3 pluck A3 remix -p - | play -p

Vaikka man-sivu on 3000 riviä pitkä, silti kaikkia asioita ei ole dokumentoitu. Esimerkiksi synth-efektissä on selitetty, mitä kaikkia "yhdistelytapoja" syntetisoidulla äänellä on, mutta ei, mitä "create"-tapa tekee. (Ilmeisesti korvaa aiemman äänidatan syntetisoidulla.)

Mutta ihan hauskaa tämä on. Kokeilkaa, jos haluatte:

$ pip () { sox -n -p synth 1 sin $1 fade 0 .4 .3; }
$ for note in A3 B3 C4 D4 E4 C4 E4 C1 Eb4 B3 Eb4 C1 D4 A3 D4; do pip $note; done | play -p


kommentoi (viimeksi muutettu 17.11.2013 21:28)