ESP32で、BLE MIDI経由でMIDIメッセージを受信する

以前、Qiitaにて「Bluetooth MIDI によるモバイルとデバイスの相互通信 」という記事を書きまして、そのときはArduinoと専用のBluetooth MIDI 基板を組み合わせた方法で実現しましたが、その後の調査で、ESP32とライブラリを使えばもっと簡単に実現できるようで、、試してみました。 ESP32側(ペリフェラル) 環境の構…続きを読む

[iOS] 内蔵マイクでのステレオ録音に対応している機種かどうかを確認する

iOSアプリ「オーディオ・レコーダー 」を Ver.1.6.0 にアップデートしました。 https://apps.apple.com/jp/app/audio-recorder-wav-m4a/id1454488895 内蔵マイクでのステレオ録音に対応する機能については Ver.1.4.0 ですでに対応していましたが、今回のアップデートはステレオ…続きを読む

vDSPライブラリを用いた振幅スペクトルの算出方法

iOSアプリ「オーディオ/スペクトル アナライザ」をリリースしました。 https://apps.apple.com/jp/app/audio-spectrum-analyzer/id1508848574 マイクから入力したオーディオ信号の「オーディオ波形」と「振幅スペクトル」(FFT演算結果の周波数ごとの大きさ)の同時表示に対応したアプリです。 …続きを読む

センターキャンセル機能を追加しました

すっかり更新が空いてしまっていましたが、この前アップデートした「Tune Changer」「ピッチシフト」「タイムストレッチ」にセンターキャンセルの機能を追加したことについて書くことにします。 https://itunes.apple.com/jp/app/tune-changer-for-karaoke-instrument/id73419161…続きを読む

ゲームアプリをリリースしました(cocos2d-x)

先月になりますが、ゲームアプリ「十二支バトル ~ ボール当てゲーム編」をリリースしました。 十二支になれなかったネコが主人公で、十二支にバトルを挑むというコンセプトですが、実はこれは後付けで、ゲーム用のオープンソースライブラリ「cocos2d-x」を用いて、ボールを飛ばすゲームを作ってみたい、というか作っておきたいということから始まりました。 でき…続きを読む

区間指定のループ再生に対応しました(Tune Changer)

楽曲プレーヤーアプリ「Tune Changer」をアップデートしました。 https://itunes.apple.com/jp/app/tune-changer-for-karaoke-instrument/id734191615?mt=8 今までは曲全体のループ再生に対応していましたが、今回のアップデートでループ区間を指定できるようにしました。…続きを読む

cocos2d-xで AID のポップアップ型広告を実装する方法(iOS, Android)

スマホ向け全画面広告を提供されているAID様のポップアップ型広告のモジュールをcocos2d-xに組み込む場合、通常のネイティブの場合とやや異なるため、こちらにまとめました。 AID様のモジュールについてはこちらをご参照ください。 http://www.aid-ad.jp/   まず、cocos2d-xのプロジェクト構成の確認から行います…続きを読む

Audio Unit によるリアルタイム・タイムストレッチ(3. パラメータ設定)

本タイトルでは最後となる、タイムストレッチのパラメータ設定について説明していきます。 まず、前回説明した prepareAUGraph 関数内でコメントにしていた箇所を有効にします。 上記で生成している AUiPodTimeProxy クラスでタイムストレッチのパラメータ設定を行います。 まず、AUiPodTimeProxy クラスの定義を示します…続きを読む

Audio Unit によるリアルタイム・タイムストレッチ(2. タイムストレッチ)

今回はタイムストレッチの処理を行う実装の説明を行います。 前回の prepareAUGraph 関数を追記/修正することになります。 「2. AUNodeの作成」において、componentSubType が kAudioUnitSubType_AUiPodTimeOther の AUNode を追加することで、タイムストレッチの処理を行うことがで…続きを読む