COCKOS
CONFEDERATED FORUMS
Cockos : REAPER : NINJAM : Forums
Forum Home : Register : FAQ : Members List : Search :
Old 07-25-2010, 09:11 PM   #1
junioreq
Human being with feelings
 
junioreq's Avatar
 
Join Date: Aug 2008
Location: Buffalo NY
Posts: 1,091
Default Using pitchshifter

Just wondering what the following are?
Code:
 void set_nch(int nch) = prob num chans...
 void set_formant_shift(double shift)
int ws_ms, int os_ms
Is that number of channels and not sure what formant shift is..

processing function:
Code:
  void PitchShift(WDL_SIMPLEPITCHSHIFT_SAMPLETYPE *inputs, WDL_SIMPLEPITCHSHIFT_SAMPLETYPE *outputs, int nch, int length, double pitch, double srate, int ws_ms, int os_ms);
I tried
Code:
pitchShift.set_srate(SR);
pitchShift.set_nch(2);
pitchShift.set_shift(2.0);
pitchShift.set_tempo(120.0);
pitchShift.set_formant_shift(2.0);
pitchShift.PitchShift(*in1,*out1,2,2,2.0,SR,23,2);
but got the error, could not convert parameter 1 from double to double... that being *in11


If I remove the pointer from in1 I get: IPlugExample.obj : error LNK2019: unresolved external symbol "public: void __thiscall WDL_SimplePitchShifter::PitchShift(double *,double *,int,int,double,double,int,int)" (?PitchShift@WDL_SimplePitchShifter@@QAEXPAN0HHNNH H@Z) referenced in function "public: virtual void __thiscall PlugExample::ProcessDoubleReplacing(double * *,double * *,int)" (?ProcessDoubleReplacing@PlugExample@@UAEXPAPAN0H@ Z)


!Rob.

Last edited by junioreq; 07-25-2010 at 09:31 PM.
junioreq is offline   Reply With Quote
Old 07-26-2010, 05:31 AM   #2
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: Holland
Posts: 2,896
Default

You get the unresolved external because there is no WDL_SimplePitchShifter::PitchShift() (at least, not in simple_pitchshift.h). Perhaps you meant PitchShiftBlock()? However, that is a private method, so you cannot call it directly.
Tale is offline   Reply With Quote
Old 07-26-2010, 09:02 AM   #3
junioreq
Human being with feelings
 
junioreq's Avatar
 
Join Date: Aug 2008
Location: Buffalo NY
Posts: 1,091
Default

Its there, and its public:

Code:
  void PitchShift(WDL_SIMPLEPITCHSHIFT_SAMPLETYPE *inputs, WDL_SIMPLEPITCHSHIFT_SAMPLETYPE *outputs, int nch, int length, double pitch, double srate, int ws_ms, int os_ms);
????

Well, I'm prob out of my league here in using this anyway lol.. if I dont understand the above line lol.. I always find it hard being able to tell WHAT I need to pull out of the .h to make stuff work.... I figured that is the processing function.. the others set the variables.

Last edited by junioreq; 07-26-2010 at 09:18 AM.
junioreq is offline   Reply With Quote
Old 07-26-2010, 11:03 PM   #4
bvesco
Human being with feelings
 
bvesco's Avatar
 
Join Date: Jun 2007
Posts: 125
Default

What are the ws_ms and os_ms params for?

Also, your compilation error stems from the fact you are trying to pass the first value of your input array instead of passing a pointer to the beginning of the first byte of memory in the array. Pass a pointer, don't dereference it.
__________________
Audio tutorials and articles: http://www.benvesco.com/tonemonster/
My VST plugins: http://www.vescofx.com/
bvesco is offline   Reply With Quote
Old 07-27-2010, 12:41 AM   #5
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: Holland
Posts: 2,896
Default

Quote:
Originally Posted by junioreq View Post
Its there, and its public:
I have found it now, in WDL v2010.06.07. However, the pitch shifter has been updated in the latest WDL (v2010.07.14), and in the new version there no public PitchShifter() method.
Tale is offline   Reply With Quote
Old 03-06-2018, 09:59 PM   #6
eviluess
Human being with feelings
 
eviluess's Avatar
 
Join Date: Dec 2015
Location: Guangzhou, China
Posts: 108
Default

Quote:
Originally Posted by Tale View Post
I have found it now, in WDL v2010.06.07. However, the pitch shifter has been updated in the latest WDL (v2010.07.14), and in the new version there no public PitchShifter() method.
I think the class is discarded by WDL because it's not better than any other algorithm.
eviluess is offline   Reply With Quote
Old 03-07-2018, 11:24 AM   #7
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 7,272
Default

Quote:
Originally Posted by eviluess View Post
I think the class is discarded by WDL because it's not better than any other algorithm.
I think it's probably still in WDL and working because Reaper itself has it available, as the "simple windowed (fast)" option. (And actually it's pretty much the worst possible algorithm, but that's what makes it interesting for sound mangling use... )
__________________
For info on SWS Reaper extension plugin (including Xenakios' previous extension/actions) :
http://www.sws-extension.org/
https://github.com/Jeff0S/sws
--
Xenakios blog (about HourGlass, Paul(X)Stretch and λ) :
http://xenakios.wordpress.com/
Xenakios is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 09:37 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.