本当に助けが必要です。これを13時間以上検索しましたが、役立つものが見つかりませんでした
IN RPM
入力信号の基本周波数 (( )) をライブ バーとして表示する Android プロジェクトにしばらく取り組んでいます。AudioRecord
クラスの実装に成功し、そこからデータを取得しています。このデータをFFT
デジタル ドメインから周波数ドメインに変換しました。
int bufferSize = AudioRecord.getMinBufferSize(frequency,
channelConfiguration, audioEncoding);
AudioRecord audioRecord = new AudioRecord(
MediaRecorder.AudioSource.DEFAULT, frequency,
channelConfiguration, audioEncoding, bufferSize);
short[] buffer = new short[blockSize];
double[] toTransform = new double[blockSize];
try {
audioRecord.startRecording();
} catch (IllegalStateException e) {
Log.e("Recording failed", e.toString());
}
while (started) {
int bufferReadResult = audioRecord.read(buffer, 0, blockSize);
for (int i = 0; i < blockSize && i < bufferReadResult; i++) {
toTransform[i] = (double) buffer[i] / 32768.0; // signed 16
// bit
}
transformer.ft(toTransform);
//Here i have FFT of the input sound in toTransform[]
}
ここで、このデータの基本周波数を RPM 形式で取得し、ライブ バーに表示する必要があります。
助け、リンク、またはプロジェクトソースが本当に必要です。