02-19-2007 02:09 PM
02-20-2007 05:06 PM
Hi Madgeek,
So it sounds like an involved process. Can you break down the steps so that we can work out what you want the end solution to look like (sometimes breaking it down solves the problem). Also, are you trying to do voice recognition. If you are I would look into using the short-time fourier transform.
02-20-2007 06:11 PM
02-21-2007 04:30 PM
Hi Madgeek,
I am definitly a fan of how you commented your code. I am still a little confused about what we are trying to accomplish (you are obviously the expert when it comes to your own application).
You have data (your sound file), and you import it into your program (now it is an array). You want to segment the data into a special way. By segment do you break it up into multiple arrays? You perform a special analysis so now you have what indexes or lengths of the array you want to break up. If I am correct then good, if not can correct me?
Breaking the problem down will lead to my succcess of what your trying to do.
02-21-2007 06:57 PM
Hello Brian
Yes I have my data that I import into my program. For that data I found its pitch periods which are in the array labeled mean estimated periods. Basically what this array shows is the voiced and unvoiced segments of my original data (zero for the unvoiced and the numbered ones represent the pitch period in that specific segment….NOTE…all these segments in the array are of the same size…either 384 or 448 or 512 samples long depending how you choose to run it)
What I want to do is…whatever segments in the mean estimated array are showed as zeroes, I want them to pass with no alteration to them to the “new signal” lets say while the rest of this “new signal” should be segmented according to the pitch periods I found.
I will try to give you an example with numbers if it will make it easier for you….
lets say the mean estimated array gives the values 0, 0, 0, 0, .8, .8, .8, .8 ,.0, 0, which are in msecs, for 10 segments which represents my original data. Each segment is 20 msecs long.I want to segment again my original data and get something like this (see attachment)
i dont know if i made it any easier for you Brian but i am really sorry that you have to bear with me.
kind regards
madgreek
02-22-2007 01:50 PM
Hi Madgeek
I would make a 2D array that characterizes your segmentation. The index would be the segment (i.e. index 0 would be segment 1 index 3 would be segment 4 and so on), the first column would be the starting position of the segment (i.e. 0, 20, 40...80, 88) and the 2nd column would be the length of the segment (i.e. 20, 20, 20,....8, 8,...). The bonus to the 2D array is that your data does not have to be dynamically broken up. Instead it is more like a lookup table.
You then can relate length to your Fs (sampling rate I assume) to pitch period.
This either helped or no relation to what you are trying to do 🙂
02-22-2007 02:32 PM
02-22-2007 06:57 PM
02-23-2007 07:53 AM
02-23-2007 01:00 PM