CSVMassageliege.java 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package QuickVerifyCrap;
  2. import java.io.BufferedReader;
  3. import java.io.FileReader;
  4. import java.io.RandomAccessFile;
  5. public class CSVMassageliege
  6. {
  7. public static void main(String[] args) throws Exception
  8. {
  9. BufferedReader r = new BufferedReader(new FileReader("D:\\loa\\000002\\001\\masseuse\\analog.csv"));
  10. String line = r.readLine();
  11. RandomAccessFile f = new RandomAccessFile("D:\\loa\\000002\\001\\masseuse\\massiert.raw","rw");
  12. line = r.readLine(); //LMAA header
  13. line = r.readLine();
  14. line = r.readLine();
  15. //String firstSampleOffset = line.replace(',','.').split(";")[0];
  16. String firstSampleOffset = line.split(",")[0];
  17. String lastSampleoffset = "0.0";
  18. int i=0;
  19. while(line !=null&&line.length()>1)
  20. {
  21. //tring[] linesplitted = line.replace(',','.').split(";");
  22. String[] linesplitted = line.split(",");
  23. String sampleraw = linesplitted[linesplitted.length-1];
  24. if(!sampleraw.equalsIgnoreCase("nan"))
  25. {
  26. sampleraw = sampleraw.replace("∞","1000000.0");
  27. double sample = Double.valueOf(sampleraw)-1.25;
  28. double sampleCrunch = (sample/1.0)*32768.0;
  29. short intSample = (short)Math.max(-32768,(Math.min(32767,sampleCrunch)));
  30. f.writeShort(Short.reverseBytes(intSample));
  31. i++;
  32. if(i%100000==0)
  33. {
  34. System.out.println("i="+i);
  35. }
  36. //lastSampleoffset = line.replace(',','.').split(";")[0];
  37. lastSampleoffset = line.split(",")[0];
  38. }
  39. line=r.readLine();
  40. }
  41. double delta = Double.valueOf(lastSampleoffset)-Double.valueOf(firstSampleOffset);
  42. double samplerate = (i/delta)*1000;
  43. System.out.println("i="+i);
  44. System.out.println("delta="+delta);
  45. System.out.println("samplerate="+samplerate);
  46. // sox -t raw -r SAMPLERATE -b 16 -c 1 -L -e signed-integer massiert3b.raw -r 44100 massiert3b.wav
  47. }
  48. }