Как я могу найти частоту звукового сигнала в реальном времени?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу найти частоту звукового сигнала в реальном времени?

Сообщение Anonymous »

Я работаю над программой, которая, учитывая звук, возвращает примечание.
Мне удалось сохранить данные микрофона благодаря различным учебным пособию, который я нашел в Интернете, в массив байтов, называемый outputData < /em> с использованием javasound api. < /p>
public AudioManagerRedo() throws LineUnavailableException {
this.format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, 44100, 16, 2, 4, 4100, false);
this.infoLine = new DataLine.Info(TargetDataLine.class, format);
if (!AudioSystem.isLineSupported(infoLine)) {
throw new UnsupportedOperationException("Line not supported");
}
this.targetLine = (TargetDataLine) AudioSystem.getLine(infoLine);
}

public void startRecording(long time) {
try {
targetLine.open();
System.out.println("__LINE OPENED__");
targetLine.start();
System.out.println("__RECORDING STARTED__");
threadRecorder = new Thread() {
@Override
public void run() {
AudioInputStream inputStream = new AudioInputStream(targetLine);

byte[] outputData; //array where real time audio data is stored
long timer1 = System.currentTimeMillis();
while (System.currentTimeMillis() - timer1 < (time * 1000)) { //1 sec timer
outputData = new byte[2048]; //not sure about the size

try {
int tmp = inputStream.read(outputData, 0, outputData.length);
} catch (IOException e) {
//handle error;
}
for (int i = 0; i < outputData.length; i++) {
System.out.println(outputData); //used to visualize real time data behaviour
}
System.out.println(getSoundFrequency(outputData));

}
}

};

threadRecorder.start();
} catch (
LineUnavailableException lue) {
System.out.println("ERROR");
}
}
< /code>
Затем я искал онлайн -способы найти частоту этого звука и пробовал различные методы.
Я узнал, что я должен использовать метод быстрого трансфора Fouries, но я все еще не понимаю, как его использовать (в частности, я не понимаю корреляции между величинами и частотой).>

Подробнее здесь: https://stackoverflow.com/questions/796 ... dio-signal
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»