bonjour a tous,
Actuellement a la fac, j'ai dans le cadre de mes études a developper un lecteur Karaoké.
par ailleurs, l'utilisateur peut creer lui meme ces pistes karaoké: cette possibilité sera appeler "voice remover".
pour faire cela j'utilise du code que j'ai trouvé à cette page en java,ici.
les morceau que j'ai utilisé sont iDFT et invDFT.
j'ai codé le tt comme ceçi avec un main

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public static int[]traitementFFT1(int[]signal) throws Exception{
		double[]signalDouble=new double[signal.length];
		for(int i=0;i<signal.length;i++){
			signalDouble[i]=signal[i];
		}
		 rDFT = new double[signal.length]; //partie entiere
		/*erreur après compilation*/iDFT= new double[signal.length]; //partie imaginaire
		 DFT(signalDouble,rDFT,iDFT);
		 double[]sortie1=new double[signal.length];
		 invDFT(rDFT,iDFT,sortie1);
		 int[]sortie2=new int[sortie1.length];
		 for(int i=0;i<sortie1.length;i++){
			 sortie2[i]=(int)sortie1[i];
		 }
		return sortie2;
	}
 
	static int[] voixGauche=null;
	static int[] voixDroite=null;
 
	public static void main(String[] args) throws Exception {
		Lecture player = new Lecture("Shakira - Did It Again.wav");
		byte[]signal=player.getSamples();
		voixGauche= voixGauche(signal);//ok : partie gauche deu signal,
		voixDroite = voixDroite(signal);//ok : partie droite du son
		System.out.println(player.format.toString() + " "
				+ player.getSamples().length);
		//mix permet de jouer le morceau en un seul.
		InputStream stream = new ByteArrayInputStream(mix(voixDroite,traitementFFT1(voixGauche)));//ok
		player.play(stream);
		DataInputStream dis = new DataInputStream(stream);
	}
et lors de l'excecution j'obtiens une erreur de ce type
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian 34209792
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
	at Sound.traitementFFT1(Sound.java:146)
	at Sound.main(Sound.java:185)
quelqu'un serai t'il capable de m'expliquer cette erreur,et comment faire pour ne plus l'avoir?
par ailleurs je vous donne le fichier eclipse.ini
dont j'ai fait quelques modifications qui n'ont strictement rien changer à mon problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-product
org.eclipse.epp.package.jee.product
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Dosgi.requiredJavaVersion=1.5
>>>ajouter par moi  -XX:MaxPermSize=256m
>>>ajouter par moi   -Xms60m
>>>ajouter par moi   -Xmx1024m
j'espere que quelqu'un pourra m'aider car la je sais plus comment faire..
merci d'avance à tous ceux qui prendront la peine de m'aider.
cordialement,
et bonne nuit