traverso-devel
[Top][All Lists]
Advanced

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

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


From: Remon Sijrier
Subject: Re: [Traverso-devel] Re: My recent audio file changes
Date: Mon, 9 Jul 2007 10:49:27 +0200

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.)
 
Might have to do with the crash problem as well. If I remember correctly, the same readsource is used for both the DiskIO reading the audio data, and in Peak to read in microview data.
DiskIO runs in it's own thread, and the Peak microview works from the GUI thread.
They both then can indeed call file_read() at the same time, which is bad.
One solution could be to let Peak have it's own instance of ReadSource, as far as I know it should be possible to let 2 different instances read from a file without re-entrance and thread safety issues ?
 
Another solution would be to move the reading of the file exclusively to DiskIO.

Just for the record, the audio processing thread has nothing to do with file reading, it only reads from read buffers !!


 
- 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
 
 
Heh, neither do I :-)
 
 
Thanks for this nice work, it's much needed I think for wider adoption of Traverso in certain communities !
 
Remon
 
 
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
> > >
> >
>


_______________________________________________
Traverso-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/traverso-devel


reply via email to

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