<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>Objective-Audio</title>
        <link>http://objective-audio.jp/</link>
        <description>MacとiPhoneでオーディオプログラミング</description>
        <language>ja</language>
        <copyright>Copyright 2012</copyright>
        <lastBuildDate>Fri, 23 Dec 2011 22:30:27 +0900</lastBuildDate>
        <generator>http://www.sixapart.com/movabletype/</generator>
        <docs>http://www.rssboard.org/rss-specification</docs>
        
        <item>
            <title>Touch the Wave for iPad v1.1.1リリース</title>
            <description><![CDATA[<p>
Touch the Wave for iPadのv1.1.1がリリースされました。
</p>

<p>
<a href="http://itunes.apple.com/jp/app/touch-the-wave-for-ipad/id441001966?mt=8" target="_blank">Touch the Wave for iPad v1.1.1</a><br />
</p>

<p>
バグ修正です。曲の読み込み途中にループ再生するとフリーズしてしまう問題を修正しました。
</p>

]]></description>
            <link>http://objective-audio.jp/2011/12/touch-the-wave-for-ipad-v111.html</link>
            <guid>http://objective-audio.jp/2011/12/touch-the-wave-for-ipad-v111.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Touch the Wave</category>
            
            
            <pubDate>Fri, 23 Dec 2011 22:30:27 +0900</pubDate>
        </item>
        
        <item>
            <title>iOS 5のオーディオ新機能</title>
            <description><![CDATA[<p>
世の中iOS 5といったらiCloudだSiriだと騒いでいますが、オーディオの新機能も実は結構あります。なんかみんなガン無視のようなので、とりあえずどんなものがあるかだけ書いておきます。
</p>

<h3>
AudioUnitプラグイン
</h3>

<p>
AudioUnitのプラグインがかなり追加されてます。Macでは以前からあるもののサブセット的な感じです。
</p>

<p>
<strong>【Generator】</strong><br />
・ScheduledSoundPlayer<br />
・AudioFilePlayer<br />
</p>

<p>
<strong>【MusicDevice】</strong><br />
・Sampler
</p>

<p>
音を再生するものはGeneratorとMusicDeviceですね。特にSamplerはSoundFont&MIDI対応のプレイバックシンセなので、SoundFontを作ってしまえばMIDI対応も簡単にできてしまいます。「なんとかピアノ」とか「シンギングなんとか」とか、AVAudioPlayerで無理矢理つくるんじゃなくて、これ使った方が良いです。AudioFilePlayerは、これはこれでいいんですが、使い方が独特ってのもありますし、個人的にはAudioQueueのAudioUnitプラグイン版を作ってほしいなぁと思います。
</p>

<p>
<strong>【FormatConverter】</strong><br />
・VariSpeed<br />
・iPodTimeOther<br />
</p>

<p>
僕は使ってませんが、VariSpeedつかえば再生スピードの変更も簡単です。AUConverterでも良いんじゃないの？と思うかもしれませんが、VariSpeedならスピードを変えたときにプツっとならずにスムーズに変わります。ただ、すごく速くとか、すごく遅くとか出来ませんので、「Touch the Wave」でやってるようなスクラッチを実現するのは難しいです。
</p>

<p>
iPodTimeOtherというのは「Touch the Wave for iPad」でも早速使っています。iPodTimeよりもクオリティの上がったタイムストレッチです。
</p>

<p>
<strong>【Effect】</strong><br />
・LowPassFilter<br />
・HiPassFilter<br />
・BandPassFilter<br />
・HighShelfFilter<br />
・LowShelfFilter<br />
・NBandEQ<br />
・ParametricEQ<br />
・PeakLimiter<br />
・DynamicProcessor<br />
・Reverb2<br />
・Distortion<br />
</p>

<p>
Effectは、半分くらいEQですが、結構増えました。リバーブの追加はうれしいです。
</p>

<p>
プラグインがこれだけ用意されていると、ようやくAUGraphの便利さが活用できそうです。はっきりいって今までは、RemoteIOだけ使って全部自分で作んなくちゃいけませんでしたから。
</p>

<h3>
MusicPlayer
</h3>

<p>
MIDIシーケンサーです。SMFが読み込めます。中にSamplerを含んだAUGraphを持っているので、入れ替えてあげれば自分で用意した音も鳴らせます。もちろんMIDIメッセージだけ再生させて利用する事も出来ます。
</p>

<h3>
MIDINetworkSession
</h3>

<p>
MIDINetworkSessionがシミュレータに対応してます。実機につながなくてもMacだけでMIDIの送受信ができるので、デバッグが楽になるんじゃないでしょうか。あとiOS4だとMIDINetworkSessionってMIDI使い始めたら勝手にオンになっていたと思うのですが、iOS5だとちゃんとenabledをYESにしたりとかしておかないと使えないみたいです。
</p>

<h3>
Float32対応 (2011/10/23追加)
</h3>

<p>
っと、大事な事を忘れてました。
</p>

<p>
iOS 5からAudioConverterがFloat32対応になっています。上記でも紹介したAudioUnitプラグインなどは、floatにしか対応していないようです。AUGraphなんかでつなぐ場合はあまり意識しなくても良いのですが、整数で用意したデータを渡すときにはAUConverterを前に挟み込む必要がありそうです。
</p>]]></description>
            <link>http://objective-audio.jp/2011/10/ios-5.html</link>
            <guid>http://objective-audio.jp/2011/10/ios-5.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Core Audio - iOS</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">プログラミング</category>
            
            
            <pubDate>Fri, 21 Oct 2011 19:36:47 +0900</pubDate>
        </item>
        
        <item>
            <title>Touch the WaveのiOS 5向けアップデート公開</title>
            <description><![CDATA[<p>
Touch the Wave 2とTouch the Wave for iPadの両方とも、iOS 5以降対応のアップデートがリリースされました。（と書いている段階では、まだiOS 5はリリースされてませんが）
</p>

<p>
<a href="http://itunes.apple.com/jp/app/touch-the-wave-for-ipad/id441001966?mt=8" target="_blank">Touch the Wave for iPad v1.1</a><br />
<a href="http://itunes.apple.com/jp/app/touch-the-wave-2/id342100337?mt=8" target="_blank">Touch the Wave 2 v1.3</a>
</p>

<p>
Touch the Wave for iPadの方は、iOS 5の新機能に対応させてます。リバーブとタイムストレッチです。それに合わせて、レイアウトの変更や、細かいところのバグ修正もしてます。
</p>

<p>
それと、しばらくセールやってましたが終了です。
</p>

<p>
Touch the Wave 2の方は、オーディオファイルがiCloudのバックアップに含まれてしまうから別のところに保存しておいてね、とAppleさんからメールを頂いたので対応しただけのバージョンです。とくに機能の変更はありません。
</p>

<p>
iOS 5では、今回アップデートで入れたリバーブなども含めて、Core Audio周りでかなり新機能が増えているので、近いうちにまとめたエントリを書こうかなと思っています。
</p>]]></description>
            <link>http://objective-audio.jp/2011/10/touch-the-waveios-5.html</link>
            <guid>http://objective-audio.jp/2011/10/touch-the-waveios-5.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Touch the Wave</category>
            
            
            <pubDate>Wed, 12 Oct 2011 22:51:38 +0900</pubDate>
        </item>
        
        <item>
            <title>Touch the Wave for iPad セール中</title>
            <description><![CDATA[<p>
現在、「Touch the Wave for iPad」のiOS5の新機能に対応したバージョンを鋭意製作中です。おそらく、iOS5がリリースされるのと同時に、アプリもアップデート出来るんじゃないかと思います。
</p>

<p>
新バージョンは機能も増えるので、リリースされたタイミングでアプリの値段を上げようかと思っているのですが、それまでの間85円でセールします。興味のある方は今のうちにどうぞ。たぶんセール後はガッツリあげますので。
</p>]]></description>
            <link>http://objective-audio.jp/2011/09/touch-the-wave-for-ipad-1.html</link>
            <guid>http://objective-audio.jp/2011/09/touch-the-wave-for-ipad-1.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Touch the Wave</category>
            
            
            <pubDate>Sun, 04 Sep 2011 16:44:35 +0900</pubDate>
        </item>
        
        <item>
            <title>METRONOME STAR v1.1リリース</title>
            <description><![CDATA[<p>
METRONOME STARのv1.1がリリースされました。
</p>

<p>
メトロノームのクリック音を変更しました。実際にメトロノームの音を録音したものを使ってます。
</p>

<p>
まあ、もともと嫌う人が出てくるだろうなぁという音作りをしていたのもあり、リリース１年たってちらほらとそんな内容のレビューを見かけるようになったので変えてみました。あまり設定とか作りたくなかったので、完全に差し替えです。前の音には戻せません。
</p>]]></description>
            <link>http://objective-audio.jp/2011/07/metronome-star-v11.html</link>
            <guid>http://objective-audio.jp/2011/07/metronome-star-v11.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">METRONOME STAR</category>
            
            
            <pubDate>Sat, 16 Jul 2011 00:20:27 +0900</pubDate>
        </item>
        
        <item>
            <title>Touch the Wave for iPad v1.0 リリース</title>
            <description><![CDATA[<p>
前回のエントリで書いていた「Touch the Wave for iPad」がリリースされました！
</p>

<p>
「BigStopWatch HD」でもそうでしたが、もう最近は何事も無く、一週間くらいでリジェクトなしでリリースされてますね〜。いいかんじです。ま、あえて冒険してないというのもありますし、なんせ、UIとかもほぼオリジナルで作ってたりしてますので、逆にそのへん緩い気がします。
</p>

<p>
まあ、アプリがどんなものかは<a href="http://objective-audio.jp/2011/05/touch-the-wave-for-ipad.html">前回のエントリ</a>を見ていただければ良いかなと思います。
</p>

<p>
今回のアプリはiPad専用にしていて処理能力に余裕があったので、UI系は全部OpenGLで描画してます。いやぁ〜念願の60フレ波形スクロールですよ！
</p>

<p>
でも、iPodライブラリから読み込んでいる間はどうしてもオーディオの処理する単位が1024フレームになってしまうので、残念ながらフレームレートが落ちたような感じになってしまうのですが、読み込み終わったら256フレームに戻せて、かなりスムーズです。スクラッチもスムーズです。
</p>

<p>
あと、波形をピンチで拡大縮小とかもやってみたりとか、レベルメーター付けてみたりとか、iPhone版では画面がちっちゃすぎてあきらめていた事を実現させていたりもしてます。
</p>

<p>
ということでアプリがリリースされて開発もおちついたので、これからしばらくは勉強モードへシフトしていこうと思っています。iOS5が出るあたりにもしかしたらその成果が生かせるかもしれません。もし成果が無くても、きっとiOSの力で何かアップデートしそうな気がします。
</p>]]></description>
            <link>http://objective-audio.jp/2011/06/touch-the-wave-for-ipad-v10.html</link>
            <guid>http://objective-audio.jp/2011/06/touch-the-wave-for-ipad-v10.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Touch the Wave</category>
            
            
            <pubDate>Tue, 07 Jun 2011 22:40:52 +0900</pubDate>
        </item>
        
        <item>
            <title>Touch the Wave for iPad</title>
            <description><![CDATA[<p>
Touch the WaveのiPad版がほぼ完成に近づいたので、動画をあげてみました。来月くらいにはApp Storeに出せればいいかなと思っています。
</p>

<p>
<iframe width="560" height="349" src="http://www.youtube.com/embed/1Gmgh-WetFE" frameborder="0" allowfullscreen></iframe>
</p>

<p>
iPhone版の現在の「Touch the Wave 2」では２曲同時再生やってたのですが、今回のiPad版では単純に１曲だけの単体のプレーヤーとして作ってます。やっぱりステレオ２系統出せないと本格的な用途には意味がないかなぁ、と思いまして。よりプロ用途を考えての選択です。
</p>

<p>
そのかわりiPadの広い画面を生かして、EQとDelayを付けてます。
</p>

<p>
テンポ算出はあいかわらずタップテンポです。BPMの自動検出とかやってみたかったんですけど、今のところ僕の力不足で実現に至ってません。研究の成果があらわれたら今後搭載するかもしれません。
</p>

<p>
あと、ピッチを変えずにスピード変える機能は要望を頂いたりしていたのですが、これもちょっと力不足ですね。iPad自体の力不足という面もあります。実際に実装してみた訳ではないですが、自分の満足のいく音質のタイムコンプは今のiPadのパワーでは無理なんじゃないかなという気がします。たしか「djay」ってアプリでもiPad2しかタイムコンプ使えないんですよね。とりあえずMacで研究を進めておいて、いずれ搭載出来るようになればいいなぁと思っています。
</p>]]></description>
            <link>http://objective-audio.jp/2011/05/touch-the-wave-for-ipad.html</link>
            <guid>http://objective-audio.jp/2011/05/touch-the-wave-for-ipad.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Touch the Wave</category>
            
            
            <pubDate>Mon, 23 May 2011 07:41:10 +0900</pubDate>
        </item>
        
        <item>
            <title>iOSのCore MIDI</title>
            <description><![CDATA[<p>
iOSの勉強会用にCoreMIDIを調べてみたりしたのはいいものの、まだ発表する機会がなさそうなのと、気がつけば３ヶ月もブログを更新していなかったので、ちょっと書いておこうかなと思います。とりあえずこのエントリは、CoreMIDI対応アプリを開発する前の準備の話です。（※2011/7/26に内容を変更しています）
</p>


<h3>
CoreMIDIはiPadだけ？
</h3>

<p>
iOS 4.3.3より前のOSだと、外部とMIDIデータの送受信をできるのはiPadだけだったのですが、iOS 4.3.3以降だとiPhoneでもWi-fi経由でiPadと同じく使えるようになったようです。また、iPadではMIDIインターフェースをCamera Connection Kitにつなげれば使えたのですが、最近YAMAHAなどからドックに直接つなげるタイプのMIDIインターフェースが発売されましたので、iPhoneでもそれらをつかえばMIDIの送受信を実機だけで出来るようになりました。
</p>


<h3>
デバッグはWi-Fiで！
</h3>

<p>
MIDIインターフェースをドックに付けた状態だと、Macとつなげる事が出来ないので非常にデバッグがめんどくさいです。なので開発中はドックにつながず、iPhone/iPad(実機)とMacをWi-Fiで接続してWi-Fi経由でMIDIを送受信するようにした方が良いと思います。MacにMIDIインターフェースをつなげるのも良いですが、何かMIDIを送受信出来るアプリケーションがあれば別にMIDIインターフェースがなくても問題ありません。むしろ、いろいろなMIDIメッセージを送信出来るMacアプリケーションを作ってデバッグに活用する方が良いんじゃないでしょうか。
</p>

<p>
以下は、Macと実機をWi-Fi経由でMIDIの送受信をする接続方法を解説します。これはアプリの開発者に関わらず、MacのシーケンスソフトなどからiOSアプリの音をならしたい、でもケーブルでごちゃごちゃしたくないというユーザーの方にも参考になると思います。ですがWi-Fi経由だと、直接MIDIインターフェースをドックにつなげた場合と違って、それなりに発音の遅れや揺れがあると思いますのでご注意ください。
</p>

<h3>
Wi-Fi経由のCore MIDIの接続方法
</h3>

<p>
まず、実機になにかCoreMIDI対応アプリを入れておきましょう。何も持っていなければ無料の「Midi Monitor」あたりをダウンロードしておけば良いと思います（僕の環境ではしょっちゅう落ちるアプリですが...）。もちろん、自分のアプリを開発するときにはそれを立ち上げればいいので、それで。
</p>

<p>
Macと実機を同じWi-Fiネットワークに接続してください。Wi-Fiアクセスポイントがない場所でも、MacでAd-Hocネットワークを作成して接続する方法もありますので、わからない方は適当にぐぐってください。
</p>

<p>
Macの「Audio MIDI 設定」アプリケーションを起動して、「MIDI スタジオ」というウィンドウが開いていなければ、メニューのウィンドウの「MIDI ウィンドウを開く」を選択して開いてください。
</p>

<p>
MIDIスタジオのなかにネットワークというアイコンがありますのでダブルクリックして「MIDIネットワーク設定」というウィンドウを開きます。
</p>

<a href="http://objective-audio.jp/assets_c/2011/05/CoreMIDI01-118.html" onclick="window.open('http://objective-audio.jp/assets_c/2011/05/CoreMIDI01-118.html','popup','width=705,height=448,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://objective-audio.jp/assets_c/2011/05/CoreMIDI01-thumb-400x254-118.jpg" width="400" height="254" alt="CoreMIDI01.jpg" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a>

<p>
ウィンドウ左上の「自分のセッション」の「＋」をクリックして、ネットワークセッションを作ります。
</p>

<a href="http://objective-audio.jp/assets_c/2011/05/CoreMIDI03-120.html" onclick="window.open('http://objective-audio.jp/assets_c/2011/05/CoreMIDI03-120.html','popup','width=702,height=447,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://objective-audio.jp/assets_c/2011/05/CoreMIDI03-thumb-400x254-120.jpg" width="400" height="254" alt="CoreMIDI03.jpg" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a>

<p>
おそらく「セッション１」という名前のセッションが出来ると思いますので、そこの左のボタンにチェックを入れます。
</p>

<a href="http://objective-audio.jp/assets_c/2011/05/CoreMIDI04-121.html" onclick="window.open('http://objective-audio.jp/assets_c/2011/05/CoreMIDI04-121.html','popup','width=702,height=447,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://objective-audio.jp/assets_c/2011/05/CoreMIDI04-thumb-400x254-121.jpg" width="400" height="254" alt="CoreMIDI04.jpg" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a>

<p>
実機側で、CoreMIDI対応のアプリを起動してください。実機では、アプリでMIDIClientを作成する事で自動的にネットワークセッションが作成されます。ちゃんと実機側のネットワークセッションがMacで認識されていれば、ウィンドウ左真ん中の「ディレクトリ」に実機の名前が表示されています。もし、CoreMIDI対応アプリを起動しても名前が現れない場合は、一度実機を再起動してみてからアプリを起動しなおすと良いかもしれません。
</p>

<a href="http://objective-audio.jp/assets_c/2011/05/CoreMIDI05-122.html" onclick="window.open('http://objective-audio.jp/assets_c/2011/05/CoreMIDI05-122.html','popup','width=702,height=447,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://objective-audio.jp/assets_c/2011/05/CoreMIDI05-thumb-400x254-122.jpg" width="400" height="254" alt="CoreMIDI05.jpg" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a>

<p>
実機の名前が現れたら選択して、下の「接続」ボタンをクリックしてください。接続に成功すれば、右側の「構成」のところに実機の名前が表示されているはずです。
</p>

<a href="http://objective-audio.jp/assets_c/2011/05/CoreMIDI06-123.html" onclick="window.open('http://objective-audio.jp/assets_c/2011/05/CoreMIDI06-123.html','popup','width=702,height=447,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://objective-audio.jp/assets_c/2011/05/CoreMIDI06-thumb-400x254-123.jpg" width="400" height="254" alt="CoreMIDI06.jpg" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a>

<p>
MacのMIDIアプリケーションからMIDIを送受信する場合は、この時点でMacアプリケーションのMIDIインやアウトでネットワークセッションを選択出来るようになっていると思いますので、Audio MIDI 設定での設定は以上です。
</p>

<p>
アプリケーションを使わずMIDIインターフェースと実機をつなげたい場合は、ウィンドウ右下のライブルーティングを使います。実機へMIDIメッセージを送りたいMIDIインターフェース（MIDI IN）を上のポップアップボタンで選択してください。逆に実機から送りたいMIDIインターフェース（MIDI OUT）は下のポップアップボタンで選択してください。（手元にUSB接続のMIDIキーボードしかなかったので、下のスクリーンショットではIN側だけ選択した状態です。）
</p>

<a href="http://objective-audio.jp/assets_c/2011/05/CoreMIDI07-124.html" onclick="window.open('http://objective-audio.jp/assets_c/2011/05/CoreMIDI07-124.html','popup','width=702,height=447,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://objective-audio.jp/assets_c/2011/05/CoreMIDI07-thumb-400x254-124.jpg" width="400" height="254" alt="CoreMIDI07.jpg" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a>

<p>
あとは実機アプリ側の設定ですが、MIDI INやOUTが選択出来るアプリであれば、「Network Session 1」というのがあるはずですので選択してください。そのような設定がないものはつながるものは全部つなげてしまう仕様になっていると思いますので、特に設定する必要はないと思います。
</p>

<p>
と、今回はこの辺で。
</p>]]></description>
            <link>http://objective-audio.jp/2011/05/ioscore-midi.html</link>
            <guid>http://objective-audio.jp/2011/05/ioscore-midi.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Core MIDI - iOS</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">プログラミング</category>
            
            
            <pubDate>Mon, 16 May 2011 22:03:55 +0900</pubDate>
        </item>
        
        <item>
            <title>BigStopWatch HD v1.1.0 公開されました</title>
            <description><![CDATA[<p>
BigStopWatch HD v1.1.0が公開されました。
</p>

<p>
変更点はカウントダウンで0秒を通過したときにサウンドを鳴らすようにしたことだけです。
</p>

<p>
他にもいろいろな操作に音を付ける事は試してみたのですが、結局うるさかったのでやめました。とりあえずはカウントダウンにだけ付けています。
</p>]]></description>
            <link>http://objective-audio.jp/2011/02/bigstopwatch-hd-v110.html</link>
            <guid>http://objective-audio.jp/2011/02/bigstopwatch-hd-v110.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">BigStopWatch</category>
            
            
            <pubDate>Fri, 18 Feb 2011 22:56:59 +0900</pubDate>
        </item>
        
        <item>
            <title>BigStopWatch HD v1.0.0 公開されました</title>
            <description><![CDATA[<p>
BigStopWatchのiPad対応＆ちょっと機能アップ版「BigStopWatch HD」がリリースされました。今回は有料になってます。ダウンロードは<a href="http://itunes.apple.com/jp/app/bigstopwatch-hd/id416990565?mt=8" target="_blank">こちら</a>から。
</p>

<img alt="bswhdpadl.png" src="http://objective-audio.jp/2011/02/02/bswhdpadl.png" width="400" height="300" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />

<p>
一番大きな変更点は、LAP/SPLITをリストで表示するところです。iPadの大画面なら、やっぱりリスト表示で見れたほうがいいなぁと。で、そのLAP/SPLITリストが履歴で残って後から見れます。iTunesのファイル共有機能を使えばCSVファイルが抜き出せます。
</p>

<p>
そのかわり画面全体がスタート・ストップボタンではなくなり、機能ごとに画面が区分けされたボタンになっています。あと設定は全く無くしまして、カウントダウンの秒数は時間表示部分をドラッグして変更出来ます。
</p>

<p>
基本的には単純にiPad版を作ろうと思って作っていたのですが、なんとなくiPhone版で同じ機能を使えるようにしておきたいなぁと思いまして、Universalになっています。iPhone版は小さい画面に詰め込んだような感じになっていますので、スクリーンショットを見てイマイチだなぁと思う方は、無料版のBigStopWatchを引き続きお使いください。機能的な違いはラップの履歴が残るだけですので。
</p>

<br />

<p>
ちょっと開発者的な話になりますが、今回のHD版もフルOpenGLです。ラップリストのテーブルビューもどきも自分で作ってます。いわゆる車輪の再発明ってやつですね！
</p>

<p>
といっても、ただ同じものという訳ではなく、テーブルの一番下まで移動するボタンをフッター部分に付けてあります。いつもiPhone使ってて一番ストレスたまるのが、Safariとかで縦に長いページを延々と下までスクロールしていかなくちゃいけないってところなんですよね。一番上に戻るのはステータスバーをタップで出来ますけど。
</p>

<p>
あと、Universalにして改めて感じたのは、iPadよりもRetina iPhoneの方がメモリ的にもパフォーマンス的にも厳しいなぁってことですね。
</p>]]></description>
            <link>http://objective-audio.jp/2011/02/bigstopwatch-hd-v100.html</link>
            <guid>http://objective-audio.jp/2011/02/bigstopwatch-hd-v100.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">BigStopWatch</category>
            
            
            <pubDate>Wed, 02 Feb 2011 22:59:17 +0900</pubDate>
        </item>
        
        <item>
            <title>BigStopWatch v2.4.2 公開されました</title>
            <description><![CDATA[<p>
BigStopWatchのv2.4.2が公開されました。ダウンロードは<a href="http://itunes.apple.com/jp/app/bigstopwatch/id301615836?mt=8" target="_blank">こちら</a>から。
</p>

<p>
端末によりコンマ以下２桁の数字の部分に焼き付きが起きてしまう現象があったので修正しました。
</p>

<p>
おそらくほとんどのiPhoneやiPod touchでは起きない現象だと思いますが、AppStoreのレビューでユーザーさんからの指摘がありましたので修正版を出しました。ちなみに、逆にiPadではこの現象が起きる端末が結構多いと思います。現在製作中のiPad版を作り始めたときから悩まされていた現象です。
</p>

<p>
どうやらこのアプリのように、違う画像を60fpsで１フレームごとにチカチカと切り替えて表示させていると、うっすらと焼き付いたように画像が残ってしまうようです。メインの時間表示だけ30fpsに落として対処しています。
</p>]]></description>
            <link>http://objective-audio.jp/2011/01/bigstopwatch-v242.html</link>
            <guid>http://objective-audio.jp/2011/01/bigstopwatch-v242.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">BigStopWatch</category>
            
            
            <pubDate>Wed, 26 Jan 2011 19:38:19 +0900</pubDate>
        </item>
        
        <item>
            <title>Touch the Wave 2 v1.2リリース</title>
            <description><![CDATA[<p>
Touch the Wave 2のv1.2がリリースされました。ダウンロードは<a href="http://itunes.apple.com/jp/app/touch-the-wave-2/id342100337?mt=8" target="_blank">こちら</a>から。
</p>

<p>
今回は、ほぼ単純にバグフィックスです。前バージョンをiOS4.2で動作させた場合、波形のスクロール方向が逆になったり、iPodライブラリから変換の必要の無い曲をインポートしようとすると失敗してしまうという不具合が出ていましたので修正しました。もし、そのような不具合が出るようでしたらアップデートをお願いします。
</p>

<p>
ただ、変換の必要の無い曲をインポートしようとすると失敗することから、iPodライブラリからの曲の読み込みは必ず時間がかかるようになってしまいました。この辺はご了承ください。
</p>

<p>
プログラミング的なことを書きますと、前バージョンはAVAssetExportSessionを使って読み込んでいたのを、AVAssetReaderに変えました。あまり深追いはしていないのですが、どうやら以前の記事「<a href="http://objective-audio.jp/2010/08/ipod-1.html">iPodライブラリからのファイル書き出し その２</a>」で書いていたテクニックが使えなくなってしまったようです。もし参考にされている方がいらっしゃいましたらお気をつけ下さい。
</p>

<p>
そんな感じで、とりあえず今回はバグフィックスなんですが、現在、別バージョンのTouch the Waveを構想中です。
</p>

<p>
今のバージョンは、iPodライブラリからの読み込み機能が無い時点で開発したものなので、一旦オーディオファイルをアプリ内にコピーして再生するというなっていますが、今度はライブラリから選んだらわりとすぐ再生出来るようにしようかと、ちょこちょこ研究しています。
</p>

<p>
そうなるとアプリの構造をいろいろ変えたいので、Touch the Wave 2とは別アプリとして出そうかなと思っています。Touch the Waveシリーズ３本目ですね。完成したら今よりかなりシンプルなものになるんじゃないかと思います。
</p>

<p>
あと、BigStopWatchのiPad版も絶賛テスト中ですので、近いうちにリリース出来ると思います。
</p>]]></description>
            <link>http://objective-audio.jp/2010/11/touch-the-wave-2-v12.html</link>
            <guid>http://objective-audio.jp/2010/11/touch-the-wave-2-v12.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Touch the Wave</category>
            
            
            <pubDate>Tue, 23 Nov 2010 19:52:16 +0900</pubDate>
        </item>
        
        <item>
            <title>METRONOME STAR v1.0.3 公開されました</title>
            <description><![CDATA[<p>
METRONOME STAR 1.0.3が公開されました。ダウンロードは<a href="http://itunes.apple.com/jp/app/metronome-star/id365846943?mt=8" target="_blank">こちら</a>から
</p>

<p>
前回のアップデートで、バックグラウンドからの復帰時に再生できなくなることがあった不具合を修正しました。
</p>

<p>
プログラミング的な対処法を書いておくと、前バージョンはアプリがアクティブになった時だけAudioSessionを設定していたのですが、新バージョンでは音声を再生するときにもAudioSessionを設定するようにしました。アプリがバックグラウンドで深く眠ってしまっていたりすると、BecomeActiveでAudioSessionを奪い取ろうとしてもダメな時があるようです。これで完全に問題が修正できていれば良いのですが...。
</p>]]></description>
            <link>http://objective-audio.jp/2010/11/metronome-star-103.html</link>
            <guid>http://objective-audio.jp/2010/11/metronome-star-103.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">METRONOME STAR</category>
            
            
            <pubDate>Sun, 14 Nov 2010 22:28:34 +0900</pubDate>
        </item>
        
        <item>
            <title>METRONOME STAR v1.0.2 公開されました</title>
            <description><![CDATA[<p>
METRONOME STARのv1.0.2が、公開されました。
</p>

<p>
変更点は、<br/>
・再生停止中に画面をロックした時にAudioUnitを止めて、バッテリーの消費を軽減<br/>
・アプリがバックグラウンドに入ったときに、画面表示系のメモリを解放。<br/>
・色や画像の調整。<br/>
・起動時のアニメーションを追加<br/>
といったところです。
</p>

<p>
ただ、バックグラウンド時のメモリ解放によって、アプリが完全に終了されてしまうことが減ったのですが、バックグラウンドから復帰したときに再生できなくなることがたまにあります。ただ、その場合でも、もう一度アプリを起動し直すと再生できるようです。再生できない場合は、申し訳ありませんがアプリの再起動で対応をお願いします。
</p>

<p>
起動時のタイトルのフェードアウトは、まあ、起動画像からのアニメーションを試してみたかっただけです。今回のアップデートはメモリ解放やバッテリー消費の改善がメインだったのですが、なにかわかりやすい変更もしておきたいなぁとおもってちょっとやってみました。
</p>]]></description>
            <link>http://objective-audio.jp/2010/10/metronome-star-v102.html</link>
            <guid>http://objective-audio.jp/2010/10/metronome-star-v102.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">METRONOME STAR</category>
            
            
            <pubDate>Sun, 10 Oct 2010 14:00:33 +0900</pubDate>
        </item>
        
        <item>
            <title>CMSampleBufferからオーディオデータを取り出す</title>
            <description><![CDATA[<p>
前回の続きというほどのものでもない内容になってしまいますが、CMSampleBufferからオーディオのデータを取り出す方法です。CMSampleBufferGetAudioBufferListWithRetainedBlockBufferという関数を使います。前回の内容も含めてDeveloper Forumsに書いてあったコードを参考に調べていたのですが、削るに削ってこれだけになりました。
</p>

<pre class="prettyprint">
CMSampleBufferRef sampleBuffer = [audioMixOutput copyNextSampleBuffer];

CMBlockBufferRef blockBuffer;
AudioBufferList audioBufferList;
        
CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer(sampleBuffer, 
                                                        NULL, 
                                                        &audioBufferList, 
                                                        sizeof(audioBufferList),
                                                        NULL, 
                                                        NULL, 
                                                        0, 
                                                        &blockBuffer);

//
//    ここでAudioBufferListから読み出す処理など
//

CFRelease(sampleBuffer);
CFRelease(blockBuffer);
</pre>

<p>
とりあえずInterleavedなオーディオデータが読み出せればよいのであれば、上記のコードのようにAudioBufferListを作って、その中のデータを保持するCMBlockBufferをこの関数で取得するというだけで良いようです。引数がたくさんあって他にもいろいろ取得できるようですが、結構みんなNULLであっさり通ったので、あえてそれらを使って何かするのでなければいらないんじゃないでしょうか。たぶん。
</p>]]></description>
            <link>http://objective-audio.jp/2010/10/cmsamplebuffer.html</link>
            <guid>http://objective-audio.jp/2010/10/cmsamplebuffer.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Core Audio - iOS</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">プログラミング</category>
            
            
            <pubDate>Fri, 01 Oct 2010 21:47:35 +0900</pubDate>
        </item>
        
    </channel>
</rss>

