Skip to content

Yksinkertaista taajuusanalyysia, Tiralabra II/2020

License

Notifications You must be signed in to change notification settings

Segrel/TaajuusTane

Repository files navigation

TaajuusTane

Yksinkertaista taajuusanalyysia, Tiralabra II/2020.

Projektin ytimessä on ymmärtää paremmin signaaliprosessointia Fourier-muunnosten avulla, toteuttaen samalla yleisesti käytetty radix-2 DIT versio Cooley-Tukey FFT-algoritmista. Se on käyttöömme riittävän nopea, yleisesti tunnettu ja sen pseudokoodi sekä optimointi-ideoita on helposti saatavilla.

Sovellus analysoi lyhyitä äänitallenteita ja palauttaa signaalin perustaajuuden, eli dominantin aallonpituuden hertseinä. Tallenteen tulee olla 16bit mono WAV-tiedosto näytteenottotaajuudella 44100 Hz.

Käyttö

Ohjelman JAR-tiedosto löytyy ./gradlew build komennon suorittamisen jälkeen polusta app/build/libs, tai voit ladata sen Githubista kuten tämän dokumentin "Artefaktit Githubissa" -osiossa neuvotaan.

Ohjelma lukee annetun Wav(RIFF)-muotoisen, yksikanavaisen signed 16bit PCM-muotoisen tallenteen. Toteutusta ei ole suunniteltu yli 5 sekunnin mittaisille tallenteille, eikä analyysi välttämättä ota huomioon koko tallennetta. Ohjelma ilmoittaa mahdollisesti sivuutettujen näytteiden määrän suorituksen yhteydessä.

Esimerkiksi seuraavan komennon pitäisi antaa perustaajuudeksi 440 Hz:

java -jar app/build/libs/app.jar app/src/test/resources/440hz.wav

Lisää äänitiedostoja voi generoida ottamalla mallia esimerkiksi tästä python skriptistä tai käyttämällä saatavilla olevia äänen muokkamiseen soveltuvia ohjelmia.

Dokumentaatio

Edistyminen

Artefaktit Githubissa

Versionhallinnan main-haarasta tehdään automaattisesti ajo, jossa:

  • käännetään projekti ja tallennetaan JAR-paketti artefaktia Package,
  • ajetaan checkstyle ja tallennetaan raportti osaksi Reports artefaktia,
  • ajetaan testit ja tallennetaan raportti osaksi Reports artefaktia,
  • ajetaan jacoco testikattavuustyökalu ja tallennetaan raportti osaksi Reports artefaktia,
  • ajetaan Javadoc ja tallennetaan se Javadoc artefaktiksi.

Kaikki artefaktit (Artifacts) saa ladattua projektin Actions-välilehden alta, valitsemalla ensin jokin esitetyistä tuloksista (eli ajoista).

Linkkejä

About

Yksinkertaista taajuusanalyysia, Tiralabra II/2020

Resources

License

Stars

Watchers

Forks

Packages

No packages published