From: Damian M. <dam...@da...> - 2007-08-24 15:37:27
|
Hi, I am trying to use fmj RateConverter but it dosn't work. I remove sun and ibm ones so they are no more available as plugins and add the fmj one. but the captured media is scrambled. (I've attached some part of the raw captured media). and here is the log I've put in the process method for the conversation. [java] 18:32:55.380 INFO: fmj.process() fmj numChanged 2 from: LINEAR, 44100.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 88200.0 frame rate, FrameSize=32 bits to: LINEAR, 8000.0 Hz, 16-bit, Mono, LittleEndian, Signed, 8000.0 frame rate, FrameSize=16 bits thanks :) damencho Ken Larson wrote: > See what formats are being returned from > > net.sf.fmj.media.protocol.javasound.DataSource.querySupportedFormats > > Ken > > Damian Minkov wrote: >> Hi, >> >> I'm trying to force capture with the same samplerate as the incoming >> stream (LINEAR, 8000.0 Hz, 16-bit, Mono, LittleEndian, Signed) so the >> resampling to be skipped, but with no luck :( >> >> damencho >> >> Ken Larson wrote: >>> Damian - >>> >>> The FMJ one can actually make multiple conversions. It used to only >>> do one at a time when I was testing it. (ONLY_CHANGE_1_PARAMETER >>> false). >>> >>> However, the main drawback to the FMJ one is that it doesn't do any >>> interpolation or anything to optimize audio quality when resampling. >>> >>> Ken >>> >>> >>> Damian Minkov wrote: >>>> Hi, >>>> >>>> thanks. I found that actually is used >>>> com.ibm.media.codec.audio.rc.RCModule. >>>> I've tried to use the fmj one (as compiling it under ibm package >>>> with the same name) but I saw that >>>> fmj.media.codec.audio.RateConverter can make one conversation at a >>>> time which may be the reason for not using it then >>>> jmf switches to com.sun.media.codec.audio.rc.RateCnvt and the sound >>>> quality is much much better but still has the problem with the time >>>> differs if you put both raw streams captured from mic and speaker >>>> in audacity you can see in the graph that after 20 seconds the >>>> stream has difference in about 20 ms. Which is much better then >>>> when the ibm's one is used. >>>> >>>> damencho >>>> >>>> Ken Larson wrote: >>>>> Damian - >>>>> >>>>> This would normally be done by a rate conversion codec. >>>>> >>>>> In FMJ, this would be net.sf.fmj.media.codec.audio.RateConverter >>>>> In JMF, this would be com.sun.media.codec.audio.rc.RateCnvt >>>>> >>>>> Ken >>>>> >>>>> Damian Minkov wrote: >>>>>> Hi Ken, >>>>>> >>>>>> I have successfully run FMJ JavasoundDatasource and the problem >>>>>> in my tests is the same as the jmf one. Now I think that the real >>>>>> problem is the resampling the media, as I recorded the media >>>>>> coming from the mic directly from the datasource (44100) and the >>>>>> media is ok. but the media captured in the Effect(8000) has >>>>>> problems. I saw a mail on this case in jmf mailinglist but no >>>>>> answers there. >>>>>> http://archives.java.sun.com/cgi-bin/wa?A2=ind0106&L=jmf-interest&P=9775 >>>>>> >>>>>> >>>>>> Do you know where, in which class is done the resampling? Thanks >>>>>> >>>>>> damencho >>>>>> >>>>>> Ken Larson wrote: >>>>>>> Damian - >>>>>>> >>>>>>> I honestly hadn't tested the javasound datasource much, so I had >>>>>>> a closer look and fixed a number of problems, the main one being >>>>>>> that it was not calling the buffer transfer handler, as you >>>>>>> observed. >>>>>>> >>>>>>> See if it works better now, >>>>>>> >>>>>>> Ken >>>>>>> >>>>>> >>>>>> >>>>> >>>> >>>> >>> >> >> > |