トリップは主戦場で - LadioCast開発記その45
ねとらじ拡張ヘッダと、ヘッドラインへのDJ名追加のお知らせのDJ名追加は軽くスルーして(^^;)トリップ機能は主戦場(ジャンル、とか番組名とか説明とか、その他にもいろいろ欄あるよ)にそのうち来てほしいね〜、うんうん^^。
formerly named MacLadioCast
前へ 1 2 3 4 5 6 7 8 9 10 11 12 次へ
ねとらじ拡張ヘッダと、ヘッドラインへのDJ名追加のお知らせのDJ名追加は軽くスルーして(^^;)トリップ機能は主戦場(ジャンル、とか番組名とか説明とか、その他にもいろいろ欄あるよ)にそのうち来てほしいね〜、うんうん^^。
開発もせんと軽い話題で。
livedoorねとらじの番組説明が説明欄に書かれるようになった後の空いたジャンル欄、いわゆる「タグ」を書くフィールドとしたらどうでしょうという提案。 ここでの「タグ」とはよく動画共有サイトでコンテンツに付けることができるあのキーワード達。
タグが書かれるという前提でサーバ側の表示(タグクラウドとか)や検索(条件のプルダウン自動生成とか)が実装されたりしないと、しかし強い説得力が生まれない。 とりあえずヘッドラインソフトウェアでの条件設定はやりやすくなるとは思うんだけれど、まさに卵が先か鶏が先か、な世界。
より積極的に、釣り放送(人間やヘッドラインソフトウェアを騙してリスナー数を上げる放送)回避に使う話もできます。 例えばWindows用ねとらじヘッドラインソフトウェアらじChu~♪で有名な作者さんが釣り放送というエントリーで「トリップ」を用いる対策案を書かれてます。 ねとらじサーバーで#で始まるキーワードはトリップを生成して置換、とかなるとこれもがぜん説得力が出てくる話。
こういうアイデアを考えるのはしかし楽しいですね。
今回も性懲りもなくまたMacでループバックさせるネタ、なんですが今度は使う方の基本的なお話です。
アプリケーションの出力をSoundflowerでループバックさせる場合、システム環境設定でシステムデフォルトのサウンド出力先をSoundflowerへ向けることで行ったりします。
しかし使用するアプリケーションが自らサウンド出力先をSoundflowerに指定できれば、システムでの設定は必要ありません。
Skypeは元から指定できますが、音楽プレイヤーで指定できるアプリケーションはあるでしょうか。
私が知っているものではVLC media player(0.8.6f)があります。設定場所はスクリーンショットにて(ただしこの設定は保存されないようです)。
BGMを流しながらSkypeで凸待ち、というlivedoorねとらじなどで典型的な放送形態なら、システムデフォルトの出力をまとめてまわす設定以外でも必要な音をまわすことができそうですね。
Mac内部の再生音を入力に持ってくるためのループバック方法としてSoundflower使用やLine out - inの外部結線を紹介しましたが、第3弾としてJack OS Xを使う方法を試みましょう。
Jack (the Jack Audio Connection Kit)はアプリケーション間でオーディオデータをやりとりするためのソフトウェアでLinuxおよびMac OS Xで動作するようです。 構成としてはサーバ・クライアント型ということで汎用的な反面Soundflowerよりも扱いが難しいですが、ここでは単純にLadioCastへのループバックラインを形成することだけを目標にしましょう。 以下環境はMac OS X 10.5.2 Intel上でJack OS X 0.77を用いています。
インストールしてJackPilotを起動しPreferences画面で以下のように設定します。
![]()
この設定を補足説明します。
Interfaceには入力と出力の両方を備えたデバイスを指定します。デバイスはAudio MIDI 設定でも作ることができますが、今回このインターフェースは使いませんので簡単にSoundflower (2ch)を指定しておきます。Buffer SizeはJackデバイスとのからみでLadioCastのサンプルフレーム長(デフォルト256)以下を指定しておきます。これはLadioCastが起動時にデバイスの設定エラーを検出し終了するのを回避するためです。
JackPilotのStartボタンを押してJack Serverを起動します。
Macのシステム環境設定でサウンドの出力をJackRouterに設定し、再生音を取り込めるようにします。
![]()
以下テストのためにiTunesを起動し、ついでにSkypeも起動して出力デバイスをJackRouterにしておきます。
LadioCastを起動し、入力デバイスにJackRouterを設定します。この状態ではまだ入力信号はありません。
JackPilotのRoutingボタンを押して以下のようにConnectionsを作成します。Send Ports上でシングルクリック、Receive Ports上でダブルクリックすると両者を接続するConnectionsが作成/削除されるようです。
以上の設定がうまくいっていればLadioCastへ再生音を取り込めるはずです。
しかし大変ですね〜^^;。Jackの構成の真価はJack対応アプリケーションやJackプラグイン対応ソフトウェアからJackサーバへ直接接続する場合に発揮されそうです。対応DAWソフトウェアなどお持ちの方はプラグインの方も試してみて下さい。
今回はLadioCast関連でも今までにないマニアックな話ですのでお気をつけて^^。
AltiVec accelerated LAME binray for Mac OS XでLAME MP3をPowerPC用に最適化されている方がいらっしゃいます。
用意されているバイナリの方は残念ながらダイナミックライブラリ形式ではないのでLadioCastから使うことはできません。
ここはXcode前提でソースからビルドしていくことにしましょう。
以下ターミナル.appを使いまくります。
LAME MP3 Encoder :: Software Downloadsからオリジナルのソースlame-3.97.tar.gzをダウンロードしておきます。
使うMacのCPUアーキテクチャを調べます。
$ machine
ppc7450
lame397_g4_7450_20061022.tar.bz)
ダウンロードしたファイルを展開し、ビルドします。
CPU最適化を行ったものをビルドするわけですからCFLAGSオプションもその方向でもって指定します(G5マシンではオプション-mcpu=7450は無しでOK)。
$ tar zxvf lame-3.97.tar.gz
$ tar jxvf lame397_g4_7450_20061022.tar.bz2
$ cd lame-3.97
$ cat ../lame397_g4_7450_20061022/*.patch | patch -p 0
$ CFLAGS='-mcpu=7450 -fast -fPIC -mpim-altivec' ./configure
$ make
${HOME}/libを作って置きましょう。
$ mkdir ~/lib
$ cp libmp3lame/.libs/libmp3lame.dylib ~/lib
さてLadioCastを立ち上げ、どのぐらい軽くなるかみてみましょう。 使用したマシンはPower Book 1.5GHz。結果ビットレート128kbpsステレオ放送時のLadioCast CPU使用率で1割から2割減りました。
以上興味のある方は開発環境(Xcode)を入れたPowerPCマシンで挑戦してみて下さい。