Soundflowerの構成をカスタマイズしてみる – LadioCast開発記その28

in LadioCast
2007-12-06-1.png

おなじみSoundflowerはLadioCastで音声配信を行う際に大変役立つソフトウェアで、簡単にいうと仮想的な出力デバイスと入力デバイスとの対を作り結線してループバックラインを用意してくれるものですね。
デフォルトの構成では2chライン1本と16chライン1本の構成ですが、プロパティファイル /System/Library/Extensions/Soundflower.kext/Contents/Info.plist に変更を加えることでカスタマイズできるようです。ここでは試しに2chラインのみ3本の構成にしてみます。区別するためにデバイス名の後ろにA,B,Cと加えることにしましょう。
変更は難しくありませんが参考のためファイルの変更内容を最後に付けます。形式がdiffコマンドによるファイル差分出力ですので悪しからず。実際の変更には、ユーザーrootが所有者である同ファイルに対しての書き込み権限が必要です。ファイルは念のためバックアップをとっておきましょう。
変更が済んだ後Macを再起動します。意図どおりの構成に変っていれば成功です。
(画像は以上のカスタマイズをした後のシステム環境設定 – サウンド – 出力のスクリーンショットと、作成された全てをLadioCastの入力デバイスに選択してみた様子です。)

2007-12-06-2.png

ファイル/System/Library/Extensions/Soundflower.kext/Contents/Info.plist差分

35c35
< 					<string>Soundflower (2ch)</string>
---
> 					<string>Soundflower (2ch) A</string>
74c74
< 					<string>Soundflower (16ch)</string>
---
> 					<string>Soundflower (2ch) B</string>
91c91
< 							<integer>16</integer>
---
> 							<integer>2</integer>
108a109,147
> 				<dict>
> 					<key>BlockSize</key>
> 					<integer>8192</integer>
> 					<key>Description</key>
> 					<string>Soundflower (2ch) C</string>
> 					<key>Formats</key>
> 					<array>
> 						<dict>
> 							<key>IOAudioStreamAlignment</key>
> 							<integer>1</integer>
> 							<key>IOAudioStreamBitDepth</key>
> 							<integer>32</integer>
> 							<key>IOAudioStreamBitWidth</key>
> 							<integer>32</integer>
> 							<key>IOAudioStreamByteOrder</key>
> 							<integer>0</integer>
> 							<key>IOAudioStreamDriverTag</key>
> 							<integer>0</integer>
> 							<key>IOAudioStreamIsMixable</key>
> 							<integer>1</integer>
> 							<key>IOAudioStreamNumChannels</key>
> 							<integer>2</integer>
> 							<key>IOAudioStreamNumericRepresentation</key>
> 							<integer>1936289396</integer>
> 							<key>IOAudioStreamSampleFormat</key>
> 							<integer>1819304813</integer>
> 						</dict>
> 					</array>
> 					<key>NumBlocks</key>
> 					<integer>2</integer>
> 					<key>NumStreams</key>
> 					<integer>1</integer>
> 					<key>SampleRates</key>
> 					<array>
> 						<integer>44100</integer>
> 						<integer>48000</integer>
> 						<integer>96000</integer>
> 					</array>
> 				</dict>

Continue reading…

7 Responses to “Soundflowerの構成をカスタマイズしてみる – LadioCast開発記その28”

  1. かわうそさんこんばんは。
    私は OSX10.5 を使っていますが、どうもこの方法を実行しても、システム環境設定のサウンドにA,B,Cの3つのラインが出てきません。
    この方法は OSX10.4 までしか対応していないのでしょうか?
    もちろんSoundflowerは1.2.1にしておきました。
    もしかすると、Info.plistを上書きしたのが問題だったのでしょうか?

  2. かわうそ

    犀さんこんな奥地までようこそ^^!
    Soundflower 1.2.1がチャンネルを構成しているのはOSのバージョンにかかわらずこのファイルに依っているはずですので、後は見てうまいこと追加・変更してあげるということになりますね。前提知識無くとも見ればなんとなくわかります。
    変更後の再起動は必須です。

  3. かわうそさんこんにちは。
    「ユーザーrootが所有者である同ファイルに対しての書き込み権限が必要です」と書かれていますが、実際にはどうすればよいのでしょうか?
    私は Property List Editor で info.plist を変更して上書き保存をしたところ、 You do not have appropriate access privileges. とエラーが出ました。
    そこで、一旦デスクトップ上に保存して、Contents フォルダ上にドラッグして認証して上書きしました。
    再起動をしますが、リンゴマークが回転したままで起動できません。
    アクセス権に問題があるんでしょうが、途方に暮れてます・・・(-_-)

  4. かわうそ

    犀さんこんにちは!
    その後回復・起動できましたか? できない場合はMacの様々ある起動方法を調べて、当該ファイルを元に戻す等して通常起動できるまでにまずなることが先決ですね。
    上書きの方法自体はそれでよかったと思います。
    root(スーパーユーザ)のaccess privilegesで当該ファイルを開くには、例えばTerminalアプリケーションで
    sudo open /System/Library/Extensions/Soundflower.kext/Contents/Info.plist
    と実行したり、その他様々なやり方が考えられます。
    いずれにしてもこの記事はSoundflowerのハックについての話でしたので、またいろいろ知識をつけた上で挑戦してみて下さい。
    ではでは。

  5. トマト

    はじめまして。MacでUSTREAM放送する方法を調べているうちにこちらのブログに辿り着きました。
    Soundflowerのラインを増やしたいと考え、Info.plistの内容を書き換えてみたのですが何も反映されません。
    現在のバージョンでは無理なのでしょうか?
    もしよろしければヒントを教えて頂けたら幸いです。

  6. kawauso

    トマトさんこんにちは!
    改めて今のOS X 10.8でやってみると単純なファイル書き換えだけではうまくいかなくなっていますね。
    セキュリティー強化のようです。
    書き換え後手動でSoundflowerカーネル拡張モジュールを再ロードして(kextunload,kextload)、カーネル拡張情報のキャッシュを更新(kextcache)すれば反映されて定着するようです。
    この手順について改めてブログのエントリーを書きたいと思います。
    ではでは。

  7. トマト

    ご回答ありがとうございました。
    手順についての記事を期待して待っています。
    よろしくお願いいたします。


バージョン0.5.6リリース – LadioCast開発記その21

in LadioCast

LadioCastバージョン0.5.6をリリースします。

0.5.5から0.5.6への変更点は以下のとおりです。

  • ライブラリlibvorbisをバージョン1.1.2からバージョン1.2.0に変更
  • AudacityのLAME MP3ライブラリパッケージの内容変更に対応してReadMeを修正
その他、設定を見直してビルドしたりしてます。ソースの変更はありません。

それでですね。改めてAudacity用のLAME MP3ライブラリで接続テスト(PPCマシン)したところ、MacPortsとかで作った同ライブラリより随分CPUを使うことがわかりました。放送時のLadioCastの負荷がだいたい3,4割増しぐらいになります。これだとPPCの人はつらいと思いますので、なんとか別途LAME MP3ライブラリファイル(libmp3lame.dylib、デフォルト設定でビルドされたものでいいと思います)を手に入れて試してみることをおすすめします。(どこかにアップされないかな〜^^;。)

6 Responses to “バージョン0.5.6リリース – LadioCast開発記その21”

  1. トヲル

    お初です。今回始めてLadiocastを導入させていただいたのですが、
    なぜか起動と同時に緊急終了してしまします。
    何か別にいれなければいけないものがあるのでしょうか?
    環境
    Macmini(intel)1.83Duo OS 10.4.10
    普段はNicecastを私用しております

  2. かわうそ

    トヲルさんこんにちは!
    コンソール(/アプリケーション/ユーティリティ/コンソール)を起動してlogに何か書かれないか見てみて下さい。何かあったらそれをお願いします。

  3. トヲル

    ご返答ありがとうございます
    ログの方には
    2007-09-10 19:17:34.048 LadioCast[417] An uncaught exception was raised
    2007-09-10 19:17:34.048 LadioCast[417] EXCEPTION[/Users/kawauso/Desktop/MacLadioCast/LCOutputRenderer.m 99] AudioDeviceSetProperty() = 1852797029
    2007-09-10 19:17:34.048 LadioCast[417] *** Uncaught exception: EXCEPTION[/Users/kawauso/Desktop/MacLadioCast/LCOutputRenderer.m 99] AudioDeviceSetProperty() = 1852797029
    Sep 10 19:17:34 ユーザー名-nokonpyuta crashdump[418]: LadioCast crashed
    Sep 10 19:17:35 ユーザー名-nokonpyuta crashdump[418]: crash report written to: /Users/こちらのユーザー名/Library/Logs/CrashReporter/LadioCast.crash.log
    と表示がでております
    0.5.7も試させていただきましたが同様の状態です
    お手数おかけいたします

  4. かわうそ

    出力デバイスに設定をかけようとしてコケてますね。エラースキップするかな〜。
    すいませんが一旦マシンを再起動した後、こちらのバイナリ
    http://www.kawauso.com/mlc/LadioCast.app.zip
    のLadioCastを起動できるかどうか試し、できないとき同様にして最後あたりのメッセージを張って下さい。
    可能ならその後Macシステム環境設定から別出力デバイスに選択を変えてLadioCastが立ち上がるか試してみて下さい。
    この結果で対応版を出したいと思います。

  5. トヲル

    ひと月も返信遅れてしまい申し訳ございません
    下のログは再起動後出力を本体出力にして行った時のものです
    dyld: Library not loaded: /System/Library/PrivateFrameworks/ZeroLink.framework/Versions/A/ZeroLink
    Referenced from: /Users/tooru/Desktop/LadioCast.app/Contents/MacOS/LadioCast
    Reason: image not found
    Oct 5 14:15:31 tooru-nokonpyuta crashdump[317]: LadioCast crashed
    Oct 5 14:15:31tooru-nokonpyuta crashdump[317]: crash report written to: /Users/tooru/Library/Logs/CrashReporter/LadioCast.crash.log
    Ver.0.6.0を試させていただきましたら起動まで確認いたしました。
    お手数おかけいたしましたこれからも楽しみに拝見させていただきます

  6. かわうそ

    トヲルさんこんにちは!
    ごめんなさい、特別バイナリは動かなくて当然でした(ZeroLinkのことすっかり忘れてた^^;)。
    0.6.0は動いているようでよかったです。またいろいろ試してみて下さい。


牛の矢印パズル

in Uncategorized
iqmarathon.png Adobe Flashはバージョン9になって内部言語(ActionScript 3.0)や開発環境(Flex 2)の側面から最近かなり気になっている存在だ。ただそんなこととは関係なくFlashコンテンツ作品は見て楽しいし、ゲーム系もかなり充実している。そんな中で面白いパズルゲームを知ったので今回はそっちのご紹介。 Q-lympicsIQ-Marathon(通称、牛の矢印パズル)がそれ。説明がドイツ語だが遊び方は簡単で、赤い矢印と青い矢印を盤面に配置して灰色の牛をゴールまでたどり着かせればOK。赤い矢印は牛が一度通過すると消え、青い矢印は何度でも消えない。全42面、各面はクリアすると右上にアルファベットが表示され、入力することによりその面から続けられるようだ。 夢中になって全て解いてしまっても安心してほしい。続編? Winter Editionも見つけておいた。しかし中毒になってしまっても私に責任は無い。 全体を完動させる系のパズルとして有名なものにThe Incredible Machineがあり、日本でもだいぶ以前に「パズル魔界村」という名前で売り出されていた。最近は携帯版が出ているようなので、解くものが無くなってしまった人はこっちの方に進んでもいいかもしれない。

MacLadioCast開発記その1

in LadioCast
mlc-ss-20070404.png このブログで以前MuSEを使ってMac OSXでねとらじ配信として公開していたMuSE for Macだが、当初からあまり芳しくなかった安定性が、なぜか使うに従いさらに悪くなっていった。もともとMac専用のソフトウェアで無い上に造り自体もあまりしっかりしていなかったようだ。 この使用を含む経験を通じてしかし自分の中で、Macでの放送ソフトウェアは最低限どういう機能があればよく、どういう機能は無くてもよいかの具体的なイメージが出来た。細々とした下準備の期間を経て、一念発起しMac専用放送ソフトウェアの自前での開発に着手した次第である。 現在までの約一ヶ月で当初考えていた基本的な機能がだいたい実装されてきた(画像は現段階のスクリーンショット)。α版として公開するためには細かい詰めでさらに1、2週間は必要だと考えている。 公開された暁には、アルファギークなMac放送者の方ぜひダウンロードしてテストしてみていただきたいと思う。名前はMacLadioCastにする予定である。

4 Responses to “MacLadioCast開発記その1”

  1. 匿名

    自分で創るってすごいw
    どのような機能を備えるご予定ですか?
    とにかくがんばってください!!

  2. かわうそ

    テスト放送から来られましたね^^いらっしゃいませ。
    機能としては放送する他に2In-1Outのミキサーを備えています。入力1はマイクからの音声、入力2は別途SoundFlowerを用いてiTunes,Skype,GarageBandなどなど、外部ソフトウェアの音を取り込むために使うことを想定しています。出力はモニター用で、ミキシングされた結果の実際に放送される音をモニタリングできます。

  3. 匿名

    とても期待しています。
    開発大変でしょうが頑張って下さい!
    ところで、iTunesで音楽を流しながらSkypeとマイク入力の3つを同時に使うことは今後可能になるのでしょうか?

  4. かわうそ

    >Anonymousさん
    コメントありがとうございます。
    (例えば)Soundflowerを用いることで、iTunesで音楽流しながらSkypeしながらGarageBandで演奏しながら放送できます^^。(記事その3にちょっと書きました)


クレジットカードでネット決済はそろそろ限界か

in Uncategorized
あけましておめでとうございます。 このブログも二ヶ月ぶり、やっと新年になって更新することができました。本年もぼちぼちやっていきますのでよろしくお願いいたします。 この前某電器店で買い物をしてクレジットカードで支払おうとしたら、店員がなにやら電話を掛けだしました。どうやらクレジットカード会社と話しているようで、そのうちに私も電話口に呼び出される展開に。 その後まあ数日に渡っていろいろあったのですが、結論からいいますと ○海外のインターネットサイトからこのクレジットカードによる少額決済があった ○同様の少額決済が他のカードへも多発していて、カードの有効性をまず確認する手口とみられる ○カード会社からこの件について私に電話および手紙で連絡とろうとしたがとれなかった^^; ○このカード番号はもう使わせることができないのでカード番号を変更してほしい ○このカード番号で契約している支払いは全て自身で再登録してもらう必要がある カード番号とそれに対応する氏名がまとまって漏洩したようですが、ネットでもネット以外でもいろんな場所でさらされるカード情報をユーザーの力で漏洩させないようにするのは土台無理。カード情報のみで決済ができる現状では、みんな一緒に危い橋の上を渡っているわけです。たとえ実害に遭わなくとも、念のためカード番号を変更させられ「やらなくてもいい手間」を強いられるという自分のような被害に遭っているユーザーもかなりの数にのぼってきているはず。 ネットでの決済をどうするか、という昔からある根本的な問題に対して、いろんなソリューションが存在している割には、今だに決定打が無く素のクレジットカードがメイン。今年あたりは納得いくソリューションが出て爆発的な普及をみせてもいいんではないでしょうか(Googleあたりからとか^^;)。