ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray BrainModular BrainModular Users Forum 2009-09-02T09:57:17+02:00 https://brainmodular.com/forums/app.php/feed/topic/1553 2009-09-02T09:57:17+02:00 2009-09-02T09:57:17+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=10070#p10070 <![CDATA[Phase Vocoder Pack]]>
http://people.bath.ac.uk/masrwd/pvplugs.html

the original works as a 'normal' shifter.

Statistics: Posted by senso — 02 Sep 2009, 09:57


]]>
2009-09-01T19:50:14+02:00 2009-09-01T19:50:14+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=10068#p10068 <![CDATA[Phase Vocoder Pack]]> Statistics: Posted by pansoul — 01 Sep 2009, 19:50


]]>
2009-09-01T17:22:23+02:00 2009-09-01T17:22:23+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=10065#p10065 <![CDATA[Phase Vocoder Pack]]> - transform forward
- transform inverse

to create a pitch shifter, try to mix both of them, using the 'pitch shifter.pat' example.
forward ---- expand array ----- inverse into the same process loop.

Statistics: Posted by senso — 01 Sep 2009, 17:22


]]>
2009-09-01T13:22:47+02:00 2009-09-01T13:22:47+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=10064#p10064 <![CDATA[Phase Vocoder Pack]]> thank you for this fantastic tool with source !!
I try to make a transposition directly in PhaseVocoderForw and i saw that there is a function that seems dedicated :
pPrototype->ptran->tickTransp(float semitones);
But i can succed to use it, is it complicated to use ?

i try to put something in the process loop like that

while(--sampleFrames >= 0){
pPrototype->ptran->tickForw(*in1++);
}

sampleFrames = FFT_SIZE / 2;
pPrototype->PAmplitude->len = sampleFrames;
pPrototype->PFrequency->len = sampleFrames;

pPrototype->ptran->tickTransp(6);

while(--sampleFrames >= 0){

*amp2++ = *amp1++ ;
*freq2++ = *freq1++;

It doesn't work but, since the transpose function like what you did in the pitch shifter.pat modifies frequencies and amplitudes arrays lenght (sampleFrames), i suppose this function take place after the determination of sampleFrames. the way i use it is perhaps a non sense code speaking but i am not fluent yet about pointer manipulation.

Statistics: Posted by pansoul — 01 Sep 2009, 13:22


]]>
2009-06-10T20:13:19+02:00 2009-06-10T20:13:19+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=9264#p9264 <![CDATA[Phase Vocoder Pack]]> probably in futures versions of usine

Statistics: Posted by senso — 10 Jun 2009, 20:13


]]>
2009-06-10T20:10:30+02:00 2009-06-10T20:10:30+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=9263#p9263 <![CDATA[Phase Vocoder Pack]]> Statistics: Posted by nelson — 10 Jun 2009, 20:10


]]>
2009-06-09T10:25:22+02:00 2009-06-09T10:25:22+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=9218#p9218 <![CDATA[Phase Vocoder Pack]]> Statistics: Posted by senso — 09 Jun 2009, 10:25


]]>
2009-05-21T15:54:41+02:00 2009-05-21T15:54:41+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8922#p8922 <![CDATA[Phase Vocoder Pack]]> Statistics: Posted by goyya76 — 21 May 2009, 15:54


]]>
2009-05-21T14:52:02+02:00 2009-05-21T14:52:02+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8920#p8920 <![CDATA[Phase Vocoder Pack]]> ;-)

Statistics: Posted by nay-seven — 21 May 2009, 14:52


]]>
2009-05-21T12:25:33+02:00 2009-05-21T12:25:33+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8917#p8917 <![CDATA[Phase Vocoder Pack]]>
i have to admit i still have to learn how to deal with arrays...so here's my question: am i wrong if i think that i can use the output of the FFT forward module to do some resynthesis on the input sound (for example enhancing some frequencies, splitting the input sound into different bands etc), to find the fundamental frequency and maybe to generate a set of sine waves using the frequencies in the array??

BTW pitch shifting sounds pretty good!

Ciao,
Goyya

Statistics: Posted by goyya76 — 21 May 2009, 12:25


]]>
2009-05-16T23:10:54+02:00 2009-05-16T23:10:54+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8862#p8862 <![CDATA[Phase Vocoder Pack]]> Spectral delay remind me this plugin : http://www.artificialaudio.com/pluginmenu/2
I'd like to emulate it in the past in usine. Now it's really possible !

Statistics: Posted by moody33 — 16 May 2009, 23:10


]]>
2009-05-13T00:24:28+02:00 2009-05-13T00:24:28+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8773#p8773 <![CDATA[Phase Vocoder Pack]]> Statistics: Posted by Clearscreen — 13 May 2009, 00:24


]]>
2009-05-12T19:46:34+02:00 2009-05-12T19:46:34+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8764#p8764 <![CDATA[Phase Vocoder Pack]]>

Statistics: Posted by ethnix73 — 12 May 2009, 19:46


]]>
2009-05-12T19:16:13+02:00 2009-05-12T19:16:13+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8761#p8761 <![CDATA[Phase Vocoder Pack]]>
@martin: I've just made a copy/cut from your template!!!
It's made for that, note that you are my first customer :lol:

But it's little more than a copy/past :rolleyes: i see some asm in there. and the FFT sources seems like a mess, at first look

you can take a look and try to optimize it?
It's exactly what i'm doing now (looking in)

Before optimization (if i can do something at this level), i propose to reorganize projects and solution files.

We have to think about a global way to publish these little jewels.
I think individuals project for each user modules is enough (like the Display Number and the Roll Array) :
- If we open just the vcproj file, VC construct automatically a solution for it (Good for instant access and compile)
- We can also open them in an existing solution, like explained in the wiki (Good for more deep studying and compare with other modules).



PS : the first optimization could be to compile them in release mode ;)

Statistics: Posted by martignasse — 12 May 2009, 19:16


]]>
2009-05-12T18:15:20+02:00 2009-05-12T18:15:20+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8760#p8760 <![CDATA[Phase Vocoder Pack]]> you can take a look and try to optimize it?

Statistics: Posted by senso — 12 May 2009, 18:15


]]>
2009-05-12T17:57:37+02:00 2009-05-12T17:57:37+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8759#p8759 <![CDATA[Phase Vocoder Pack]]>
Serious toy you made here :D result are so.....spectral ;)

and you said you don't know C++ hehe

Statistics: Posted by martignasse — 12 May 2009, 17:57


]]>
2009-05-12T17:54:10+02:00 2009-05-12T17:54:10+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8758#p8758 <![CDATA[Phase Vocoder Pack]]> Statistics: Posted by 23fx23 — 12 May 2009, 17:54


]]>
2009-05-12T17:25:13+02:00 2009-05-12T17:25:13+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8756#p8756 <![CDATA[Phase Vocoder Pack]]> by senso Posted on 2009-05-12 15:11:33

The Phase Vocoder Pack opens a new area in spectral manipulations in Usine
Contains:

- FFT forward module using the Phase Vocoder algorithm, transforms the input sound into a set of two array’s, one containing the frequencies and the other containing the amplitudes for each frequency.

This module allows frequency manipulations.

- FFT inverse module to provide the transformation from frequency domain to time (audio) domain.

- ArrayDelay module which delays each incoming value of an array according the delay input values (stored them self into and array). The delays are set in ‘number of audio blocs’.

- Pich-Shifter example using FFT forward and reverse. This patch provide a higher quality that the original library version. Unlike the classic FFT version (see Spectral in the Library) this Pitch-Shifter preserve the tonality and can be used for a transposition of a musical instrument.

- Spectral-Delay example ready to use made with the ArrayDelay module.

This work is my first User Module in C++ and can be improved and optimized; those versions aren’t CPU friendly.

Based on the great job from Richard Dobson http://people.bath.ac.uk/masrwd/pvplugs.html

The source code is available in the wiki page.

Statistics: Posted by senso — 12 May 2009, 17:25


]]>
BrainModular BrainModular Users Forum 2009-09-02T09:57:17+02:00 https://brainmodular.com/forums/app.php/feed/topic/1553 2009-09-02T09:57:17+02:00 2009-09-02T09:57:17+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=10070#p10070 <![CDATA[Phase Vocoder Pack]]>
http://people.bath.ac.uk/masrwd/pvplugs.html

the original works as a 'normal' shifter.

Statistics: Posted by senso — 02 Sep 2009, 09:57


]]>
2009-09-01T19:50:14+02:00 2009-09-01T19:50:14+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=10068#p10068 <![CDATA[Phase Vocoder Pack]]> Statistics: Posted by pansoul — 01 Sep 2009, 19:50


]]>
2009-09-01T17:22:23+02:00 2009-09-01T17:22:23+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=10065#p10065 <![CDATA[Phase Vocoder Pack]]> - transform forward
- transform inverse

to create a pitch shifter, try to mix both of them, using the 'pitch shifter.pat' example.
forward ---- expand array ----- inverse into the same process loop.

Statistics: Posted by senso — 01 Sep 2009, 17:22


]]>
2009-09-01T13:22:47+02:00 2009-09-01T13:22:47+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=10064#p10064 <![CDATA[Phase Vocoder Pack]]> thank you for this fantastic tool with source !!
I try to make a transposition directly in PhaseVocoderForw and i saw that there is a function that seems dedicated :
pPrototype->ptran->tickTransp(float semitones);
But i can succed to use it, is it complicated to use ?

i try to put something in the process loop like that

while(--sampleFrames >= 0){
pPrototype->ptran->tickForw(*in1++);
}

sampleFrames = FFT_SIZE / 2;
pPrototype->PAmplitude->len = sampleFrames;
pPrototype->PFrequency->len = sampleFrames;

pPrototype->ptran->tickTransp(6);

while(--sampleFrames >= 0){

*amp2++ = *amp1++ ;
*freq2++ = *freq1++;

It doesn't work but, since the transpose function like what you did in the pitch shifter.pat modifies frequencies and amplitudes arrays lenght (sampleFrames), i suppose this function take place after the determination of sampleFrames. the way i use it is perhaps a non sense code speaking but i am not fluent yet about pointer manipulation.

Statistics: Posted by pansoul — 01 Sep 2009, 13:22


]]>
2009-06-10T20:13:19+02:00 2009-06-10T20:13:19+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=9264#p9264 <![CDATA[Phase Vocoder Pack]]> probably in futures versions of usine

Statistics: Posted by senso — 10 Jun 2009, 20:13


]]>
2009-06-10T20:10:30+02:00 2009-06-10T20:10:30+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=9263#p9263 <![CDATA[Phase Vocoder Pack]]> Statistics: Posted by nelson — 10 Jun 2009, 20:10


]]>
2009-06-09T10:25:22+02:00 2009-06-09T10:25:22+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=9218#p9218 <![CDATA[Phase Vocoder Pack]]> Statistics: Posted by senso — 09 Jun 2009, 10:25


]]>
2009-05-21T15:54:41+02:00 2009-05-21T15:54:41+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8922#p8922 <![CDATA[Phase Vocoder Pack]]> Statistics: Posted by goyya76 — 21 May 2009, 15:54


]]>
2009-05-21T14:52:02+02:00 2009-05-21T14:52:02+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8920#p8920 <![CDATA[Phase Vocoder Pack]]> ;-)

Statistics: Posted by nay-seven — 21 May 2009, 14:52


]]>
2009-05-21T12:25:33+02:00 2009-05-21T12:25:33+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8917#p8917 <![CDATA[Phase Vocoder Pack]]>
i have to admit i still have to learn how to deal with arrays...so here's my question: am i wrong if i think that i can use the output of the FFT forward module to do some resynthesis on the input sound (for example enhancing some frequencies, splitting the input sound into different bands etc), to find the fundamental frequency and maybe to generate a set of sine waves using the frequencies in the array??

BTW pitch shifting sounds pretty good!

Ciao,
Goyya

Statistics: Posted by goyya76 — 21 May 2009, 12:25


]]>
2009-05-16T23:10:54+02:00 2009-05-16T23:10:54+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8862#p8862 <![CDATA[Phase Vocoder Pack]]> Spectral delay remind me this plugin : http://www.artificialaudio.com/pluginmenu/2
I'd like to emulate it in the past in usine. Now it's really possible !

Statistics: Posted by moody33 — 16 May 2009, 23:10


]]>
2009-05-13T00:24:28+02:00 2009-05-13T00:24:28+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8773#p8773 <![CDATA[Phase Vocoder Pack]]> Statistics: Posted by Clearscreen — 13 May 2009, 00:24


]]>
2009-05-12T19:46:34+02:00 2009-05-12T19:46:34+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8764#p8764 <![CDATA[Phase Vocoder Pack]]>

Statistics: Posted by ethnix73 — 12 May 2009, 19:46


]]>
2009-05-12T19:16:13+02:00 2009-05-12T19:16:13+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8761#p8761 <![CDATA[Phase Vocoder Pack]]>
@martin: I've just made a copy/cut from your template!!!
It's made for that, note that you are my first customer :lol:

But it's little more than a copy/past :rolleyes: i see some asm in there. and the FFT sources seems like a mess, at first look

you can take a look and try to optimize it?
It's exactly what i'm doing now (looking in)

Before optimization (if i can do something at this level), i propose to reorganize projects and solution files.

We have to think about a global way to publish these little jewels.
I think individuals project for each user modules is enough (like the Display Number and the Roll Array) :
- If we open just the vcproj file, VC construct automatically a solution for it (Good for instant access and compile)
- We can also open them in an existing solution, like explained in the wiki (Good for more deep studying and compare with other modules).



PS : the first optimization could be to compile them in release mode ;)

Statistics: Posted by martignasse — 12 May 2009, 19:16


]]>
2009-05-12T18:15:20+02:00 2009-05-12T18:15:20+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8760#p8760 <![CDATA[Phase Vocoder Pack]]> you can take a look and try to optimize it?

Statistics: Posted by senso — 12 May 2009, 18:15


]]>
2009-05-12T17:57:37+02:00 2009-05-12T17:57:37+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8759#p8759 <![CDATA[Phase Vocoder Pack]]>
Serious toy you made here :D result are so.....spectral ;)

and you said you don't know C++ hehe

Statistics: Posted by martignasse — 12 May 2009, 17:57


]]>
2009-05-12T17:54:10+02:00 2009-05-12T17:54:10+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8758#p8758 <![CDATA[Phase Vocoder Pack]]> Statistics: Posted by 23fx23 — 12 May 2009, 17:54


]]>
2009-05-12T17:25:13+02:00 2009-05-12T17:25:13+02:00 https://brainmodular.com/forums/viewtopic.php?t=1553&p=8756#p8756 <![CDATA[Phase Vocoder Pack]]> by senso Posted on 2009-05-12 15:11:33

The Phase Vocoder Pack opens a new area in spectral manipulations in Usine
Contains:

- FFT forward module using the Phase Vocoder algorithm, transforms the input sound into a set of two array’s, one containing the frequencies and the other containing the amplitudes for each frequency.

This module allows frequency manipulations.

- FFT inverse module to provide the transformation from frequency domain to time (audio) domain.

- ArrayDelay module which delays each incoming value of an array according the delay input values (stored them self into and array). The delays are set in ‘number of audio blocs’.

- Pich-Shifter example using FFT forward and reverse. This patch provide a higher quality that the original library version. Unlike the classic FFT version (see Spectral in the Library) this Pitch-Shifter preserve the tonality and can be used for a transposition of a musical instrument.

- Spectral-Delay example ready to use made with the ArrayDelay module.

This work is my first User Module in C++ and can be improved and optimized; those versions aren’t CPU friendly.

Based on the great job from Richard Dobson http://people.bath.ac.uk/masrwd/pvplugs.html

The source code is available in the wiki page.

Statistics: Posted by senso — 12 May 2009, 17:25


]]>