traverso-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Traverso-devel] Re: My recent audio file changes


From: ben levitt
Subject: [Traverso-devel] Re: My recent audio file changes
Date: Sun, 8 Jul 2007 22:01:47 -0700

Hi Remon,

I've getting crashes when playing while zoomed all the way in to an mp3 clip.
I'm wondering if MonoReader::rb_read() has to be reentrant. Does it
get called from AudioClipView::paint_peaks() and by the audio
processing chain from different threads?

If so, I have a little bit of AudioReader reorganizing to do...  :P

Ben


On 7/8/07, ben levitt <address@hidden> wrote:
Okay, mp3 decoding seems to be pretty usable now.

A few oddities that I still need to track down:

 - When in microview, moving the clip makes the waveform jump every
now and then (drag slowly for a few hundred pixels, and watch for it
to jump forward about 30px, and then back.)

 - There seems to be a bit of silence added at the beginning of the
clip.  (Take a wav file and use lame to convert to mp3, then open both
files in 2 tracks, and line them up.  The mp3 file is slightly longer
because it begins with a bit (~.1sec) of extra silence.)  Hmmm... I
guess I'm not sure if this is an issue with my code, a libmad decoding
issue or a lame encoding issue... :P

Ben


On 7/8/07, ben levitt <address@hidden> wrote:
> Just added mp3 decoding using libmad.  (Thanks K3b!)
>
> It seems to work well!
>
> Now to try to get resampling working better...
> (Remon, I have ideas that don't involve ripping apart everything that
> uses an nframes_t...)
>
> Ben
>
>
> On 7/7/07, ben levitt <address@hidden> wrote:
> > I fixed VorbisAudioReader, so you can now use ogg files natively in
> > traverso!  Just drag inan ogg, and edit like it was a wav file!  No
> > conversion necessary.
> >
> > It's still not very optimized, but I think we should be able to cut
> > the cpu usage for ogg file reading way down from what it is now.
> >
> > Dynamic resampling is also starting to work.
> > To try it out, uncomment/comment lines 94/95 in MonoReader.cpp, and
> > change Project.cpp line 705 to
> >    return audiodevice().get_sample_rate();
> >
> > after making those changes, try importing audio files of different 
samplerates!
> >
> > Ben
> >
> >
> > On 7/6/07, ben levitt <address@hidden> wrote:
> > > I added AbstractAudioReader which is what it sounds like.  :)  It also
> > > has static code for figuring out which subclass to create for a given
> > > filename.
> > >
> > > I added SFAudioReader which encapsulates all the libsndfile calls.
> > > This class works well.
> > >
> > > I added dynamic resampling using ResampleAudioReader, which sadly
> > > doesn't work, and I'm not sure why yet.  So it's disabled.  See
> > > MonoReader.cpp:91 to enable it.  (it just wraps a real AudioReader
> > > with resampling code.)
> > >
> > > I also added VorbisAudioReader, which should totally work, but does
> > > not.  Traverso crashes on import of an ogg/vorbis file.  I'm wondering
> > > if this class may actually work better than it seems, and the problems
> > > are coming from another thread that gets confused by the different
> > > format?
> > >
> > > So, after all that, traverso still works the same as before.  :P
> > > Reading using libsoundfile works, ogg doesn't, dynamic resampling
> > > isn't enabled.
> > >
> > > Ben
> > >
> >
>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]