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: The Netherlands
Posts: 3,645
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 online now   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: The Netherlands
Posts: 3,645
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 online now   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: 176
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
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 01:54 AM.


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