[Clam-devel] Re: gsoc project - real time synthesizer for a woodwind instrument
Han, Yushen
yushen.han at gmail.com
Wed May 28 13:07:13 PDT 2008
Hi, Pau and Greg
Thanks to Greg's reply, I am able to covert my audio samples to SDIF and
identify loops ( with startTime/endTime in ms specified in a .XML file).
But If I extract the loop with startTime/endTime from the SDIF file, the
loops contain "clicks" and hence sound bad.
Here I suspect hat a ms may not be the best unit to specify a loop.
e.g. suppose SR = 44100 Hz, HOP = 256 samples (as used in Greg's code),
for a note C4 (f = 261.6Hz), we will have 3.8ms per period i.e 168.8 samples
per period.
The fraction will lead to round error if we specify the loop by ms.
In the hope that a sample-by-sample approach will avoid the click,
I am trying to develop my algorithm to identify an optimal loop based on the
best f0 given by
segment.GetFrame(counter).GetFundamental();
However, I check out the reference for segment, frame, and audio but did not
know how to specify the unit by sample.
http://www.clam.iua.upf.edu/doc/CLAM-devel-doxygen/classCLAM_1_1Segment.html
http://www.clam.iua.upf.edu/doc/CLAM-devel-doxygen/classCLAM_1_1Audio.html
Do you agree that it is the reason why the loop sounds like "clicking"?
Do you know if there is a way to refer to a chunk of audio by sample?
Thanks!
Best regards,
Han, Yushen
Best regards,
Han, Yushen
On Thu, May 22, 2008 at 6:51 AM, Pau Arumí <parumi at iua.upf.edu> wrote:
> On dj, 2008-05-22 at 03:11 -0400, Han, Yushen wrote:
> > Hi, Greg and Pau
> >
> > I did some tests on SDIF files out of wave files and so far it works
> > fine.
> > Now I am trying to find out the loop of a single note and store the
> > loop in .xml file.
> > Here I have questions for each of you separately:
> >
> > (1) for Greg
> > I compiled your makeLoop (from the examples folder) successfully.
> > But if I specify the start time and the end time of the steady state,
> > makeLoopExe always "calculate 0 EarthMover's distance".
> > If I do not specify the time, makeLoopExe would never finish. ( it
> > gives dots ".................." )
> >
> > Did you notice this problem before? Maybe it only happened to me.
> >
> > Also, in your previous message you said you "turned off the database
> > lookup function".
> > Can you please explain more about what "the lookup function" is
> > supposed to do and why you turned it off?
> >
> > ( I could see that you disabled the residual part in the SDIFInConfig.
> > But I am not sure if this is what you were talking about... )
> >
> > (2) for Pau:
> > So far we have not decide which woodwind instrument we should work
> > with.
> > Should I work on Saxophone or Oboe?
> > Do we have annotated saxophone notes from SALTO with all loop
> > identified?
> >
> > I cut and labeled 72 oboe notes recorded in an anechoic chamber by
> > hand (24 pitches C4-B5 * 3 different dynamics).
> > It will take a while to find the loop for those notes. Before I
> > proceed, I would like to make sure I am working on the right
> > instrument :-)
>
> Hi Yushen,
>
> Yes please, proceed with your oboe notes.
> I'll also search for the old-salto saxophoe database, but there are
> chances they are not available.
> It would be interesting to work with a couple (or more) instruments,
> though we can concentrate on the sound quality for only one of them.
> I think that working with multiple instruments will force us to improve
> the tools for creating instruments, which should be one of the goals.
> Another goal i'd like to propose is offering transformations not typical
> in time-domain based samples, taking advantage of the underlying
> spectral model. Timber morphing from one instrument to another is the
> first that comes to my mind.
> Of course, the first milestone is having a usable instrument.
>
> Pau
>
>
> >
> > Best regards,
> > Han, Yushen
> >
> > On Sun, May 18, 2008 at 10:35 AM, Greg Kellum <greg.kellum at gmail.com>
> > wrote:
> > Hi,
> >
> > In response to point 3, I turned off the database lookup
> > function at
> > some point, because of an exception that kept occurring... I
> > can't
> > remember whether I eventually fixed this or not. I'll have to
> > check...
> >
> > Greg
> >
> >
> > On Sat, May 17, 2008 at 6:04 PM, Han, Yushen
> > <yushen.han at gmail.com> wrote:
> > > Hello, Pau
> > >
> > > Thanks for your concerns. Here is some update from me.
> > >
> > > 1. Based on Greg's last update, I am able to compile the
> > command-line
> > > version of continuousExcitationSynthesizer.
> > > Also, I can read the XML file where the looping information
> > is stored with
> > > his metadata reader.
> > > As for SDIF, I am able to use CLAM/examples/SDIF2Wav and
> > Wav2SDIF to convert
> > > between SDIF and WAV.
> > >
> > > 2. In the NetworkEditor, I still could not have
> > "SDIFDatabaseProcessing".
> > > (Greg had reported that he fixed this problem.)
> > > Right now I don't really use the network editor but the
> > command-line
> > > executable version.
> > >
> > > To resume our remote debugging, last time you concluded
> > > "It seems your OS is not loading some of the processings. To
> > confirm
> > > this: how many processings do you have in the 3D Audio
> > category?
> > > You should see 14."
> > > However, I only had 1 processing - VectorBasedArrayPanning
> > available after
> > > compiling that 3D plugin.
> > >
> > > 3. I did some experiment with 12 oboe notes in one octave
> > and concluded that
> > > if there is only one source sounding,
> > > the first 4 harmonics are quite in phase ( I only observe
> > the first 4
> > > harmonics). Therefore I was thinking that we may disregard
> > the instantaneous
> > > phase in the SMS. However, this is not true for an
> > orchestra.
> > >
> > > "- [2+ days] To investigate the effect of slowly-changing
> > phase changes
> > > between different partials
> > > on the perception of the harmonic sound. If the
> > slowly-change phase did
> > > not affect the sound
> > > very much ( suppose all harmonics are all in phase ),
> > further
> > > simplification in synthesis
> > > could be done. This experiment is open to suggestion
> > from the mentor."
> > > I will write to you separately about that and more raw
> > ideas.
> > >
> > > 4. Right now I am trying to modify Greg's code and Wav2SDIF
> > example for:
> > > "- [1-2 days] To synthesize with SMS with the analysis
> > result (in a simple
> > > setting).
> > > To produce some audible result to evaluate the performance
> > of SMS
> > > analysis/transformation."
> > >
> > > It seemed that the Wav2SDIF example had done the majority of
> > the work.
> > > I am studying the code but I don't know if I could improve
> > this part.
> > > Do you recommend me to read some updated documents on SDIF?
> > > http://www.cnmat.berkeley.edu/SDIF/ does not seem to be very
> > recent.
> > >
> > > 5. I apologize for my late updating.
> > > I am thinking of keeping a blog on this project...
> > >
> > > Best regards,
> > > Han, Yushen
> > >
> > >
> > >
> > >
> > > On Sat, May 17, 2008 at 7:40 AM, Pau Arumí
> > <parumi at iua.upf.edu> wrote:
> > >>
> > >> Hello Yushen,
> > >>
> > >> how is all doing? I'd like to hear in what you are up
> > regarding your
> > >> project.
> > >>
> > >> are you still blocked with the plugin installation? in that
> > case is it
> > >> possible for you have also a linux box?
> > >>
> > >> i'd like you to write some raw ideas about what to be
> > implemented and
> > >> some planning, and then i'll comment and keep refining the
> > planning.
> > >> is that ok?
> > >>
> > >> cheers!
> > >> pau
> > >>
> > >>
> > >
> > >
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.clam-project.org/pipermail/clam-devel-clam-project.org/attachments/20080528/03bec233/attachment-0004.htm>
More information about the clam-devel
mailing list