We are about to switch to a new forum software. Until then we have removed the registration on this forum.
Hi, I develop a program on a i7 (quad core). This program load a lots of short sounds (around 500) in minim AudioSample[] with minim.loadSample. No pb here, CPU stay around 30%. But I need to run it on a i5 (dual core), but here CPU get very high (100%...). I thougth using minim.loadSample load sound in RAM, I don't get why CPU go so high. Is there a more efficient way to load/play these samples? Use Sampler array instead of AudioSample array? I try aswell to change the buffer size, some improvements, but not enough... Any help would be appreciate, thanks! Adrien
Answers
Ok, I try with Sampler[], it's really more efficient on CPU, but sounds are very glitchy...Is it because I patch all sound through the same Output (minim.getLineOut)? Is there a way to change the buffer size with sampler (I know you can with AudioSample, didn't find it with Sampler).
Changed the sample buffer of the output, but very glitchy sounds...
You'll need to post a runnable example in order to get any feedback for this, I think.
Hi, I actually change my code and use the processing sound library (by the way, I wasn't able to use it until I try rachelye solution here : https://github.com/processing/processing-sound/issues/60 ). It's obviously really more efficient considering CPU ressource. But still have problem : I load, with a thread, my files, with loop like this one
for (int i = 0; i < trailNoteNbr; i++) { pianoNotes[i] = new SoundFile(this, "piano-"+i+".wav"); musicBoxNotes[i]= new SoundFile(this, "mb-"+i+".wav"); mbCleanNotes[i]= new SoundFile(this, "mbClean-"+i+".wav"); chromaNotes[i]=new SoundFile(this, "cgk-"+i+".wav"); harpNotes[i]=new SoundFile(this, "harp-"+i+".wav"); vwgkNotes[i]=new SoundFile(this, "vwgk-"+i+".wav"); }
I have quite a few like this, but for a reason I don't undersand, I have to comment the last one :
for (int i = 0; i < mouth.length; i++) { //mouth[i] = new SoundFile(this, "mouth-"+i+".wav"); titreAlf-=3; titreAlf=constrain (titreAlf, 0, 255); }
If I don't comment it, Processing gimme this error :" fatal error has been detected by the Java Runtime Environment: #
Internal Error (0x20474343), pid=2172, tid=3472
#
JRE version: Java(TM) SE Runtime Environment (8.0_51-b16) (build 1.8.0_51-b16)
Java VM: Java HotSpot(TM) 64-Bit Server VM (25.51-b03 mixed mode windows-amd64 compressed oops)
Problematic frame:
C [KERNELBASE.dll+0x8a5c]
#
Failed to write core dump. Minidumps are not enabled by default on client versions of Windows"
If I comment it ( mouth[i] = new SoundFile(this, "mouth-"+i+".wav"); )it run on my i7 quad core.
But...
I can't use sound library (even the simple exemple) on my i5 computer. I install exactly the same processing version, the same sound library, the same Java version, but I everytime the same Java runtime error, even if I make an export...The only difference is on the i5 I have windows 8.1 pro, and on my i7 windows 8.1...) Does somebody has clues to make my sketch run on the I5, or why I have this Java error and how to fix it?
Thanks for your help guys!
Have a great day, Adrien
I have quite often this kind of message error aswell : "ERROR: /node/free: Node id -1 out of range "