03-27-2007 09:02 PM - edited 03-27-2007 09:02 PM
Message Edited by Kevin Price on 03-27-2007 10:03 PM
03-27-2007 11:00 PM
03-27-2007 11:40 PM - edited 03-27-2007 11:40 PM
Message Edited by Milqman on 03-27-2007 11:41 PM
03-27-2007 11:49 PM
03-28-2007 12:21 AM
03-28-2007 12:26 AM
03-28-2007 04:59 PM
03-29-2007 09:09 AM
I'm still checking in on the thread, but at this point don't have much to offer. Various diagrams and code have given me some hints, but I've got absolutely no background in thinking about speech processing. There's a lot of terminology that's simply foreign to me, and I'm presently too busy on a project to take the needed time to study up on it.
Let me summarize what I think I do and don't know here. I think these relate only to the pitch-shift aspect of processing:
1. Start with big array of sound samples, such as 8-bit samples from 'hijacked.wav'
2. Break array down into some standard chunk size and evaluate & process one chunk at a time. (Do these chunks overlap? Are these called either voiced or unvoiced segments, depending on some evaluation criteria?)
3. If chunk is considered "unvoiced", then what? Does it pass unchanged to become a chunk of the output .wav?
4. If the chunk is considered "voiced", then the chunk is further subdivided into several sub-chunks. The number of sub-chunks and or length of the sub-chunks is determined by some evaluation of the chunk in question. It's still unclear to me how to handle the special case of the first and last sub-chunks.
5. The original mapping of sub-chunks would have them overlap one another by 50%? Then, depending on the desired ratio of compression / expansion, some # of sub-chunks are either duplicated and interleaved or are deleted. Regardless of which happens, the new amount of overlap must be set different than 50% so that the size of the entire output chunk will be the same as the input size.
6. Once the voiced chunk has had its pitch shifted through the interleaving or deletion of sub-chunks, the resulting chunk is passed out to be part of the overall output .wav?
7. After processing all chunks, the output .wav can be played back and should clearly demonstrate the result of pitch-shifting.
I believe milqman's code tried to address steps 4-6. I couldn't do anything with it because the default input chunk data didn't have any meaning to me, so neither did the output. I could probably help some if milqman's code were made into a subvi representing steps 4-6, and steps 1-3 and 7 were implemented around it using a known input like 'hijacked.wav'. *Then* I'd have feedback that was meaningful to me about how the processing in steps 4-6 affected the final resulting sound file.
-Kevin P.
03-29-2007 11:56 AM
Hello Kevin
In question 2 the chunks do not overlap with each other and yes they are called voiced - unvoiced. 3) The unvoiced ones just pass out to the output "Hijacked" wav.
4) The first sub-chunk can be just taken as is and overlapped only with the sub-chunk to its right.
5) The sub-chunks have to be overlappled by 50%. You are right about everything else.
I understand that you are busy with your own work and projects. I want to thank you again for everything .
Madgreek
p.s is it possible to give me any help how i can overlap by 50% the sub-chunks if its possible?The rest i can try and do it in a more "manual" way
03-29-2007 12:03 PM