Ruby - will take pinyin either as first quoted arg or as pipe, converts to ipa. Certainly not without flaws.