Error: tabsend~: $O-hann: no such array
Hi Daisy,
I followed your reference to Türk and Arslan, I found many interesting claims but no published material. Critically I cannot find a published algorithm nor any experimental data. Can you give a reference to the algorithm as a complete DSP block diagram, pseudo code or source code please. Further, I found a reference to a patent on this claimed approach which as a scientist I have moral objections to. If this work is not in the open and free to build upon it has no utility. One abstract mentions training. This implies a neural, expert system or Markov approach. This aligns with my proposal given in the other thread to use a dictionary of transformations on the intermediate data.
As you said you are not a DSP programmer so I believe this is probably beyond the scope of your research. Have you tried contacting the authors to ask for their code?
I must admit I do not entirely understand your proposed experiment. It seems flawed in two repects. It has arbitary constraints and too many variables for what I understand are the experimental objectives.
To answer your questions as best I can:
> Is VoCoder alone is sufficient for morph/mix/crossfade among two voices?
> or I should also add the pitch shifting module with VoCoder to get some more qualitative results.
A vocoder, even if combined with pitch shifting is insufficient to create a morphology between two people speaking unpredictable sentences in real time.
> Question 2:
> I already tried this VoCoder example, but could not change it according to my requirements. In
> my requirements, I have a target voice (the target voice is phonetically rich) and now source
> speaker is speaking (what ever he want to speak) and source voice is changing into target
> voice. (illusion/crossfade/mix)
I'm sorry, I can't find the question.
> Question 3:
> what should be the ideal length of target wave file?
5 seconds
Time permitting I may be able to help you and your supervisor design the appropriate framework for this experiment. Please contact me by private email (look in the profile), as we are now off-topic for this forum.
best regards,
Andy
Error: tabsend~: $O-hann: no such array
- To cross synthesise two voices you must ensure that two speakers make exactly the same utterances which are phonetically aligned. This is hard as I can tell you from experience of recording many voice artists. Even the same person will not speak a phrase the same way twice.
<< This is not possible in my experiment, as I am supposed to morph the actual conversation, so it is upto subjects what ever they want to speak. There is some work done by (Oytun Türk , Levent M.Arslan) who conducted experiment in passive enviornment (not at real time).
- The result is not a "timbral morph" between the two speakers. The human voice is very complex. Most likely the experiment will be invalidated by distracting artifacts.
Here's some suggestions.
- Don't "morph" the voices, simply crossfade/mix them.
<< yes I also want to do this, crossfading and mix, as I just want to create illusion, so that listner start thinking whether it is B's voice or A's voice>>
- For repeatable results (essential to an experiment) a real-time solution is probably no good. Real time processing is very sensitive to initial conditions. I would prepare all the material beforehand and carefully screen it to make sure each set of subjects hears exactly the same signals.
<<Yes, I agree, but it is demand of experiment, I can not control the environment, but to create some good illusion (or to distract listner, I may add noise in the siganl at real time, it would challange the listner brain in identification, so I may use such kind of tricks for the sucess factor)
- If you want a hybrid voice (somewhere between A and
then vocoding is not the best way. There are many tools that would be better than Puredata which are open source and possible to integrate into a wider system.
<<Actually now I have a little familarity with pure data, so it is more good for me to stick with it for a while (due to short time), yes if i continue my phD in this domain, I would explore other tools as well. for the time being it is a kind of pilot study>>
Question :
Is VoCoder alone is sufficient for morph/mix/crossfade among two voices?
or I should also add the pitch shifting module with VoCoder to get some more qualitative results.
Question 2:
I already tried this VoCoder example, but could not change it according to my requirements. In my requirements, I have a target voice (the target voice is phonetically rich) and now source speaker is speaking (what ever he want to speak) and source voice is changing into target voice. (illusion/crossfade/mix)
The (changetimbre1.pd ) file that I attached first, give you an idea of what kind of operational interface I am looking for.
Question 3:
what should be the ideal length of target wave file?
Before the start of experiment, I would collect the voice sample of all participants.
I am highly oblige for your earlier help and looking for more (greedy). Meanwhile I would once again study this vocoder example to change it according to my requiement. ( though i doubt I may change it).
Thanks.
Phaseable Looper
@hardoff said:
i do something similar with my live patch, and the solution i got was just to use 2 phasors, one which is set to play the loop, and another one to do the scrubbing. then a quick crossfade between them to avoid clicks and irregularities.
can you attach your patch?
Phaseable Looper
i do something similar with my live patch, and the solution i got was just to use 2 phasors, one which is set to play the loop, and another one to do the scrubbing. then a quick crossfade between them to avoid clicks and irregularities.
Crossfading images?
Hi, to make a crossfade between two images you need to add an alpha channel to the rgb stream with [alpha] and after you can set the alpha (transparency) value with the fifth inlet of [colorRGB],
see attached patch for a brief exemple.
Crossfading images?
Hello,
i want to make a midi controlled slide show patch, in the way that by sending a midi note message to the pach, a new image is loaded from harddisk and a crossfade (with controllable crossfade time) is done between this and the previous image. The midi note comes from an audio sequencer (Ableton Live) that also triggers the corresponding sound.
Is it possible to crossfade two images with GEM?
If yes - how?
Thanks
Hannes
Crossfader?
agree with maximus,
and in my example the crossfade is not linear ( check the * in the internal ) because audio needs a logarithimic fade in/fade out to the ears
you just have to erase the * object
HK
Crossfader?
@toxonic said:
isn't it enough, to change the audio modules to event modules by deleting the tilde?
No. Pd's message system works differently from audio - for audio signals, there is a scheduler, which means (for example) both inputs of a [+~] arrive at the same time, which means you don't have to worry about execution order (unless you do things with feedback, but that is another matter entirely...).
For messages, you need to be sure about the order in which messages arrive, because only one message is in transit at any one time. Nearly all message objects expect input from right to left, and the leftmost inlet causes the action of the object to take place.
For example, take [+]. A typical usage is to send a number "R" to the right-hand inlet, then after that send a number "L" to the left-hand inlet, which will trigger the calculation and output "L+R".
Now, crossfading between messages could be done in a number of ways, but the way that you want to do it depends most on what you want to do. If the numbers (call them "A" and "B") that you want to fade between are mostly constant, and the fade value (call it "F", with values of 0 for all A and no B, and 1 for all B and no A) changes more often, then you could do something like:
F A B
| | |
[expr (1-$f1)*$f2+$f1*$f3]
|
mix
This will output the mix of the last values of A and B when you change F.
Crossfader?
thank u, but it does't crossfade like i want it to! isn't it enough, to change the audio modules to event modules by deleting the tilde? now, it seems that it doesn't work, and i can't figure out, what's the problem. it seems, that i have all libraries for that patch, but for some unknown modules i have no helpfiles! however, theres no linear morph between the two values! between what values the fader has to work? from 0 to 1?
thanks you....
Crossfader?
Hello, with zexy [matrix~] it would be easy to make a crossfading fonction, or with the attached patch it's possible to write into an array with a crossfade, the first inlet have to be connected with a phasor~, and the second with the fade time, and you will need the cyclone library.
patco
