読者です 読者をやめる 読者になる 読者になる

TadaoYamaokaの日記

山岡忠夫 Home で公開しているプログラムの開発ネタを中心に書いていきます。

音声スペクトルモニター(Audio Spectrum Monitor)をバージョンアップ

Androidアプリの音声スペクトルモニター(Audio Spectrum Monitor)をバージョンアップしました。前回のアプデートから1年以上更新していませんでしたが、ボーカル音程モニター(Vocal Pitch Monitor)の方で改善した内容を反映しました。あと、前回の日記で書い…

スマホでのFFTの処理時間

FFTでスペクトル推定を行う際、フレーム長を長くするほどより周波数領域で精度を上げることができる。しかし、フレーム長を長くすると実行時間も長くなる。スマホでリアルタイムで解析を行うような場合、実行時間について考慮が必要になる。ここでは、フレー…

ボーカル音程モニター(Volcal Pitch Monitor)のバージョンアップ

Androidアプリのボーカル音程モニター(Volcal Pitch Monitor)をバージョンアップしました。play.google.com 今回の更新内容は、以下の通りです。 音程の解析精度を向上 自動スクロールの速度の設定を追加 メイン画面からテンポ機能のオン/オフを可能とした …

ボーカル音程モニター(Volcal Pitch Monitor)のバージョンアップ

3週続けて、Androidアプリのボーカル音程モニター(Volcal Pitch Monitor)をバージョンアップしました。play.google.com 今回の修正は、テンポの設定できる範囲を20BPMから250BPMに広げたのと、画面を点滅させるメトロノーム機能を追加しました。メトロノーム…

ボーカル音程モニター(Volcal Pitch Monitor)のバージョンアップ

先週に引き続き、Androidアプリのボーカル音程モニター(Volcal Pitch Monitor)をバージョンアップしました。今回は、移調機能とテンポ機能を実装しました。 どちらも要望をもらっていた機能です。移調機能は、管楽器などのCメジャー以外に調律された楽器の練…

ボーカル音程モニター(Volcal Pitch Monitor)のバージョンアップ

Androidアプリのボーカル音程モニター(Volcal Pitch Monitor)のバージョンアップしました。今回は、UIの改善がメインです。より正確な音程を把握できるように簡易なチューナーを表示するようにしました。 メーターの表示方式は悩みましたが、上部の音階名が…

Androidアプリの広告版と有料版を一つのプロジェクトにする(補足)

前回の日記で書いたProduct Flavorsを使って、広告版と有料版を一つのプロジェクトにするには、広告ありのlayoutと広告なしのlayoutを用意する必要がある。 layout定義 com.google.android.gms.ads.AdViewをlayoutの一部に使用していて、それ以外は共通の場…

Androidアプリの広告版と有料版を一つのプロジェクトにする

今まで、広告版と有料版を別のプロジェクトにして、両方に同じ内容の修正を行っていたが、コードを共通化できると手間が省ける。 Android Studioのビルドバリアント機能を使えば、一つのプロジェクトにできることが分かった。ビルドバリアントには、「Build …

AndroidスマホにおけるJavaとNativeの速度比較

Androidのアプリで、FFTの計算をNDKでNativeで実装した場合に、速くなるか検証してみた。 測定条件 大浦版FFTをJavaに移植したコードとC言語のコードを使用する FFTのフレームサイズは4096 NativeはNDKでJNIのメソッドとして実装する NativeのメソッドはJava…

ボーカル音程モニター(Vocal Pitch Monitor)をアップデートその2

前回の日記で、ボーカル音程モニター(Vocal Pitch Monitor)のアップデートについて書きましたが、解析精度に少し問題があったので、再度アップデートしました。どうやら母音が「う」の場合に、倍音を誤検知しやすくなっていました。 アップデートで倍音構成…

ボーカル音程モニター(Vocal Pitch Monitor)をアップデート

Androidアプリのボーカル音程モニター(Vocal Pitch Monitor)をアップデートしました。 マイクから入力した音声のピッチをリアルタイムで表示するアプリです。今回のアップデートで、C2以下の音程の解析精度を改善しました。 歌声やギターなどの弦楽器の音声…

【Androidアプリ】ボーカル音程モニター バージョンアップ 1.2.2

バグの指摘を頂いたので修正しました。マイナースケールの6度の線が表示されないというバグです。 リリース前にちゃんとテストしないとだめですね。 iOS版も同じバグがあるので直す予定です。play.google.com

Android版ボーカル音程モニター(Vocal Pitch Monitor)をバージョンアップ 1.2.1

Android版ボーカル音程モニター(Vocal Pitch Monitor)をバージョンアップしました。1.2.1 ・録音した音声をGoogleドライブなどへ転送する機能を追加した ・低音方向の解析範囲をC1まで拡張したplay.google.com 複数の方から要望をもらっていた、共有機能を実…

音声スペクトルモニター(Audio Spectrum Monitor)バージョンアップ 1.1.9

音声スペクトルモニター(Audio Spectrum Monitor)バージョンアップしました。1.1.9 ・低い方の表示範囲をC1まで拡張した ・ドラッグしたときに音階の線がずれるバグを修正した C1までの拡張はGoogle Playのレビューで要望があったので対応しました。 解析範…

広告なしバージョンリリース

ボーカル音程モニター(Vocal Pitch Monitor)の広告なしバージョンをリリースしました。以前から広告なしバージョンの要望をもらっていました。アプリ内課金で対応しようと考えていましたが、 実装が調査含めて大変になりそうだったので、 結局、別バージョン…

AudioRecordの初期化失敗

ターゲットのAPIレベルを23にすると、 以下のエラーがでてAudioRecordの初期化が失敗するようになった。 E/AudioRecord: AudioFlinger could not create record track, status: -1 E/AudioRecord-JNI: Error creating AudioRecord instance: initialization …

スケールの設定

スケールの設定を実装した。キーとMajorとMinorを選択するのをコントロールを分けると スマホだとUIがごちゃごちゃになりそうなので、 メイン画面では現在のスケールをクリックしたら、 MajorもMinorも一緒の一覧にしてAlertDialogを使って選べるようにした…

色の設定

各トーンに色を付ける設定を実装中です。Androidに色選択ダイアログがないため、 PopupWindowを使って、ダイアログ風の色選択画面を作りこみました。スマホの小さい画面での操作性考えて、試しては直してを繰り返したので思ったより大変でした。色の設定は主…

ボーカル音程モニター(Vocal Pitch Monitor)をバージョンアップ

Androidアプリの「ボーカル音程モニター(Vocal Pitch Monitor)」をバージョンアップしました。海外のユーザからメールで、ノイズで自動スクロールするのがうざいので、 オフにするオプションをつけてほしいという要望があったので、 自動スクロールをオフに…

ボーカル音程モニター(Vocal Pitch Monitor)をバージョンアップ

Androidアプリ「ボーカル音程モニター(Vocal Pitch Monitor)」をバージョンアップしました。同じくAndroidアプリの「音声スペクトルモニター(Audio Spectrum Monitor)」に実装していた録音機能を ボーカル音程モニター(Vocal Pitch Monitor)の方にも追加しま…

音声スペクトルモニター(Audio Spectrum Monitor)バージョンアップ

Androidアプリ「音声スペクトルモニター(Audio Spectrum Monitor)」をバージョンアップしました。ピッチの解析精度を上げるために、機械学習を使ってパラメータの調整を行いました。声の音声データに加えてアコギの音も学習データとして使用したので、 ギタ…

音声スペクトルモニター(Audio Spectrum Monitor)バージョンアップ その2

先週に引き続き音声スペクトルモニター - Google Play の Android アプリのバージョンアップを行った。バグが結構残っていたのと、レビューコメントでの酷評?に対応するため、 バージョンアップで変更した内容を元に戻せるように、 対数表示と線形表示の切…

Androidでメニューをグレーアウトさせる

openOptionsMenuで開いたメニューのアイテムを状態によって無効化したい場合、 onPrepareOptionsMenuで、 item.setEnabled(false); のようにすればよいのだが、 こうすると、確かにメニューは押しても反応しなくなるのだが、 見た目がグレーアウトしない。い…

音声スペクトルモニター(AudioSpectrumMonitor)のバージョンアップ

音声スペクトルモニター - Google Play の Android アプリを久しぶりにバージョンアップした。けっこう前に公開して、少しバグを改修したくらいで、 しばらく放置していたがプログラミング熱が再開したので、 勢いにのって前々から追加したかった録音機能を…

ボーカル音程モニター(Vocal Pitch Monitor)をバージョンアップ その2

先日アップしたボーカル音程モニター - Google Play の Android アプリに細かなバグがあったので修正した。ついでにピンチズームとドラッグに対応。Android Studioをバージョンアップしたら、APKのアップ時に権限が追加されていた。 AdMob関連だと思うが、ロ…

ボーカル音程モニター(Vocal Pitch Monitor)をバージョンアップ

ボーカル音程モニター(Vocal Pitch Monitor)をバージョンアップしました。音量のしきい値と画面表示のズームを設定できるようにしたのと、 広告がオーバーラップしないようにしました。 設定画面の実装は、はじめAndroid 3.0以降で追加されたPreferenceFragm…

ボーカル音程モニター(VocalPitchMonitor)

iPhoneアプリのVocalPitchMonitorのAndroid版を公開しました。歌声や楽器の音程をリアルタイムに表示できます。 ボーカル音程モニター制作: TadaoYamaoka評価: 0.0 / 5段階中価格: undefined (2015/5/2 時点)⬇ ダウンロードposted by: AndroidHTML v3.1 Andr…

Androidのソースコード

AudioRecordの問題を調べるためにAndroidのソースコードを眺めることになったが、 SDKのJavaのソースコードは、SDK Managerからインストールできるが、 AudioRecordのJavaのソースコードにはほとんど処理はなく、実態は、 jniのネイティブコード(C++)で処理…

AudioRecordの問題(解決)

AndroidのAudioRecordの問題 - TadaoYamaokaの日記で、 03-28 21:17:52.498 1081-1097/com.tadaoyamaoka.recordsample W/AudioRecord﹕ obtainBuffer timed out (is the CPU pegged?) user=00065320, server=00065320というエラーがでると書いたが、勘違いを…

AndroidのAudioRecordの問題

音声スペクトルモニター - Google Play の Android アプリでは、 AudioRecordを使ってリアルタイムに音声処理を行っているが、 AudioRecordは思った通りに動作してくれなくて扱いにくい。まず、setPositionNotificationPeriodで指定した間隔で呼ばれるはずの…

Androidアプリの描画のスケーリング 続き

先日アップデートした音声スペクトルモニター - Google Play の Android アプリだが、文字が重なって読めなくなったとレビューに1点を付けられた。どうやらフォントサイズを計算でスケーリングすると端末によっては見え方が異なってしまうらしい。 自分の持…

Android StuidioでAndroid2.1用の設定

音声スペクトルモニター - Google Play の Android アプリをいい加減に高解像度のディスプレイに対応させようかと思い、ひとまずEclipseのプロジェクトをAndroid Stduioに移行を行っている。Android Studioでプロジェクトを作成するとデフォルトでAndroid3.0…

Android StuidioとGit

FnCalc ボタンに式の割り当てが可能な履歴付き電卓 - Google Play の Android アプリを作成する際に、 今まではEclipseを使っていたが、Android Studioが正式になったので、Android Studioに移行した。Android StuidioでGitのリモートレポジトリにPushできる…

電卓アプリの公開

先日自分用に作った電卓アプリをAndroidマーケットに公開しました。電卓アプリは検索すると大量にでてくるので需要があるとは思えないが、 いちおう他の電卓アプリにない機能として、 ボタンに計算式の一部を割り当てができます。 自分が欲しかった機能です…

JavaCCで電卓アプリ

Androidの電卓アプリがいちおう完成した。式を計算するようにしていて、式の構文解析にはJavaCCを使用した。JavaCCでスクリプト言語を作成する 第3回ここの記事を参考に、構文定義を作成した。 単項の演算子を追加したりしたので、 JJTreeの記述方法を調べつ…