Разделение на кадры файла .wav, имеющего перекрытие 50% в JavaJAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Разделение на кадры файла .wav, имеющего перекрытие 50% в Java

Сообщение Гость »

Я прочитал этот интересный пост «Вычислить БПФ из аудиофайла», я загрузил библиотеку audio.anaанализ, предложенную в одном из последних комментариев, но у меня возникли проблемы с этим:

[*]Разделение файла .wav на кадры
[*]Наложение кадров на 50 %

На самом деле у меня есть настроенный класс «Читать пример», взятый из:
http://www.labbookpages.co.uk/audio/jav ... ml#methods, я настроил его следующим образом: чтобы вернуть float[], содержащий кадры, полученные из файла .wav:

Код: Выделить всё

   package com.example.audioanalysis;
import java.io.File;
import java.net.URL;
import java.util.ArrayList;

import android.os.Environment;

import com.example.genderrecognitionapp.MainActivity;

public class ReadExample
{
public static float[] BufferFromWavFile()
{
final String PATH = "example";
final String FILE_NAME = "AudioRecorder.wav";
ArrayList framesRead = new ArrayList();

try
{
URL defaultAudio = MainActivity.class.getResource(Environment.getExternalStorageDirectory() + "/" + PATH + "/" + FILE_NAME);
final Decoder decoder = null;
File soundFile = new File(defaultAudio.toURI());

// Open the wav file specified as the first argument
WavFile wavFile = WavFile.openWavFile(soundFile);

// Get the number of audio channels in the wav file
int numChannels = wavFile.getNumChannels();

// Create a buffer of 100 frames
double[] buffer = new double[100 * numChannels];

do
{
// Read frames into buffer
framesRead.add(wavFile.readFrames(buffer, 100));
}
while (framesRead != null);

// Close the wavFile
wavFile.close();
}
catch (Exception e)
{
System.err.println(e);
}

float[] arrayOfFrames = new float[framesRead.size()];

for(int i = 0; i требуется объект [b]Decoder[/b], но этот объект не получает ни одного кадра на входе.
Так как же мне соединить эти две части? 

Источник: [url]https://stackoverflow.com/questions/30244746/dividing-in-frames-a-wav-file-having-a-50-of-overlapping-in-java[/url]
Ответить

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

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

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

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

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