Csound Csound-dev Csound-tekno Search About

[Csnd]

Date2013-04-20 09:46
Fromjpff@cs.bath.ac.uk
Subject[Csnd]
Attachmentsuntitled-[2].html  
---------------------------- Original Message ----------------------------

> From: zoharargaman 
> To: csound@lists.bath.ac.uk
> Date: Saturday, April 20, 2013 2:18:59 PM
> Subject: interesting SOLA timeScale quick pitch shifting Issues
>
> Hi guys,
> first post for me. let me say, i love CSound!
> Hans Mikelson posted on CSound magazine this interesting Time Domain
> TimeScale algorithm based on SOLA
> http://www.csounds.com/ezine/spring2000/processing/
> I love his explanation and the sound is good, but i needed a dynamic pitch
> shifting, that is, one that can change pitch in k-rate, i messed around
with
> his code but i made more mess than i can cleanup, so i need your help.
>
> this is Mikelson's version. very clear and neat
>
>
> now, how would you make a auto-tuner out of this?
> youll have to have a pitch detection algorithm (PDA) and the complicated
> thing is i want to scale a sample that runs in a loop, so... this is my
code
> with event flow at the bottom:
>
>
> it became kind of global variable - p-rate nightmare ;/
> the Init method initialize any global variable so the compiler wont be
> angry.
> setup initializes the Process instrument that runs as the Always On instr
> while performance.
> Pseudo Midi given by the note in i1.
> i1 trigger the SOLA instr.
> the SOLA instr takes global params from Process like the pitch of the
> current k-frame, and creates global signal gashft1 that is picked up by
> Process and mixes with the fade mechanism and heads out.
> the original sound is a loop, since its beeing read by a table3 opcode, i
> used a phasor to keep track of where is the pointer of the sample should be
> on the table. the thing is, that phasor must stop running when activating a
> note on SOLA, so the reinit section was added with hope to solve this.
>
> now, what is the problem? simple, no sound!
> i tried measuring rms of the ga coming out of SOLA, it measured 0.2 RMS.
> that's wierd. im i reading the table wrong? what can cause this behavior?
> how is best to debug this? what tools to use? is this idea possible anyway?
>
> thanks to all readers and answerers.
>
>
>