Search Results

Search found 29753 results on 1191 pages for 'best practices'.

Page 601/1191 | < Previous Page | 597 598 599 600 601 602 603 604 605 606 607 608  | 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

  • jquery plugin - autoSuggest

    - by Abu Hamzah
    please help me to choose the best plug-in in my particular scenario, I am building a page where user will enter his/her first or last name initial and it will populate the name and I have around 25k records in my db. what do you guys recommend?

    Read the article

  • usage of try catch

    - by Muhammed Rauf K
    Which is best: Code Snippet 1 or Code Snippet 2 ? And Why? /* Code Snippet 1 * * Write try-catch in function definition */ void Main(string[] args) { AddMe(); } void AddMe() { try { // Do operations... } catch(Exception e) { } } /* Code Snippet 2 * * Write try-catch where we call the function. */ void Main(string[] args) { try { AddMe(); } catch (Exception e) { } } void AddMe() { // Do operations... }

    Read the article

  • Methods to stop Software Piracy ?

    - by UK
    I am great fan of open source technologies. I have seen lot of sites which offers pirated software's.My question is , Suppose If you are software developer and wants to sell your product and stop piracy of your products which are all the techniques or methods you use ? Is there any standard software's or standard techniques available ? The best example is Microsoft Windows WPA activation .

    Read the article

  • C# RSA Cryptographic Algorithm

    - by karthik
    Hi, Is C# 'RSACryptoServiceProvider' cryptographic algorithm is a part of Microsoft- CryptoAPI? Any advantage we have for normal asymmetric encryption by using CryptoAPI over 'RSACryptoServiceProvider' in .Net? I cannot understand the difference between them?And which one is best and safty? Could you please help? Thanks Karthik

    Read the article

  • .Net Obfuscation

    - by Behrooz
    hi. as many of you know there is no copyright in some countries. I support copyrights myself, but in Iran: Windows Server 2008 =1$ king 2008 = 14$ MS SQL Server 2008 =50 Cents ... how can i prevent my code being Decompiled before 30 Seconds(I have lot's of videos witch Learn how to decompile in 30 Seconds). what is best obfuscator program(.Net) money can buy? does it have any Automated Anti obfuscation program?

    Read the article

  • localization with core data

    - by Tristan
    Hi there, Does anyone have any recommendations with localization of core data? My application will have information that will sometimes be the same in both langauges, such as a person's photo, or different such as the person's biography. From what I understand, it's possible to localize the field names (http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreData/Articles/cdUsingMOM.html#//apple_ref/doc/uid/TP40005190-SW13), but what's the best course of action for field values? Thanks! Tristan

    Read the article

  • Symfony - Custom under maintenance page

    - by Rui Gonçalves
    Hi there! I'm trying to add a custom page to my web application for the times I'm performing maintenance. I'm trying to test the referred page on my development environment but always appear the symfony page. I had already created a module with a proper action and template and also configured those on the settings.yml file. Can anyone give me some help? Thanks in advance, Best regards!

    Read the article

  • How to promote my Rss feed ?

    - by Ican Zilb
    I started recently this blog about iPhone / Objective-c : www.touch-code-magazine.com and I'm looking for ways to spread the word about my Rss feed. Question is how one promotes an rss feed ? Any of you have good recommendation how to do that? Advice on "best" feed directories or thematic portals which consume rss ... don't know, what do you say ?

    Read the article

  • Dynamically loading database schema information in .NET

    - by Nigel
    I am building a .NET application that given a connection string, at run time, needs to be able to retrieve information from the corresponding database schema, such as available columns, datatypes, and whether they are nullable. What is the best way to accomplish this? Has anyone done anything like this before? Many thanks, Nigel.

    Read the article

  • Again, user config files C#

    - by George
    Hey guys. I have a large config file (user) that i needed to go to the right location and have some default values. Since i have a installer class, i added some parameter setting to the config file in it, but created the config files in the installers folder. What is the best way to ensure these default parameters will be written only once, and in the right location?

    Read the article

  • How to convert String to Java.sql.date and Java.sql.time

    - by Mr Morgan
    Hello If I have a method like this: public static String convertDateTimeToString(DateTime dt) { return dt.getDate() + " " + dt.getTime(); } Which takes a Datetime object of my own which contains a Java.sql.date and a Java.sql.time, what is the best way of reversing the process so that I can substring a Java.sql.date and a Java.sql.time from a string? Or if DateTime dt is a JodaTime DateTime object? If this can be done without reference to Java.util.date. Thanks Mr Morgan.

    Read the article

  • How can I index HTML documents?

    - by Swami
    I am using Lucene .NEt to do full-text searching. Till now I have been indexing PDF docs, but now I have a few webpages that I need to index. What's the best/easiest way to index HTML documents to add to my Lucene index? I am using .NET/C#

    Read the article

  • NHibernate & WCF in version 3.0

    - by ChrisKolenko
    Hi everyone :D I've just started a new project which requires a WCF service to handle a distributed environment. I'm still trying to find the best way to implement things. I want to use NHibernate, but I've seen a few different ways to address the serialization. Is this handled in 3.0? I noticed wcf_context inside the truck :D If it isn't handled could someone point me in the right direction? Thanks everyone

    Read the article

  • online MBA or MASTER studying

    - by Hussein Belal
    Hi all, would you please advice me to the best universities for online studying, I have graduated form Economic college and I really want to complete my high studying but the problem I can't since I am already working and there is no possibility to stop working for studying. thanks in advance.

    Read the article

  • Using Gems with MacRuby

    - by Craig Williams
    How do you use gems from a MacRuby .5 application on Snow Leopard? Do I need to specify the gem path? If so, how do I do this? Best scenario is to package the gems inside the application so the user would not have to install them when the app is distributed.

    Read the article

  • C# Sorting Question

    - by betamoo
    I wonder what is the best C# data structure I should use to sort efficiently? Is it List or Array or what? And why the standard array [] does not implement sort method in it? Thanks

    Read the article

< Previous Page | 597 598 599 600 601 602 603 604 605 606 607 608  | Next Page >