tmkkの物置き

2年間topに何もなかったので作ってみる。
主にPPC Mac用のかゆいところに手が届きそうで届かないツールを制作、移植、公開しています。
Intel Macが出た今でもPowerPCと心中する予定です心中する予定でしたが移行しちゃいました。
人口増加にご協力ください(自己満足)

現在のコンテンツ

全部オープンソース(という名の下における責任放棄)です。
PowerPCマークのものはIntel Macでは(Rosetta上でも)動かないものが多い気がします。と思ったらついにPowerPC専用が無くなってしまった...
  • Monkey's Audio for Mac OS X
  • リトルエンディアン超依存のMonkey's Audioを気合いで書き直したもの。ついでにAltiVecで高速化。
    長期放置してましたがUniversal Binaryにしてみましたよ。
  • PSF/SPC Player for Mac OS X
  • その名の通り。いろいろ弄りたいけどやっぱり現在長期放置プレイ中。一応Universal Binaryにはした。
  • lame binary for Mac OS X
  • lameをOSX向けにコンパイルしたもの。ただコンパイルしたものを置くだけでは何なので、多少(では済まないほど)ソースに変更を加えています。
    主な特徴は
    • コンパイルオプションの変更
    • 平方根計算部分を高速化
    • 部分的にAltiVecで記述 (G4/G5向け)
    といったところです。G4では105%、G5では95%程度高速になっています。
  • X Lossless Decoder: Lossless audio decoder for Mac OS X
  • 様々なロスレス(可逆)圧縮フォーマットに対応したデコーダ。FLAC、Monkey's Audio、Wavpack、TTA、Apple Lossless、AIFF、WAVなどに対応。cueシートを用いてこれらのファイルを分割する事も可能です。MP3、AAC、Ogg Vorbis, Apple Lossless, FLACに直接変換もできます。再生機能もつけてみました。
  • mpg123 patch for Mac OS X (with AltiVec)
  • mpg123 0.62に統合されましたので、そちらをお使いください。
    mpg123 0.60が出て、正式にOSXにも対応しているのですが、AudioUnitすら使っていないので置き換え。44.1kHz/16bit/Stereo以外のファイルも正しく再生できます。つか、ギャップレス再生もできますねコレ。
    標準でAltiVecのコードも含まれているのですが、自分の環境ではまともに動かず困ったので、結局1からAltiVec対応のソースを書き直す事に。元々FPUが2基ありVFPUのレイテンシが大きいG5でも60〜80%程度、FPUの弱いG4では効果が大きく100%程度の高速化を達成しています。4分38秒の曲をデコードした時の速度比較はこちら。Core DuoとかCore 2 Duoあたりでのベンチマークと比較してみたいところ...
    • 2006/9/18 19:20更新、gcc4向けの修正と更なる最適化。
    • 2006/9/19 0:15ベンチマークのグラフ更新、そのへんにあったOpteronとXeonマシンの結果を追加。
    • PowerPCは素のままだとしょぼーんな感じですが、AltiVecの素性がいいのでSIMD化した時の伸びは良く、それなりに戦える性能になる事が分かると思います。それにしてもNetBurstのクロック周波数あたりの性能の悪さは...
    • 2006/9/20 0:25ベンチマークのグラフ更新、Core DuoとPentium Mマシンの結果を追加。
    • さすがにこの辺りの素性は良いですね。
    • 2006/10/4 ベンチマークのグラフ更新、G5が省電力機能でクロック周波数が下がったまま測っていたので修正
    • 2006/10/12 AltiVec部分のみmpg123 teamに投げて、svn trunkにマージされました。次のリリース(0.61?)に含まれるでしょう。
    • 2006/10/22 mpg123 0.61リリース。AltiVecのパッチがマージされました。AudioUnitのパッチは引き続き提供します。0.60用
    • 2006/10/26 ベンチマークのグラフ更新、Core 2 Duoの結果を追加
    • 本業で使う事になったんですが...これはひどい。来春にはC2Dマシンに買い替えることにするか。
    • 2006/11/1 AudioUnitのパッチを(1から書き直した上で)本家に投げました。svn trunkにマージされたので、次のリリースに含まれるでしょう。
    • 2006/12/24 mpg123 0.62リリース。AudioUnitのパッチがマージされました。とりあえず当初の目的は達成したので、メンテナンスモードに移行します。0.61用
    • 2009/4/26 ものすごーく今更だけど、上のベンチマークでMMXとそれ以外を比較するのはフェアじゃない。MMXデコーダは演算精度を犠牲にしたアルゴリズム(IMDCT以降は整数演算)を使ってるので。もうすぐ出るmpg123 1.8.0には私が大幅に書き直した最適化ルーチンが多数入っているので、併せてベンチマークも更新します。

小物

GUIを付けてないとか、真面目に作ってないとか、いろんな意味で小物なツール達。

勝手にリンク


リンクフリー。 滅入るはこちら