Re: [MP3 ENCODER] Persistent JS problem, --nspsytune or not

2000-10-08 Thread Naoki Shibata


Roel addendum: nonetheless JS influence or not, "--nspsytune" only has
Roel negative implications on the -V1 (-q1) I use.  Perfectly possible 128k
Roel sounds better, just wanted to express that imo -V1 does not.
Roel 
Roel I don't know what the cause is, but the improvements on lower bitrates
Roel are at cost of sound quality degradation on higher ones.

I can't hear the joint stereo noise you mentioned. Maybe this is because
there is differences among individuals on perception of sound. So, I
can't fix it directly.

Since there is no problem currently in regular stereo mode, I believe the
problem is caused by (default) psymodel of joint stereo.

BTW, why do you stick to joint stereo? I think people who pays serious
attention to sound quality should not use joint stereo at high bitrate,
at least with current version of lame. Even FhG doesn't use joint stereo
at high bitrate.

--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] -q1

2000-10-07 Thread Naoki Shibata



Roel The graphs you provided show a lower noise, this because --nspsytune
Roel probably.  It simply sounds poor, really poor.  It sounds nothing like
Roel the original on my headphones.
Roel 
Roel I use the one with the "RH extensions" from Dmitry. (thanks for all
Roel the compiles and hard work Dmitry btw!)

  --nspsytune doesn't work correctly if RH extensions are enabled.

Robert: Have RH extensions already become default? If not, I think it's
confusing if there are two binaries. What are advantages of selecting
options at compile time? I think selecting experimental options via
command line options is more handy.


--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] Interesting high quality settings and possible bug

2000-10-05 Thread Naoki Shibata


Ross Gargos Chode wrote:
Ross 
Ross  -V1 -mj -b128 -q2 -d -p -k -F --nspsytune --athlower -35 -X3.
Ross 
Ross Some thoughts:
Ross 
Ross -p  -F will have no effect on sound quality.  I have had mixed results with 
nspsytune.  -X2  X3 both produce massively larger average bitrates than all the 
others.  I've never played with -d.  Can someone tell me if allowing channels to have 
different blocktypes has any bad side effects?  ie. ISO or decoder compatibility?


  First, one should not specify "--athlower -35". This may significantly
degrade sound quality.

  I always used -q1 while tuning --nspsytune. I think -q1 doesn't
degrade sound quality so much with --nspsytune.

  Theoretically, -X doesn't affect sound quality in VBR mode. 


--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



[MP3 ENCODER] Bug of long block pre-echo control

2000-10-04 Thread Naoki Shibata


  Hi,

  I found a bug in the long block pre-echo control code.

if (gfc-blocktype_old[chn] == SHORT_TYPE )
  thr[b] = ecb; /* Min(ecb, rpelev*gfc-nb_1[chn][b]); */
else
  thr[b] = Min(ecb, Min(rpelev*gfc-nb_1[chn][b],rpelev2*gfc-nb_2[chn][b])
);

  In the loop of chn, chn goes up to 3, but the size of array gfc-blocktype_o
ld[] is 2. So, this code works incorrectly in joint stereo mode.

  This code should be fixed like this.

if (gfc-blocktype_old[gfp-mode == MPG_MD_JOINT_STEREO ? 0 : chn] == SHORT_TYPE )

--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] Winamp/100hz bug: SOLVED!

2000-10-02 Thread Naoki Shibata


Naoki IIRC, bug of winamp is also triggered by FhG encoded mp3 file.

  This means that nitrane has more than one bug.
  So, changing IXMAX_VAL to 8191 doesn't solve all problems.

  I think we should investigate what FhG encoder does, and make lame do
what FhG does.

--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] CBR quality improvement

2000-09-22 Thread Naoki Shibata


Naoki   Changes I made are following:
Naoki 
Naoki   1. Use -X1.
Naoki   2. amp_scalefac_bands() amplifies only one sfb at a time.

Robert compile LAME with RH_AMP, call it with -Y
Robert and you get similar results. It's already 
Robert there for a while and features some better
Robert short block noise coloring.

  Improvement of CBR quality is achieved only when both 1 and 2 are
turned on. RH_AMP with -Y option only turns on 2.
  Please listen with your ears and compare.


Shawn Would that include Safe-VBR mode as well?

  Currently, ABR is not included.

--
Naoki Shibata   e-mail: [EMAIL PROTECTED]
--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] VBRtest.wav

2000-09-11 Thread Naoki Shibata


Robert I just looked again into our psymodel.c and
Robert I'm wondering since when we activated the 
Robert following code:

Robert I think the problems with that VBRtest.wav track are
Robert because of the use of the above so called additive masking.
Robert If you turn that off, it increases quality of that
Robert specific test sample a lot, even with -q1 !
Robert (and the file size too ;)
Robert 
Robert From my point of view, only the else part makes sense.

  With latest CVS version of lame, vbrtest.wav can be encoded perfectly
using --nspsytune. It was a problem of detecting/handling tonality.
Now, as far as I tested, --nspsytune always gives equal or better result
than default psymodel if their encoded file sizes are same.

--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



[MP3 ENCODER] improved --nspsytune

2000-08-28 Thread Naoki Shibata


  Hi all,

  I've just committed some changes to --nspsytune.

  Things changed are following:

  1. Changed noise calculation. New --nspsytune uses total noise in a
 sfb to calculate noise. This calculates loudness of the noise.
  2. Improved function of masking addition.
  3. Improved tonality handling. Now, this uses a table to determine
 masking attenuation level. I hope more tuning of this table solves
 the vbrtest problem.
  4. In CBR mode, --nspsytune turns on -X 6. Since noise is calculated
 in loudness, this should improve result of CBR.

  Maybe --nspsytune doesn't work well if fs != 44.1KHz.


--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] The best decoders

2000-08-17 Thread Naoki Shibata


David I read on the in_mpg123 web page that it doesn't support streaming.
David Could this be your problem?
David 
David (I haven't tried it myself, based on this information.  My personal
David "jukebox" is a streaming httpd server.)

  Sorry, I'm very busy now and can't make new version of in_mpg123.
  Perhaps I'll be freed by the weekend after next.

--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] --nspsytune really sounds (more than a fair amount) worse :-((

2000-08-08 Thread Naoki Shibata


  I have already figured out why current --nspsytune spend too much
bits for tonal parts. I told all of my new ideas to Takehiro, and
Takehiro is now working to implement some of them. I also want to do
that myself, but I'm now very busy.
  I have not changed JS related algorithms, so currently I have no idea
why --nspsytune degrades JS quality.


Roel RH My observation on a song from the artist formerly known as Prince:
Roel RH - the old VBR code makes it at an average of 130 kbits with -V4, sounds OK
Roel RH - turning on Naoki's psy tunings: it grew on 196 kbits, nearly 50% larger!
Roel 
Roel I found it to do the same + introduce noise.
Roel 
Roel RH I haven't spent much time at his tunings, but I fear that it always says
Roel RH the sound is tonal, even if it's more noise like. 
Roel 
Roel I spent a whole afternoon (7 hours) trying and not 1 file I tried sounds better 
in any
Roel way.
Roel 
Roel - JS files - suffer big Q losses
Roel - S files - seem ok

--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] MP3 decoder comparison

2000-07-17 Thread Naoki Shibata


Ross Your joking aren't you?  It uses about 5 times more CPU than in_mp3.  On the
Ross old machine I use it on (K6-200), in_mpg123 uses about 50% of CPU where
Ross in_mp3 is about 10%.  The advantage is slightly better sound quality.

  The amount of CPU load highly depends on performance of FPU.  Since
K6's FPU performance is much worse than Pentium II's, load on K6 is much
higher than on Pentium II.

--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] Some observations of vbrtest problem

2000-07-17 Thread Naoki Shibata


  OK. I'll have some more experiments about this.

Mark The reason you cannot use maxnoise is that the output of a lapped
Mark transform (like the MDCT) with very short transform lenghts (576 and
Mark 192 in our case), individual frequency information CANNOT BE TRUSTED!
Mark You have to do some kind of smoothing/convolution before this
Mark information is meaninfull.  For example, two identical signals, just
Mark phase shifted and with different low-level noise, can generate very
Mark different maximum values, but to treat these signals differenty would
Mark be a mistake.
Mark 
Mark This is the real reason why the psycho-acoustic model does not do 
Mark spectral line-by-line calculations, but first convolves down
Mark to 64 "partition" bands.  (They did not use partition bands
Mark just to save CPU cycles!)
Mark 
Mark This information is then averaged (or in the case of AAC,
Mark they use min  max) down to the 21 scalefactor bands.
Mark But what do you think of this variation on your idea? :
Mark 
Mark1. compute psychoacoustics in the 64 partition bands
Mark2. compute noise in the same 64 partition bands
Mark3. adjust the scalefactors for scalefactor band N so that
Mark   noise  masking, for all partition bands contained in band N.
Mark 
Mark I think this is a good compromise between avenoise and maxnoise,
Mark and actually simplifies the psycho acoustic model since
Mark we dont have to map from partition bands down to scalefactor bands.
Mark 
Mark Mark

--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



[MP3 ENCODER] Some observations of vbrtest problem

2000-07-16 Thread Naoki Shibata


I think it is certain that this problem is caused by noises
concentrated on pure tones. 
A noise on a single MDCT coefficient increases as it's
amplitude increases. This is because quantized values are
actually values powered by 3/4.

According to the theory of psychoacoustic, it is a wonder
why using average noise rather than MAXNOISE succeeds.
Perhaps this is the answer of this question:
The reason why vbrtest problem is not apparent in most cases
is that if a calculated noise of an MDCT coefficient exceeds
the masking threshold of it's SFB, this means that amplitude
of that coefficient is large and thus it makes larger masking
itself. So, real masking of it's frequency is larger than
calculated masking of it's SFB.

Perhaps the most clear solution is to calculate masking of 
all MDCT coefficients, and use MAXNOISE. But this is too
expensive. Perhaps a reasonable solution is detecting peaks
and calculating these maskings separately.

--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] 32 or 44.1kHz for 128 kbit/sec mp3s fromsoundcard?

2000-07-13 Thread Naoki Shibata



Jaroslav Sure. But not only metal. All music needs bandwidtw up to 100kHz. Ears
Jaroslav cannot hear stable sinus frequency, but music is not sinus; music is
Jaroslav impulses, that have more energy at band 20kHz, and you can hear it all (by
Jaroslav not by ears and only impulses, not sinus).


  Here are results of interesting experiments about this issue.

http://www.etl.go.jp/%7Eacoustic/research/hf-e.html


--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] --nspsytune

2000-07-10 Thread Naoki Shibata


  Hi Mark,

Mark Right now, the spreading function
Mark is normalized so that (for example) convolving s3 with a constant
Mark function will not remove any energy and return the same constant.

  Is there any reason why energy should be preserved here?


Mark After the spreading function is applied, then you can then adjust the
Mark strength based on the tonality measure, and if you want a uniform
Mark reduction by .7 (1.5db), it can be incorporated later.  
Mark (in fact, later it looks like you increase the masking by 2db, so all of 
Mark this could be done at that point?)

  Why I attenuate 3dB (0.7 != -1.5dB) here is that there is a description
in Zwicker's book that peak of masking is 3dB below masker. Why I
increase masking by 2dB later is that I tuned this value by listening
tests.


Mark it looks like a
Mark comparison between peak and average energy within a partition band?
Mark This is based on the theory that noise is usually has a flat
Mark spectrum, while pure tones would have sharp peaks?

  Yes.

Mark The ISO measure of tonality is based on how stationary a signal is
Mark in time.  Thus the ISO formula is based on measuring the change in
Mark energy and phase over 3 granules: if they dont change much over these
Mark 3 granules, the signal is considered very tone-like, and if they
Mark change a lot, noise-like.

  Yes, I know. But, in my experiments, the ISO tonality doesn't
work as I expect. I want to detect following : In Zwicker's
book, there is a description that masking made by a pure tone
is less than that made by noise spreading through a critical band,
even if total energy of them are same. And, if there are 5 or more
pure tones with same energy exist within a critical band,
this can be treated as a noise.


Mark 3. Simultaneous masking:  This is based on the theory that
Mark two maskers, when added together, can (but not always?) give 
Mark more masking then if the sum of their individual maskings.

  Yes.

Mark I haven't looked at Zwicker's book (Lincoln's reference for this)
Mark but I imagine it is based on tests with just 1 or 2 maskers.

  The description in Zwicker's book is basically based on 2 maskers.
But, there is also a description that someone confirmed that the
theory is also valid if there are 4 maskers. At least, it's worth
trying.


Mark 4. Your point #5 above is very similar to the ISO formula
Mark which is implemented via "minval" threshold.  The strength
Mark of the maskings (computed based on tonality) is not allowed
Mark to exceed a certain threshold.  The ISO formula is a little
Mark more complicated in that this threshold depends on frequency:
Mark for low frequencies, minval is more restrictive (resulting
Mark in less masking than would be used w/o minval).  

  I can't understand necessity of minval.


Mark The real goal is to find something that will increase
Mark the bitrate of vbrtest.wav, without disturbing the bitrate
Mark of other samples which sound ok with VBR.

  Yes, that is what I want to do. And, I think that this is somewhat
achieved. I agree that there is room for improvements.

  I think that the original -V 4 is not perfect in many
inputs. I can hear subtle noise which doesn't disappear
with -V2 (e.g. vioo10_2.wav in SQAM). With -V 4 --nspsytune, 
these noise completely disappers. Increasing NTHRE produces
same kind of noise with --nspsytune, so I think this is same
problem as vbrtest. So, I think increase of bitrate is not so bad.
I want to hear other people's opinion about quality.

  BTW, right now I had some listening tests that disables MAXNOISE
(changing NTHRE to 10). This produces files whose bitrate a little
less than without --nspsytune in average, and I cannot hear quality
degradation compared to that without --nspsytune. So, I don't think I am
doing completely incorrect things.


Mark I've played with MAXNOISE and do not really like it since it is based
Mark on inaccurate energy estimates of single MDCT coefficients, rather
Mark than some kind of averaging.  For example, take a signal with a very
Mark large N'th coefficient.  A tiny change in this signal can easily move
Mark the energy so that it is now 50%/50% between N and N+1 coefficients.
Mark The thing that doesn't change is the total energy.  Thus I think some
Mark type of smoothing needs to be done.  A better solution might be to
Mark take the maximum of a moving average of 5 coefficients over all the
Mark coefficients in the band.

  Why energy is important here? I think more important thing is that
peak noise must not exceed masking. I cannot explain reason now, but in
my experiment using FFT, if a pure tone is located at 50%/50% between N
and N+1 coefficients, drop of peak coefficient's energy is 0.9dB(I have
to think it's reason, but this may because of window function).


--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



[MP3 ENCODER] --nspsytune

2000-07-09 Thread Naoki Shibata


  I forgot to mention:

  There is no advantage to use --nspsytune with CBR 128 as far as I
tested.

  Please use --vbr-old when use --nspsytune.

  --nspsytune turns on -Z.


--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] --nspsytune

2000-07-09 Thread Naoki Shibata


Mathew  1. Addition of simultaneous masking.
Mathew 
Mathew What does this one mean?

  If there are two or more maskers, produced masking threshold is not
just an addition of them, but more than that in most case. I coded this.

  This page explains same thing, but the formula I used is not same as
that on this page.

http://ccrma-www.stanford.edu/~bosse/proj/node20.html#SECTION00042600

--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



[MP3 ENCODER] --nspsytune

2000-07-09 Thread Naoki Shibata


  Hi,

  I have just commited changes to add --nspsytune option.
  With this option, vbrtest.wav is encoded perfectly, and
encoded sound becomes more natural to my ear though encoded file size
increases.

  --nspsytune command line option turns on following things

1. Addition of simultaneous masking.
2. MAXNOISE is selected if max/avg exceeds predefined threshold.
3. long block fft window function is changed to blackmann window.
4. new tonality measure is introduced, since it seems that old tonality
   is not working correctly.
5. Usage of tonality is changed. If tonality exceeds predefined
   threshold, masking made by that partition is suppressed by 10dB.

--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



[MP3 ENCODER] square wave and vbrtest.wav problem

2000-06-21 Thread Naoki Shibata


  The vbrtest.wav problem can be reproduced with a simple square wave.
  
  http://www.geocities.co.jp/Technopolis/9674/lametest/index.html

--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] hack for IEEE754 FPU

2000-05-12 Thread Naoki Shibata


  I tested it on some machines.
  It seems working fine on these machines.

  Followings are time needed to encode a certain file.
  Left side is the time when the hack is disabled, and right side is
when enabled. Upper side is the time when no option is given to lame,
and lower side is when '-h' option is given.

  I didn't change compile options.


linux 2.2, gcc 2.95.2 on alpha 21164
   11.049 - 10.338
-h 11.540 - 11.469

linux 2.2, gcc 2.95.2 on alpha 21264
7.314 - 6.909
-h  7.962 - 7.839

SunOS 5.6, gcc 2.7.2.3 on Ultra Sparc II
8.69  -  7.89 
-h 10.46  - 10.90


--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] default high pass filtering

2000-05-10 Thread Naoki Shibata


Shawn 2- Resample the input file to something ridiculously low like 40Hz,  subtract 
this from the original WAV. (Although that would probably require the above method 
anyway.)


  Assume that the original sampling frequency is f.
  Downsampling to sampling frequency f/n (n is integer) is easy, since
this is done by picking up every nth sample.
  Upsampling this data to frequency f requires filter with large order,
but since almost all input sample is zero, this process requires only
small computational power.


--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] Hardware reccomendation

2000-05-08 Thread Naoki Shibata


Segher Oh, by the way, anyone interested in better DCT's?

  I made faster mdct_long and sent it to Takehiro.


--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] new in_mpg123

2000-05-03 Thread Naoki Shibata


Mark Naoki:  How were you planning on adding the resync code?  
Mark Would this be inside or outside of mpglib?

  I added it outside mpglib. It seems working fine now.


--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] new in_mpg123

2000-05-02 Thread Naoki Shibata



Joshua I've played quite a few mp3s and it refused to play one mp3. 

Karsten But I have some mp3s the plugin plays half the way and then 
Karsten proceeds to the next song. 

  I think it's because those files are corrupted. Most of MP3 players try
to resync on erroneous frames. But mpglib seems easily break when
erroneous frame is fed. So, if I simply add resync code, decoder
often breaks after resync. It seems another patch for mpglib is needed.


Alex Say, does anyone have a copy of the paper cited below or the ability to get
Alex one?  It's listed as the source for a fast MDCT algorithm used in the maplay
Alex decoder.  I adapted that algorithm for use in my decoder, and now I'd really
Alex like to use it in an encoder as well, but I'm not familiar enough with the
Alex theory to make the fairly radical changes that would require.

  I once posted a patch that speeds up old filter_subband, and it
includes 32point IDCT code with B.G.Lee's algorithm. I also have DCT
version of the code, and I'll post it if someone wants it.


Monty No, but I have a later paper with a further polished algorithm that I use (with
Monty my own mods; the authors were good mathemeticians, but lousy typesetters/code
Monty optimizers) as the Vorbis MDCT:
Monty 
Monty "The use of multirate filter banks for coding of high quality digital audio"
Monty 6th European Signal Processing Conference, Amsterdam, June 1992, vol 1
Monty pp211-214

  This paper can be downloaded from:

http://www.lte.e-technik.uni-erlangen.de/~spo/eusipco.corrected.ps


--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



[MP3 ENCODER] new in_mpg123

2000-05-01 Thread Naoki Shibata


  I released new version of in_mpg123.

  New features implemented are:

  1. ID3 title formatting
  2. option to suppress zero samples at the beginning of file
  3. seekbar

  I have not tested it heavily.  Bug reports are welcome.

http://www.geocities.co.jp/Technopolis/9674/in_mpg123.html

--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] more on the winamp decoder bug

2000-05-01 Thread Naoki Shibata


Ross Has anyone bothered telling Nullsoft about this bug?

  This has been already fixed in winamp 2.61.


--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] more on the winamp decoder bug

2000-05-01 Thread Naoki Shibata


Ross Has anyone bothered telling Nullsoft about this bug?

  This has been already fixed in winamp 2.61.

  Sorry, it's not fixed yet.
  Some kind of bug is fixed in 2.61, so I confused.


--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] LAME encoder plugin for WinAmp?

2000-05-01 Thread Naoki Shibata



Zia Sorry for my repetition. But I was unable to find that plugin on Winamp.com.
Zia Either they have removed it or I didn't see it... Could you please send me the
Zia location from where I can download it? Thanks.

  It's here.

http://www.winamp.com/customize/detail.jhtml?componentId=177

--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] LAME encoder plugin for WinAmp?

2000-04-29 Thread Naoki Shibata


Mark I haven't heard of anything.  But for this to be usefull, wouldn't 
Mark you also need some ripping software?

  Ripping plugin already exists.

http://www.winamp.com/customize/detail.jhtml?componentId=546

--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



[MP3 ENCODER] Speeding up window_subband

2000-04-28 Thread Naoki Shibata


  Hi all,

  The patch included in this mail speeds up old filter_subband(), and It
seems that same speed-up can be applied to current window_subband(). I
tried to understand how current window_subband() works, but I couldn't.
  Someone, please explain it.

  Naoki


*** filterbank.c~   Mon Nov  8 10:58:50 1999
--- filterbank.cSat Apr 29 13:23:56 2000
***
*** 208,213 
--- 208,305 
  /
  
  
+ void idct32(double a[])
+ {
+   /* returns sum_j=0^31 a[j]*cos(PI*j*(k+1/2)/32), 0=k32 */
+ 
+   static double costab[] = {
+ 0.5006029982351962726 ,0.74453627100229857749,0.553103896035421 
+,1.4841646163141661852,
+ 
+0.51544730992262455249,0.97256823786196078263,0.62250412303566482475,3.4076084184687189804,
+ 
+0.50547095989754364798,0.83934964541552681272,0.58293496820613388554,2.0577810099534108446,
+ 0.53104259108978413284,1.1694399334328846596 ,0.674808341455005678  
+,10.19000812354803287 ,
+ 0.5024192861881556782 
+,0.78815462345125020249,0.56694403481635768927,1.7224470982383341955,
+ 0.52249861493968885462,1.0606776859903470633 
+,0.64682178335999007679,5.1011486186891552563,
+ 
+0.50979557910415917998,0.89997622313641556513,0.60134488693504528634,2.5629154477415054814,
+ 0.54119610014619701222,1.3065629648763763537 ,0.70710678118654746172,
+   };
+ 
+   static unsigned char addtab[] = {
+ 1,29,31, 2,  1,25,27, 2,  1,21,23, 2,  1,17,19, 2,  
+ 1,13,15, 2,  1, 9,11, 2,  1, 5, 7, 2,  0, 3, 1, 
+ 1,27,31, 4,  1,26,30, 4,  1,19,23, 4,  1,18,22, 4,  
+ 1,11,15, 4,  1,10,14, 4,  0, 7, 3, 0, 6, 2, 
+ 1,23,31, 8,  1,22,30, 8,  1,21,29, 8,  1,20,28, 8,  
+ 0,15, 7, 0,14, 6, 0,13, 5, 0,12, 4, 
+ 0,31,15, 0,30,14, 0,29,13, 0,28,12, 
+ 0,27,11, 0,26,10, 0,25, 9, 0,24, 8, 
+   };
+ 
+   static unsigned char buttab[] = {
+ 15,31,30, 14,30,30, 13,29,30, 12,28,30, 
+ 11,27,30, 10,26,30,  9,25,30,  8,24,30, 
+  7,23,30,  6,22,30,  5,21,30,  4,20,30, 
+  3,19,30,  2,18,30,  1,17,30,  0,16,30, 
+ 23,15,29, 22,14,29, 21,13,29, 20,12,29, 
+ 19,11,29, 18,10,29, 17, 9,29, 16, 8,29, 
+  7,31,28,  6,30,28,  5,29,28,  4,28,28, 
+  3,27,28,  2,26,28,  1,25,28,  0,24,28, 
+ 27, 7,27, 26, 6,27, 25, 5,27, 24, 4,27, 
+ 19,15,26, 18,14,26, 17,13,26, 16,12,26, 
+ 11,23,25, 10,22,25,  9,21,25,  8,20,25, 
+  3,31,24,  2,30,24,  1,29,24,  0,28,24, 
+ 29, 3,23, 28, 2,23, 25, 7,22, 24, 6,22, 
+ 21,11,21, 20,10,21, 17,15,20, 16,14,20, 
+ 13,19,19, 12,18,19,  9,23,18,  8,22,18, 
+  5,27,17,  4,26,17,  1,31,16,  0,30,16, 
+ 30, 1,15, 28, 3,14, 26, 5,13, 24, 7,12, 
+ 22, 9,11, 20,11,10, 18,13, 9, 16,15, 8, 
+ 14,17, 7, 12,19, 6, 10,21, 5,  8,23, 4, 
+  6,25, 3,  4,27, 2,  2,29, 1,  0,31, 0, 
+   };
+ 
+   static unsigned char swaptab[] = {
+  1,16,  2, 8,  3,24,  5,20,
+  6,12,  7,28,  9,18, 11,26,
+ 13,22, 15,30, 19,25, 23,29,
+   };
+ 
+   int i;
+   unsigned char *p;
+ 
+   p = addtab;
+   for(i=0;i32;i++)
+ {
+   if (p[0]) {
+   a[p[2]] = -a[p[2]] - a[p[1]];
+   a[p[1]] += a[p[1] - p[3]];
+   p += 4;
+   } else {
+   a[p[1]] = -a[p[1]] - a[p[2]];
+   p += 3;
+   }
+ }
+ 
+   p = buttab;
+   for(i=0;i80;i++)
+ {
+   double xr;
+   xr = a[p[1]]*costab[p[2]];
+   a[p[1]] = (a[p[0]] - xr);
+   a[p[0]] = (a[p[0]] + xr);
+   p += 3;
+ }
+ 
+   p = swaptab;
+   for(i=0;i12;i++)
+ {
+   double xr;
+   xr = a[p[0]];
+   a[p[0]] = a[p[1]];
+   a[p[1]] = xr;
+   p += 2;
+ }
+ }
+ 
  void filter_subband(double z[64], double s[SBLIMIT]) {
  
 double yprime[32];
***
*** 217,222 
--- 309,315 
 
 double s0,s1;
  
+ #if 0
 if(!init) {
init=1;
for (i=0; i16; i++)  for (j=0; j32; j++)
***
*** 240,245 
--- 333,349 
   s[31-i] = s0-s1;
  
   }
+ #else
+   s[0] = z[16];
+ 
+   for(i=1;i=16;i++)
+ s[i] = z[i+16]+z[16-i];
+ 
+   for(i=17;i=31;i++)
+ s[i] = z[i+16]-z[80-i];
+ 
+   idct32(s);
+ #endif
  
 }
  


--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] mpglib bugfix

2000-04-25 Thread Naoki Shibata


Matthew Thinking about it, my other request would be seeking / file
position
Matthew support. I see there's some code already in DecodeThread that
looks like it
Matthew could handle seeking - it would just need tying in.


Smoerk I cannot listen to live audio streams? Are you going to add this?


Yes. I know that the plugin lacks many features. Please wait or help
development.


  BTW, in_mpg123 will be worthless if decoder of winamp is debugged
 completely.  I want perfect MP3 decoder now, so I developed it. But on
the other hand I have some doubt about making effort to develop it.


--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] mpglib bugfix

2000-04-24 Thread Naoki Shibata



Matthew Great stuff. I have a couple of questions/feature suggestions

  Thanks. Perhaps I can implement both features. Please wait for
anouncement of new version.

--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] Decoder quality comparison [quite detailed - sorryifrepeat]

2000-04-19 Thread Naoki Shibata


  Hi, all.

  I also tested differences of outputs from some decoders.
  Output of mpg123 is almost identical to fraunhofer's, but
there are some mp3 files whose outputs have quite large 
difference.
  I made a mp3 file by adding a patch to lame so that lame 
randomly selects block type, and output of mpg123 when decoding 
this mp3 file has apparently large noise. The dist10 decoder
doesn't have this bug.
  I investigated the mpg123 code. Perhaps, problem is in
dct12, dct64 and synth_1to1.
  Now, I'm trying to make a patch that fixes this problem, but
this may take some days or more.

  The mp3 file can be downloaded from:
http://www.geocities.co.jp/Technopolis/9674/lametest/test_short.zip


  And, I made a mp3 decoder plugin for winamp which is based on
current mpglib of mpg123. This can be downloaded from:

http://www.geocities.co.jp/Technopolis/9674/lametest/in_mpg123.zip


 WinAmp's EQ sucks bigtime. They all have the same frequency response.

  Try my EQ plugin for winamp. It can be downloaded from DSP plugin
section of winamp.com.

--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )