2014年4月26日土曜日

[Playstation3] 音の遅れを解決する

How to optimize the audio latency on Playstation3
過去のブログ に書いたとおりパソコンで音声を再生する場合、環境によっては音が遅れることがあります。
Playstation3(PS3)も同様で、HDMI端子でテレビやアンプに接続した場合は少なからず音が遅れて再生されます。

ロックスミスのようにギターを生演奏するゲームでは致命的です。
演奏した音が遅れて再生されるのでタイミングを合せるのが困難です。

PS3の音声はHDMIとアナログに同時に出力することができます。
PS3の音声をHDMI出力とアナログ出力で同時に再生してどれくらいの遅延があるのか聞き比べてみました。
そのときの手順は次の通りです。

用意するもの

PS3一式
HDMIケーブル
HDMI入力付きテレビ
アナログLINE IN付きオーディオアンプ

ケーブルの配線

AVマルチ端子にPS3付属のコンポジットケーブルを接続します。コンポジットケーブルは初代PSやPS2に付属のものと互換性があります。
HDMI出力はテレビに接続します。

コンポジットケーブルのステレオ音声(赤と白)をアンプのアナログLINE INに接続します。
黄色は映像の出力なので使いません。

イラストで描くとこんな感じです。

PS3の設定

PS3を起動して
設定 - サウンド設定 - 音声同時出力
を 入 にします。

これでHDMI端子とRCA端子の両方から音声を出力することが出来ました。

実際に音を出してみるとHDMIテレビよりアナログのアンプの方が先に音が出ると思います。環境にも依ると思いますが0.1秒くらいでしょうか。
なお、Playstation4はAVマルチ端子がないためこの方法で遅延を解決することはできないようです。

過去のブログ

[CUBASE][StudioOne] 音の遅れ(レイテンシー)の原因を探る
[PlayStation] DUALSHOCKの修理
[Playstation] DUALSHOCK3の電源が入らなくなったら

以上、参考になれば幸いです。

2014年4月19日土曜日

[CUBASE] グループチャンネルとFXチャンネルの違いと使い分け


CUBASEにはグループチャンネルとFXチャンネルという機能があります。
「アウトプットのルーティング」をグループチャンネルかFXチャンネルに設定すればグループチャンネルかFXチャンネルを経由して出力させることが出来ます。

「Send」でグループチャンネルやFXチャンネルに設定すれば、元の音源の出力はそのままに、は別のチャンネルに並列に出力することが出来ます。

どちらも似たような機能ですが、次のような違いがあります。

プラグインレイテンシーの補正の解除」を有効にしたとき
グループチャンネルにインサートしたレイテンシーの大きいエフェクトはオフにされる
FXチャンネルは何も影響を受けない

実際に確かめてみます。
このブログを書いている時点の環境は次の通りです。
・Windows8 64bit
・CUBASE7.5 64bit

FXチャンネルとグループチャンネルを用意し、それぞれにレイテンシーの大きいCurveEQをインサートします。

「プラグインレイテンシーの補正の解除」を有効にします。

グループチャンネルのCurveEQが解除されました。

「プラグインレイテンシーの補正の解除」を有効にするのは、録音済みのパートを聴きながら別の音源を録音する時が多い思います。

FXチャンネルは録音するときも有効にしておきたいエフェクト(リバーブなど)をインサートし、各チャンネルからSendさせる使い方に向いてると思います。
グループチャンネルは録音完了後、ミキシングの工程でマルチトラックで録音された音源(ドラムなど)を「アウトプットのルーティング」でまとめて音量や音質を調整する使い方に向いてると思います。

※個人的な案なので必ずこうしなければいけない訳ではありません。


以上、参考になれば幸いです。

2014年4月16日水曜日

[Applicaton] ザ・数唱がアンドロイダーに掲載されました

Androidアプリ「ザ・数唱」がアンドロイダーに掲載されました。   
https://androider.jp/official/app/4e0905382d72b076/

アンドロイダーは「ユーザーと公認アプリ開発者が一緒になって情報発信していくアンドロイドアプリ情報サイト」です。
隊員としてユーザー登録すると公認アプリに推しレポや欲しレポが出来るユニークなポータルサイトです。

掲載して頂きありがとうございました!

2014年4月12日土曜日

[Android] マニフェストに表示される警告(黄色三角のエクスクラメーションマーク)

How to correct the warning in the Manifest
Android SDKは、だいぶ前のバージョンからかAndroid Lintによるプロジェクト内の静的チェックが充実しました。
アプリケーションを実行しなくても一部のバグを発見できる反面、中にはお節介すぎるチェックもあります。
その代表格はこれでしょう。

Not targeting the latest versions of Android; compatibility modes apply. Consider testing and updating this version. Consult the android.os.Build.VERSION_CODES javadoc for details.

マニフェスト(AndroidManifest.xml) の android:targetSdkVersion がAndroidの最新バージョンに設定されていない場合に表示される警告です。
この「Androidの最新バージョン」はSDKのことをのではなく、AndroidOSのAPIレベルのことを言っているようです。
このお節介な警告を表示させない方法について考えてみました。

このブログを書いている時点の環境は次の通りです。
・64bit版 Windows8
・32bit版 Eclipse3.7 (Windows XPモードで使用)
・Android-SDK r22.6.1
・Androidの最新のAPIレベルは19

解決方法1・targetSdkVersionに最新バージョンを設定する

マニフェストのtargetSdkVersionに最新のAPIレベルを設定すれば警告は消えます。

解決方法2・このLintだけ無効にする

上の解決方法は新しいAPIレベルが公開されるたびにEclipse内のすべてのAndroid用プロジェクトのマニフェストを設定し直す必要がありそうです。
別の方法として警告を表示しないように設定することもできます。
Eclipseのメニューから
ウィンドウ - 設定 - Android - Lint
を開き、Issues: に「OldTargetApi」と入力すれば目的の項目が絞り込めると思います。
右下のSeverityを Ignore に設定します。

スクリーンショットです。一部日本語化しています。

この警告は今のところ無視しても影響がないようです。
だたし、将来どのように仕様が変わるか分かりません。
新規にAndroidプロジェクトを作成したら、targetSdkVersion にはその時点で最新のAPIレベルを設定しておいた方がいいと思います。
同時に最新のAPIレベルのエミュレーターでの動作テストをすることもお勧めします。

関連ブログ
[Android] アナログ時計アプリをライブ壁紙に改造する
[Android] SurfaceViewのアナログ時計アプリ
[Android] アナログ時計のアプリを作ってみました
[Android] アナログ時計のアプリをC/C++で改良
[Android] ストップウォッチアプリを作ってみました
[Android] ストップウォッチアプリの表示をC言語でスムーズに改造する
[Android] 方位センサーを使ってコンパスアプリを作る
[Android] Javaのstaticクラスから非sataticメソッドを呼び出すには
[Android] OpenGLの簡易画像ビュアーにSDカード内の画像を表示する
[Windows8][Android] EclipseをXP互換モードで起動する理由(Can't bind to local 8600 for debugger)
[Android] Android-SDKでやってはいけないこと
[Android] Toastに画像やボタンを表示するには
[Android] ライブ壁紙の作り方
[Android] Activityに時計を表示する(Activityの非同期更新)
[Android] Webコンテンツを強制的に表示するには
[Android] Toastをcancelするには

以上、参考になれば幸いです。 以上、参考になれば幸いです。

2014年4月5日土曜日

[Android] アプリからツイートするとハッシュタグが消える(URLエンコード漏れ)

The reason why tags disappear from URL
Androidアプリからツイッターに投稿する(ツイートする)方法は色々あると思いますが、一番簡単なやり方は次のようなURL文字列をIntentに渡す方法かとおもいます。

https://twitter.com/intent/tweet?text=ツイートしたい内容
※あまりいい例ではありません

サンプルとして、起動するとツイートの投稿画面を表示するソースは次のようになります。
開発環境は次の通りです。
・64bit版 Windows8
・32bit版 Eclipse3.7 (Windows XPモードで使用)
・Android-SDK r22.6.1

アクティビティ(MainActivity.java)


特別な権限は不要なのでマニフェスト(AndroidManifest.xml)は省略します。
Target SDK Version が4以上の設定でビルドできます。
Android1.6以降で動作します。

これを起動するとブラウザーなりツイッター用アプリが起動します。

ところでツイッターにはハッシュタグという機能があります。
#(半角シャープ)の後に続いた文字列はハッシュタグとされ、タップするだけで同じハッシュタグを簡単に検索できます。
ただし、次のようなURL文字列をIntentに渡すとハッシュタグが消えてしまいます。

https://twitter.com/intent/tweet?text=ツイートしたい内容 #fujiu_jp



実行しても「#」より後ろの文字はすべて消えてしまいます。

#(半角シャープ)を含む文字列はURLとして特殊な意味を持つためです。
#(半角シャープ)を「%23」に置き換えるとハッシュタグ付きのツイートが出来るようになります。
https://twitter.com/intent/tweet?text=ツイートしたい内容 %23fujiu.jp

他にも&(半角アンパサンド)や=(半角イコール)のように特殊な意味を持つ記号はるので一つずつ置き換えるのは手間がかかります。
そもそもURLに含めるパラメーターはURL用にエンコードするべきです。
上の例で「いい例ではない」と書いたのはURLにエンコードしてない文字列を含めたためです。
ツイートしたい文字をUriクラスのencodeメソッドを使えばエンコードされるので安全です。


これで特殊な意味を持つ文字を入力しても正常にツイートできるようになります。
ツイッターへの投稿に限らずURLのパラメーターはのURLエンコードすることをお勧めします。

ツイッターに投稿できるAndroidアプリ ザ・数唱 / Digit span PLAY を公開しました。

以上、参考になれば幸いです。

2014年4月4日金曜日

ザ・数唱 が Applivに掲載されました

Androidアプリ ザ・数唱 が Androidアプリ発見サイト -Appliv に掲載されました。
http://android.app-liv.jp/001228074/
Appliv[アプリヴ]は ランキングとレビューから探せるAndroidアプリ情報サイト -Appliv とのことでたくさんのアプリが掲載されています。
スマートフォンをお持ちの方はもちろん、そうでない方も是非ご覧下さい。

掲載して頂きありがとうございました。

2014年4月1日火曜日

[Android] ザ・数唱 v1.01を公開しました

Androidアプリケーション ザ・数唱 / Digit span PLAY / 數字跨度 / 수반복 をv1.01にバージョンアップしました

V1.01での変更内容は次の通りです。
Facebookへの投稿ボタンを追加しました。ゲーム終了時、2点以上獲得しているとFacebookやTwetterへ投稿できます。

アプリの内容紹介

ザ・数唱は短期記憶力が勝負の数字記憶ゲームです。
記憶力に自身がありますか?
メモをとらなくても聴いた内容を覚えられますか?
ザ・数唱の読み上げられた数字を記憶して答えるゲームです。
ワーキングメモリーと呼ばれる短期記憶の能力が高い人ほど沢山の数字を覚えられます。
メモをとらず記憶力だけでチャレンジしてください。
ナビゲーターは初音ミク(日本語、英語)、洛天依(中国語)、SeeU(韓国語)です。

Android2.3以上対応、HVGA以上の解像度推奨、縦画面専用
価格は無料

ザ・数唱 / Digit span PLAY はGoogle Playから無料でダウンロードできます。
※ダウンロード前に エンドユーザーライセンス契約(EULA)プライバシーポリシー を必ずお読みください。
https://play.google.com/store/apps/details?id=jjp.fujiu.digitspan

ザ・数唱 / Digit span PLAY の詳細はこちらからご覧いただけます。
http://www.fujiu.jp/AndroidApp/app010_digitspan.shtml

Digit span PLAY is the game.
You should input the numbers that the navigator read out.
Make your working memory excel.
Don't make memos.
Navigators :
HATSUNE MIKU (English, Japanese)
LUO TIANYI (Chinese)
SeeU (Korean)

數字跨度 (Digit span PLAY) 是游戏。
你应该输入的数字,导航器读出。
别拿备忘录。
向导 :
洛天依 (中文)
初音未来 (日语、英语)
SeeU (韩语)

수반복 (Digit span PLAY) 은 게임이다
당신은 네비게이터가 읽어 해당 입력 번호를해야합니다
메모를 작성하지 마십시오
안내인 :
시유 (한국어)
하츠네 미쿠 (일본어, 영어)
루오 티엔 (중국어)

使用したMMDモデル
Lat式 初音ミク、Tda式 初音ミク、ままま式 SeeU、ケミリア式 洛天依
Copyright (C) CRYPTON FUTURE MEDIA, INC. All Rights Reserved.
Copyrignt (C) SBSARTECH. All rights reserved.
Copyright (C) 上海禾念信息科技有限公司 All rights reserved.