Search Results

Search found 4585 results on 184 pages for 'signal analysis'.

Page 87/184 | < Previous Page | 83 84 85 86 87 88 89 90 91 92 93 94  | Next Page >

  • Autocorrelation returns random results with mic input (using a high pass filter)

    - by Niall
    Hello, Sorry to ask a similar question to the one i asked before (FFT Problem (Returns random results)), but i've looked up pitch detection and autocorrelation and have found some code for pitch detection using autocorrelation. Im trying to do pitch detection of a users singing. Problem is, it keeps returning random results. I've got some code from http://code.google.com/p/yaalp/ which i've converted to C++ and modified (below). My sample rate is 2048, and data size is 1024. I'm detecting pitch of both a sine wave and mic input. The frequency of the sine wave is 726.0, and its detecting it to be 722.950820 (which im ok with), but its detecting the pitch of the mic as a random number from around 100 to around 1050. I'm now using a High pass filter to remove the DC offset, but it's not working. Am i doing it right, and if so, what else can i do to fix it? Any help would be greatly appreciated! double* doHighPassFilter(short *buffer) { // Do FFT: int bufferLength = 1024; float *real = malloc(bufferLength*sizeof(float)); float *real2 = malloc(bufferLength*sizeof(float)); for(int x=0;x<bufferLength;x++) { real[x] = buffer[x]; } fft(real, bufferLength); for(int x=0;x<bufferLength;x+=2) { real2[x] = real[x]; } for (int i=0; i < 30; i++) //Set freqs lower than 30hz to zero to attenuate the low frequencies real2[i] = 0; // Do inverse FFT: inversefft(real2,bufferLength); double* real3 = (double*)real2; return real3; } double DetectPitch(short* data) { int sampleRate = 2048; //Create sine wave double *buffer = malloc(1024*sizeof(short)); double amplitude = 0.25 * 32768; //0.25 * max length of short double frequency = 726.0; for (int n = 0; n < 1024; n++) { buffer[n] = (short)(amplitude * sin((2 * 3.14159265 * n * frequency) / sampleRate)); } doHighPassFilter(data); printf("Pitch from sine wave: %f\n",detectPitchCalculation(buffer, 50.0, 1000.0, 1, 1)); printf("Pitch from mic: %f\n",detectPitchCalculation(data, 50.0, 1000.0, 1, 1)); return 0; } // These work by shifting the signal until it seems to correlate with itself. // In other words if the signal looks very similar to (signal shifted 200 data) than the fundamental period is probably 200 data // Note that the algorithm only works well when there's only one prominent fundamental. // This could be optimized by looking at the rate of change to determine a maximum without testing all periods. double detectPitchCalculation(double* data, double minHz, double maxHz, int nCandidates, int nResolution) { //-------------------------1-------------------------// // note that higher frequency means lower period int nLowPeriodInSamples = hzToPeriodInSamples(maxHz, 2048); int nHiPeriodInSamples = hzToPeriodInSamples(minHz, 2048); if (nHiPeriodInSamples <= nLowPeriodInSamples) printf("Bad range for pitch detection."); if (1024 < nHiPeriodInSamples) printf("Not enough data."); double *results = new double[nHiPeriodInSamples - nLowPeriodInSamples]; //-------------------------2-------------------------// for (int period = nLowPeriodInSamples; period < nHiPeriodInSamples; period += nResolution) { double sum = 0; // for each sample, find correlation. (If they are far apart, small) for (int i = 0; i < 1024 - period; i++) sum += data[i] * data[i + period]; double mean = sum / 1024.0; results[period - nLowPeriodInSamples] = mean; } //-------------------------3-------------------------// // find the best indices int *bestIndices = findBestCandidates(nCandidates, results, nHiPeriodInSamples - nLowPeriodInSamples - 1); //note findBestCandidates modifies parameter // convert back to Hz double *res = new double[nCandidates]; for (int i=0; i < nCandidates;i++) res[i] = periodInSamplesToHz(bestIndices[i]+nLowPeriodInSamples, 2048); double pitch2 = res[0]; free(res); free(results); return pitch2; } /// Finds n "best" values from an array. Returns the indices of the best parts. /// (One way to do this would be to sort the array, but that could take too long. /// Warning: Changes the contents of the array!!! Do not use result array afterwards. int* findBestCandidates(int n, double* inputs,int length) { //int length = inputs.Length; if (length < n) printf("Length of inputs is not long enough."); int *res = new int[n]; double minValue = 0; for (int c = 0; c < n; c++) { // find the highest. double fBestValue = minValue; int nBestIndex = -1; for (int i = 0; i < length; i++) { if (inputs[i] > fBestValue) { nBestIndex = i; fBestValue = inputs[i]; } } // record this highest value res[c] = nBestIndex; // now blank out that index. if(nBestIndex!=-1) inputs[nBestIndex] = minValue; } return res; } int hzToPeriodInSamples(double hz, int sampleRate) { return (int)(1 / (hz / (double)sampleRate)); } double periodInSamplesToHz(int period, int sampleRate) { return 1 / (period / (double)sampleRate); } Thanks, Niall. Edit: Changed the code to implement a high pass filter with a cutoff of 30hz (from What Are High-Pass and Low-Pass Filters?, can anyone tell me how to convert the low-pass filter using convolution to a high-pass one?) but it's still returning random results. Plugging it into a VST host and using VST plugins to compare spectrums isn't an option to me unfortunately.

    Read the article

  • Slow performance of System.Math library in .NET4/VS2010

    - by Niranjan
    My application compiled in .NET 4 seems to be performing really slow compared to .NET 3.5. When I did the performance analysis, I found out that the System.Math libraries in VS2010/.NET 4 have slowed down considerably. Any explanation to this? Has anyone else come across this or am I the only one seeing this? Thanks, Niranjan

    Read the article

  • How is parsing phase in a compiler different from a rule engine ?

    - by abhinav
    Hi, I have a rough understanding of how the compilers work (I mean languages, grammars, lexical analysis, parsing etc). The rule engines have various rules and associated action, just like you have rules in the grammars and you can associate actions with them in parser-generator tools like ANTLR. So I am a bit confused on how to differentiate between these two. Could anyone give a clearer, more formal explanation for the differences ? Thanks, Abhinav.

    Read the article

  • Master thesis in software engineering

    - by maya
    Hi everyone, I will be Master student and I look for a topic in software engineering for my thesis , I want a topic which is less programming and more analysis. I mean a topic without programming because I'm not professional in programming. I'm thinking in UML tools but I really don't have specific topic. any suggestion please any one help me thanks in advance

    Read the article

  • ReSharper-like addon for NetBeans

    - by Ondrej Slinták
    Hello, is there any ReSharper-like addon for NetBeans (preferably 6.8)? I'm using NetBeans for PHP. I need following features: add some kind of code analysis add some intelligent refactoring interface enhance current code completion system add more options to code highlighting Currently I'm using multiple external tools, which aren't exactly user-friendly and I'd like to, preferably, have it all in one tool. Perhaps some other PHP IDE have something like this. EDIT: Bit more details in my answer to Jani Hartikainen.

    Read the article

  • Use Windbg find argumet passed to a COM+ method

    - by G33kKahuna
    Generated a debug diagnostic dump file for a COM+ application. Upon analysis look like threads deadlocks at line OLE32!SwitchSTA. My symbol path is pointing to msdl.microsoft.com/download/symbols. Is there way to know what arguments were passed to this method? In general, how does one use Windbg to find the input argument value to the method call? thanks in advance

    Read the article

  • Command line semaphore utility

    - by compie
    I want to write a command line utility that can be used to synchronize the execution off programs in different consoles. Console A: $ first_program && semaphore -signal Console B: $ semaphore -wait && second_program The first program takes a long take to complete. The second program can only start when the first program has finished. Which synchronization object do I need to implement this (in Python)?

    Read the article

  • Web application

    - by Baz
    hi guys, its my first web application in real world and am very much confuse from the beginning am working on Merchandise suppliers application, which includes various type of products. for an instance Home products cloths men t-shirts add basket send information to my client, I don’t need to add PayPal , just need to send information to my client , So far I have done , analysis , site structure , page designing am confuse about database designing Can any one help me out or send me some example step by step how should I begin with it .

    Read the article

  • writing hbase reports

    - by sammy
    Hello i've just started exploring hbase i've run 2 samples : SampleUploader from examples and PerformanceEvaluation as given in hadoop wiki: http://wiki.apache.org/hadoop/Hbase/MapReduce Well, my application involves updating huge amount of data once a day.. i need samples that store and retrieve rows based on timestamp and make an analysis over the data could u please provide r poinnters as to how to continue as i dont find many tutorials on samples using TIMESTAMP thank u a lot sammy

    Read the article

  • How to avoid "message superview sent to freed object" iphone

    - by Giovanni
    I have this code: CardView *aCardView = [self prendiCartaDalMazzo]; [aCardView removeFromSuperview]; [self.mieCarte addSubview:aCardView]; when i try to add aCardView as as subview of mieCarte then i get this error: objc[4800]: FREED(id): message superview sent to freed object=0x393f130 Program received signal: “EXC_BAD_INSTRUCTION”. Thanks at all can help.

    Read the article

  • Sources of latency in sending-receiving tcp/udp packets in linux

    - by osgx
    Hello What are sources of latency in process of sending/receiving tcp/udp packets in linux 2.6 ? I want to know a latency sources in "ping-pong" latency tests. There are some rather good papers of ethernet latency, but they cover only latency sources in the wire and switch (and rather cursory, only for specific switch). What steps of processing does follow a packet? Papers with deep latency analysis of usual ping (icmp) will be useful too. I rely on community :)

    Read the article

  • Table Partitioning

    - by Ankur Gahlot
    How advantageous is it to use partitioning of tables as compared to normal approach ? Is there a sort of sample case or detailed comparative analysis that could statistically ( i know this is too strong a word, but it would really help if it is illustrated by some numbers ) emphasize on the utility of the process. Thanks, Ankur

    Read the article

  • help me to my project [closed]

    - by latha
    hi. plz tel me to how to collect data for my project. as my projct relate to "sustainable urban infrastructure" so help me that what what data should i put to my project.i dont had any idea that how to do vit data analysis .so please direct me .

    Read the article

  • ANCOVA in Python with Scipy/Numpy stats

    - by Shax
    I would like to know a way of performing ANCOVA(analysis of covariance) using Python with scipy. It is basically a statistical comparison of regression lines. I know Python can do ANOVA and it can also do regression line fitting with Scipy.stats. I'm not sure how to put those together to get an effective ANCOVA though, if it is possible. Regards, Shax

    Read the article

  • How can I convert data encoded in WE8MSWIN1252 to utf8 for use in Python scripts?

    - by James Dean
    This data comes from an Oracle database and is extracted to flatfiles in encoding 'WE8MSWIN1252'. I want to parse the data and do some analysis. I want to see the text fields but do not need to publish the results to any other system so if some characters do not get converted perfectly I do not have a problem with that. I just do not want my parsing to fail with a decode error which is what I get if I use: inputFile = codecs.open( dataFileName, "r", "utf-8'")

    Read the article

  • Apple Push Notification Service server load?

    - by jenningj
    I'm preparing to set up a APNS message server, and I was wondering if anybody has done any analysis on APNS server load that they would be able to share. Minimum server specs, maximum messages per second, anything like that. Thanks! edit: I'm planning to implement this with .NET, but info about any platform would be incredibly useful.

    Read the article

  • Are there any well known algorithms to detect the presence of names?

    - by Rhubarb
    For example, given a string: "Bob went fishing with his friend Jim Smith." Bob and Jim Smith are both names, but bob and smith are both words. Weren't for them being uppercase, there would be less indication of this outside of our knowledge of the sentence. Without doing grammar analysis, are there any well known algorithms for detecting the presence of names, at least Western names?

    Read the article

  • Qt double click check left button mouse

    - by Alex Ivasyuv
    I need to run slot only on doubleClick with left button mouse, instead of both. connect(this -> myComponent, SIGNAL (doubleClicked (const QModelIndex & )), this, SLOT (performSomeAction(const QModelIndex & ))); With this event, double click works in both cases, but needed only with left button click. How I can do it? this - myComponent = QTableView

    Read the article

  • Ways to clean up java applications.

    - by Begui
    How do java people handle clean up of their apps when the program receives a kill signal? For instance, there is an application i connect to which wants any third party app ( my app) to send a "finish" command. What is the best say to send that "finish" command if one does a kill -9 on me.

    Read the article

  • What exactly are signals and slots in Qt?

    - by Jen
    I know how they work conceptually, but how are signals and slots implemented in the Qt framework? Qt Creator treats them as keywords, but are they simply a set of macros, or is a special pre-processor required before these source files can be compiled? In other words, if I use Qt's signal/slot features in my code, can I easily compile it on any C++ compiler?

    Read the article

< Previous Page | 83 84 85 86 87 88 89 90 91 92 93 94  | Next Page >