phr00t / AutoStepper

Java tool to automate StepMania SM generation. Complete generation with banner & background art, all difficulty levels, multiple beat detection methods etc.
http://www.phr00t.com/
115 stars 23 forks source link

ArrayIndexOutOfBoundsException: 15 #4

Open Clonewayx opened 6 years ago

Clonewayx commented 6 years ago

[--- Processing 90.0s of 03 - Prago Union - Dezorient express.mp3 ---] Performing Beat Detection... Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 15 at javazoom.jl.decoder.LayerIDecoder$SubbandLayer1Stereo.read_allocation(LayerIDecoder.java:402) at javazoom.jl.decoder.LayerIDecoder.readAllocation(LayerIDecoder.java:108) at javazoom.jl.decoder.LayerIDecoder.decodeFrame(LayerIDecoder.java:72) at javazoom.jl.decoder.Decoder.decodeFrame(Decoder.java:147) at javazoom.spi.mpeg.sampled.convert.DecodedMpegAudioInputStream.execute(Unknown Source) at org.tritonus.share.TCircularBuffer.read(TCircularBuffer.java:134) at org.tritonus.share.sampled.convert.TAsynchronousFilteredAudioInputStream.read(TAsynchronousFilteredAudioInputStream.java:189) at ddf.minim.javasound.JSBaseAudioRecordingStream.readBytes(JSBaseAudioRecordingStream.java:217) at ddf.minim.javasound.JSBaseAudioRecordingStream.mRead(JSBaseAudioRecordingStream.java:705) at ddf.minim.javasound.JSBaseAudioRecordingStream.read(JSBaseAudioRecordingStream.java:680) at autostepper.AutoStepper.analyzeUsingAudioRecordingStream(AutoStepper.java:304) at autostepper.AutoStepper.main(AutoStepper.java:100)

phr00t commented 6 years ago

This exception looks rather deep, passing minim & tritonus. AutoStepper.java:304 is a buffer read, which is very odd... Is that MP3 you are trying to process shorter than 90 seconds, maybe?

vicmosin commented 5 years ago

@phr00t is there any limitations you are aware of? why did you ask about 90 seconds? I am dealing with pretty same error and have very small mp3 file

phr00t commented 5 years ago

@vicmosin the default processing time for a song is 90 seconds. I believe it is suppose to detect if there are fewer samples (e.g. less than 90 second songs) and truncate... but I suspect that part isn't working correctly, causing the buffer read exception.

The workaround would be to change the duration command line argument to something just at or shorter than the actual length of the song.