Arduino Pitch detectie algoritme (AMDF)


Laatste Update: 16 januari 2016 (onlangs toegevoegd een verbeterde matlab code (step7) met samples en veel notities)

Voorwoord: Dit Instructable is geschreven in een stijl te laten zien hoe ik geanalyseerd, getest, uitgevoerd en geoptimaliseerd een algoritme. Ook In het proces, ik geleerd hoeveel werk gaat in het doen van elke stap en ik heb meer respect voor degenen die andere algoritmen voor mijn naïeve mentaliteit hebben gebouwd garnered.

Daarnaast zijn alle kritieken van harte welkom!

Motivatie: Ik moest frequentiegegevens ophalen uit een viool pick-up. Het werk dat ik deed met een ander project maken een kleur orgel had een FHT en ik dacht dat het zou makkelijk genoeg aan te passen aan mijn gebruik. Trying voor toepassing op bleek moeilijk omdat een viool schept wat heet "quasi-harmonische" tonen. Kortom, de periodieke frequentie van de golfvorm was nooit de dominante en ik kon alleen halen hogere harmonischen van een enkele Toon. Frustrerend! Dus ik moest bouwen gebaseerde mijn eigen PDA vanwege het ontbreken van zoekresultaten voor Arduino PDA's. Uiteindelijk heb ik de uitvoering van de AMDF (autocorrelatie magnitude verschil algoritme).

Bedankt: Aan Amanda Ghassaei voor het verstrekken van een algemeen kader voor het bouwen en testen van uw eigen algoritme. Ik probeerde met behulp van haar werk op een ander Instructable:

Arduino frequentie detectie

Maar de kern van het werk dat ze deed me zo veel als die ik wilde het niet helpen. Dus vandaar zocht ik naar de toonhoogte detectie algoritmen en het kreeg me te werken dit alles. Ze heeft enkele knappe projecten! Kijk op haar website die in de bovenstaande Instructable is gekoppeld.

Gerelateerde Artikelen

Arduino frequentie detectie

Arduino frequentie detectie

Als een vervolg op de Arduino Audio Input tutorial die ik vorige week gepost, schreef ik een schets die analyseert een signaal binnenkomt de analoge ingang van de Arduino en bepaalt de frequentie. De code maakt gebruik van een sampling rate van 38.5k
Arduino Motion detectie eenvoudig project

Arduino Motion detectie eenvoudig project

Dit is een erg basic tutorial voor Arduino beginners, we wilden het simpel houden en naar het punt, het gebruik van PIR detectie bewegingssensoren en hoe u kunt besturen LED die gebaseerd is op de sensor uitvoergegevens.en zo simpel gezegd, de belang
Arduino Guitar Tuner

Arduino Guitar Tuner

Bouw je eigen elektrische gitaar tuner met behulp van de Arduino! Ik besloot om dit te maken want ik wilde om te experimenteren met de audio-invoer en frequentie detectie. Ik gebruikte Amanda Ghassaei de methode voor de detectie van Arduino frequenti
Betrouwbare frequentie detectie met DSP technieken

Betrouwbare frequentie detectie met DSP technieken

nauwkeurige detectie van frequentie is belangrijk voor vele projecten zoals gitaar/Piano-Tuners, trillingen Analyzers, tekeer beeldschermen, MEMs Sensor analyse en laboratoriuminstrumenten.Er zijn vele mooie voorbeelden van projecten die proberen op
Real Time ' Face-Tracking Robot met Arduino en Matlab

Real Time ' Face-Tracking Robot met Arduino en Matlab

Real time ' face-tracking verwijst naar de taak van het opsporen van menselijke gezichten in een video-stream en bijhouden van de gedetecteerde of herkende gezichten. Er zijn tegenwoordig veel echte wereld toepassingen van gezichtsherkenning en ander
Arduino Pocket Lightning Detector

Arduino Pocket Lightning Detector

Wij allen genieten van werken en buiten spelen. Maar ik denk dat iedereen het ermee eens dat door bliksem terwijl je plezier buiten uitdagend krijgen getroffen... niet leuk!OK genoeg met de leuke intro...Dit project kwam tot stand toen, terwijl ik wa
Pad van de Arduino Synth DIY 4 x 4

Pad van de Arduino Synth DIY 4 x 4

Dit project neemt een Arduino Uno en tal van andere onderdelen en hen verandert in een synth-pad dat kan een verscheidenheid van verschillende tonen spelen, opnemen die tonen en spelen ze terug en leren een gebruiker hoe om nieuwe muziek te spelen.St
Automatische geheime bibliotheek deur

Automatische geheime bibliotheek deur

Ik heb altijd al wilde hebben een geheime boekenplank deur. Wie zou niet? Dus toen ik klaar mijn zolder was, ik had de kans om te bouwen van een aangepaste boekenplank deur die opent en sluit door te schuiven in een ruimte achter de muur, waaruit mij
Contactloze AC detector

Contactloze AC detector

Dit instructable idee was als een technische uitdaging: probeer te detecteren van de aanwezigheid van een AC live wire, zonder contact en zonder stroom die. De schoonheid van het is dat u enkel een MCU (hier arduino nano), een draad, twee weerstanden
Ouderenzorg Monitor (Intel IoT)

Ouderenzorg Monitor (Intel IoT)

OverzichtDit is een Instructable voor een controle en het attenderen van apparaat voor iemand zoals een bejaarde die zich op hun eigen tijde tijdens de dag of de nacht en die mogelijk een risico voor het vallen of wellicht wat hulp gedurende die tijd
Self Balancing ondersteboven slinger

Self Balancing ondersteboven slinger

Dit is mijn poging om de omgekeerde slinger balanceren op een kar met twee wielen chassis. Ik had gezien de anderen hier en werd geïnspireerd om te proberen mijn eigen versie. De Arduino is heerlijk eenvoudig te programmeren en u kunt oprapen het in
Mobiele vaccin Monitor (Intel IoT)

Mobiele vaccin Monitor (Intel IoT)

Overzicht van het project:Dit is vaak voor onder ontwikkelde (N.Africa) en ontwikkelende landen (zoals India) waar de vaccins opslagomgeving (temperatuur) bijhouden een groot probleem is. Wanneer het milieu is niet optimaal (temperatuur is niet binne
EL Wire Lightsuit

EL Wire Lightsuit

Elektroluminescente Wire is zeer interessant. Terwijl het niet bijzonder goed, in een donkere kamer fotograferen, is het effect heel briljant. Heb ik besloten om een Arduino gecontroleerd licht pak met een bijgevoegde helm. De hier geschetste methode
Slim draagbare IOT vaccin

Slim draagbare IOT vaccin

Smart vaccin Monitor met IOTProbleemstelling: dit project is van toepassing op onder ontwikkelde als minder ontwikkelde landen waar de vaccins opslagomgeving (temperatuur) bijhouden een groot probleem is. Wanneer het milieu is niet optimaal (temperat