Prosjektplan. Innføring. Andreas Kleppe Prosjektplan for INF3460 V INF3460 våren 2009 Prosjekt i digital signalbehandling og akustikk

Like dokumenter
Prosjektplan for prosjekt i digital signalbehandling og akustikk

Prosjekt i digital signalbehandling og akustikk Inf3460 Shabnam Pirnia våren 2009 Prosjekt : Ultralyd dopplermåling av strømningshastighet

Forelesning inf Java 1

Forelesning inf Java 1

Reelle tall på datamaskin

Lyd. Litt praktisk informasjon. Litt fysikk. Lyd som en funksjon av tid. Husk øretelefoner på øvelsestimene denne uken og en stund framover.

TDT4105/TDT4110 Informasjonsteknologi grunnkurs:

FFT. Prosessering i frekvensdomenet. Digital signalprosessering Øyvind Brandtsegg

Forkunnskapskrav. Hva handler kurset om. Kontaktinformasjon. Kurset er beregnet på en student som kan

Utviklingsprosjekt. Prosjektveiledning

Repetisjon: Sampling. Repetisjon: Diskretisering. Repetisjon: Diskret vs kontinuerlig. Forelesning, 12.februar 2004

PROSJEKTPLAN FOR INF [4 3]120-PROSJEKT: PROJECT HOSPITAL 2004

Forelesning inf Java 1

MAT-INF 1100: Obligatorisk oppgave 1

STATUSRAPPORT I: Produksjon av webside for Skjerdingen Høyfjellshotell.

Tips til arbeidet med obligatorisk oppgave 2 i MAT-INF 1100 høsten 2004

Optisk lesing av en lottokupong

super:bit-oppdraget Lærerveiledning Versjon 1, august 19.

MAT-INF 2360: Obligatorisk oppgave 1

som jobbet nærmest døgnet rundt i 18 måneder i Menlo Park i California for å forberede den neste bølgen innen computing.

Litt Java-historikk. Litt Java-historikk. Ulike varianter for ulike behov. Litt Java-historikk. The Green Team

Møtereferater: HP36 uke 2, : Gruppemedlemmer: Christian Salater Magne Hjermann Zunaira Afzal Tola Sarzali Waleed Abtidon.

Installere JBuilder Foundation i Windows XP

Installere JBuilder Foundation i Mandrake Linux 10.0

Undervisningsopplegg i matematikk. Med fokus på bruk av IKT

WMA. grp 5. dig3800. Del 1

Hvordan installere Java og easyio på Windows

Oblig 1 FYS2130. Elling Hauge-Iversen

AUDACITY. Lyninnføring i lydopptak- og redigeringsprogrammet. Fagdag i fysikk, : Lastes ned gratis fra

Praktisk bevaringsmetodikk - prosesser, rutiner, metoder, verktøy. v/sigve Espeland

MAT-INF 1100: Obligatorisk oppgave 1

TMA4100 Matematikk 1, høst 2013

Sampling, kvantisering og lagring av lyd

Introduksjon til Eclipse

TMA4100 Matematikk 1, høst 2013

og Java

INF1040 Oppgavesett 14: Kryptering og steganografi

Kapittel 3: Litt om representasjon av tall

Halvårsplan våren 2017 Fag: Musikk Trinn: 8.trinn Lærer: Børge Larsen. juleforestillinga

Studentdrevet innovasjon

MUS Interaktiv Musikk

INF1000 : Forelesning 1 (del 2)

UNIK 4690 Maskinsyn Introduksjon

Nokia Nseries PC Suite utgave

3UDNWLVN DQYHQGHOVH DY ')7

INF 1040 høsten 2008: Oppgavesett 9 Sampling og kvantisering av lyd (kapittel 11)

MPEG-1 lag 1, 2 og lag 3

Modul nr Den moderne steinalder. Digital jakt på mineraler.

Frevensanalyse av signaler (del 2) og filtrering av bilder

Er kunstig intelligens vår venn?

Kom i gang med programmering i Java

MPEG-1 lag 1, 2 og lag 3

MAT-INF 1100: Obligatorisk oppgave 1

Presentasjoner til all slags bruk

UNIVERSITETET I OSLO

MAT1030 Forelesning 3

TDT4127 Programmering og Numerikk

Brukerveiledning for identifisering med BankID

Geometra. Brukermanual. Telefon:

4. Installasjonsveiledning. Experior - rich test editor for FitNesse -

Lyd og video på nettsider

HOVEDPROSJEKT HIO IU - DATA FORPROSJEKTRAPPORT GRUPPE 18

MAT1030 Forelesning 28

Noen presiseringer mhp Diskret Fourier Transform. Relevant for oblig 1.

Søk. Nøkkelinformasjon. Sammendrag og figur. Klasser. IPC-klasse. Søker. Innehaver. Finn patenter, varemerker og design i Norge

Opprette et HDR bilde

Gjennomgående plan i musikk for trinn. ved Atlanten ungdomsskole

Innledende Analyse Del 1: Prosjektbeskrivelse (versjon 2)

Om obligatoriske oppgave 2 Bakgrunn og tips

Representasjon av tall på datamaskin Kort innføring for MAT-INF1100L

ÅRSPLAN I IKT FOR 5. TRINN, SKOLEÅRET

MAT-INF 1100: Obligatorisk oppgave 1

Generelt om operativsystemer

Konvolusjon og filtrering og frevensanalyse av signaler

Kravspesifikasjon. Leserveiledning Kravspesifikasjonen består av følgende deler: Presentasjon Om bedriften

1. Programmering: Hva og hvorfor? Scratch fra scratch Enkel programmering for nybegynnere

DRI2001 Offentlige nettsteder. Litt om systemutvikling Torsdag 24 aug Arild Jansen, AFIN, UiO

Ny på nett. Operativsystemer

Generell brukerveiledning for Elevportalen

JEG KAN.. 1.trinn. IT-plan for elever ved Rørvik skole

INF1040 Digital representasjon

TMA Matlab Oppgavesett 2

En økning i høreapparatets ytelse. Trådløst ekstrautstyr fra Phonak

Kom i gang med. Åpne nettleseren, gå til: Velg «New Project».

Mål med kurset. Java i INF Dagens tema. GUI med Swing. Dokumentasjon

Office365 -innføring i utvalgte programmer

Forsøkslæreplan i valgfag programmering

Eksamensbesvarelser i REA3015 Informasjonsteknologi 2

Bachelorprosjekt i informasjonsteknologi, vår 2017

Lokal læreplan musikk 7.trinn

Oppgaver til kapittel 19 - Kryptering og steganografi

Beregninger i ingeniørutdanningen

Introduksjon...5. Systemkrav...7. For Windows...9

Avinstallere Java: Windows 7 og eldre versjoner

2. Beskrivelse av mulige prosjektoppgaver

KAPITTEL 10 Flerskala-analyse og kompresjon av lyd

En innføring i bruk av Lync Online

Min digitale infrastruktur

Brukerveiledning digital eksamen via FLOWlock

KYBERNETIKKLABORATORIET. FAG: Industriell IT DATO: OPPG.NR.: LV4. LabVIEW Temperaturmålinger BNC-2120

Transkript:

INF3460 våren 2009 Prosjekt i digital signalbehandling og akustikk Prosjektplan Innføring Lyd er kontinuerlige lufttrykkvariasjoner i tid (som sprer seg i rom). Med unntak av noen spesialtilfeller kan ikke kontinuerlige variasjoner (funksjoner) representeres eksakt på en datamaskin. Vi kan representere lyden på en datamaskin ved å måle lufttrykket ved gitte tidspunkt og rekonstruere en tilnærming til lufttrykkvariasjonene ved å bruke disse utplukkene. Målingene av lufttrykket, ofte kalt samplene, kan lagres og manipuleres på en datamaskin før lyden rekonstrueres. Vi kaller en mengde av sampler for digital lyd. I en digital sammenheng refereres ofte lyd til som analog lyd for å unngå forvirring. Øret til oss mennesker registrerer frekvensene i lyden. Både taleforståelsen og vår musikalske evne tar i bruk frekvensanalyse for å avgjøre henholdsvis ord og musikkens kvalitet. Hjernen vår benytter seg også av frekvensene til å dekomponere lyden og fremheve deler av den. Eksempelvis vil hjernen vår fremheve menneskelig tale og ofte gjøre den forståelig selv i støyfylte omgivelser. Hjernen benytter seg også av frekvensene sammen med den spesielle konstruksjonen av øregangene våre til å lokalisere lydens opphav. Digital lyd representeres tilnærmet alltid, og enkelte ganger også analyseres, ved bruk av samplene, altså ved bruk lufttrykkvariasjonene direkte. Selv om vi har matematiske verktøy som gjør oss i stand til å transformere samplene til en representasjon av frekvenser, har det vist seg vanskelig å analysere frekvensspekteret digitalt. Som ikke det skulle vært nok, gjør diskretiseringen av lufttrykket frekvensspekteret mer uniformt og dermed vanskeligere å analysere. Likevel er vi i mange situasjoner i stand til å gjøre en fornuftig frekvensanalyse digitalt, men denne frekvensanalysen blir tilnærmet alltid langt mindre robust enn den vi selv er utstyrt med. Dersom vi videre ønsker å utføre frekvensanalysen i sanntid, får vi i tillegg problemer med maskinkapasitet og spesielt maskinkraft. Den totale prosessen fra vi har fått en del av et signal til vi har funnet frekvensinnholdet og analysert dette må i gjennomsnitt ta mindre tid enn tiden det tar før vi får neste del av signalet. Valget av algoritme for transformering til frekvensdomenet er vanskelig og har blitt forsket mye på (Bartels og Linfoot, 2004), da denne må være så rask som mulig dersom vi skal kunne utføre en mest mulig grundig frekvensanalyse, som igjen gir kvaliteten på resultatet. Side 1 av 5

Mål Lage et program som kan ta opp lyd, finne frekvensinnholdet og fra dette lage et noteark i sanntid. Tanken er at det skal være et musikkinstrument som generer lyden og at programmet skal testes ved bruk av et piano. I første omgang vil programmet kun forsøke å finne enkelttoner, og dermed lage enkeltnoter, men dersom det er tid til overs bør det utvikles støtte for flere toner samtidig. Programmet skal ha et oversiktlig brukergrensesnitt og programmeres for Suns JRE versjon 1.6. Programmet skal kunne kjøres som en applikasjon og i nettlesere med Java-plugin i Windows og Linux-distribusjoner som har Sun JRE 1.6 installert. Notearket programmet lager skal kunne skrives til fil i en syntaks som forstås av LilyPond 1. Dersom tiden tillater det skal programmet også kunne skrive ut notearket direkte som en bildefil og/eller et PDF-dokument. Rammebetingelser Milepælene er fastsatt av faglærer. Prosjektet skal utføres i perioden fra tirsdag 3. februar til tirsdag 19. mai, altså på totalt 15 uker eller 75 arbeidsdager. Ettersom prosjektet skal utføres av kun én person som en tredjedel av en full arbeidsuke er det totalt 40 timer * 15 / 3 = 200 timer avsatt til prosjektet. Dette inkluderer forberedelser tilknyttet endelig fremføring og arbeid med poster og nettside. På ukebasis tilsvarer dette 40 timer / 3 = 13 timer og 20 minutter og på dagsbasis kun 40 timer / 15 = 2 timer og 40 minutter. Mangel på utstyr, eksempelvis tilgang til et piano, kan utsette og lage begrensninger for progresjonen med prosjekt, men ettersom prosjektet ikke krevet stort av utstyr håper og tror jeg dette vil ordne seg greit. Milepæler 1. Innlevering av prosjektplan og litteraturoversikt. 03.02.2009 2. Presentasjon av oppgavens bakgrunn og status på feltet. 10.02.2009 3. Demo1 Programmet kan ta opp lyd i sanntid (uten lagring), og jeg skal ha satt meg inn i problemer ved frekvensestimering og -analyse i sanntid. 4. Demo2 Programmet kan ta opp lyd og finne frekvensspekteret i sanntid, og jeg skal ha startet på programmet for å gjenkjenne noter. 24.02.2009 15 arbeidsdager 31.03.2009 40 arbeidsdager 5. Innlevering av poster. 05.05.2009 6. Innlevering av nettside. 12.05.2009 7. Ferdig Programmet kan lage og lagre (direkte og/eller indirekte) et noteark når det spilles enkelttoner på et piano i et støyfritt miljø. 19.05.2009 75 arbeidsdager 1 Et gratis og fritt program lisensiert under GNU General Public License ( http://www.gnu.org/copyleft/gpl.html ) som blant annet kan lage noteark fra filer med en spesifikk syntaks. Hjemmeside: http://lilypond.org Side 2 av 5

Oppgaver I prosjektplanleggingsfasen er det lurt å dele opp prosjektet i mindre deloppgaver og prøve å anslå tidsforbruk og avhengigheter til de forskjellige deloppgavene. Dette kan være nyttig for progresjonen og gi en følelse av hvor godt eller dårlig man har arbeidet i forhold til anslått tid, og på den måten gi en indikasjon på at man for eksempel må jobbe litt mer i tiden fremover. I tillegg blir man nødt til å analysere prosjektets deloppgaver mer nøyaktig og får dermed et bedre inntrykk av hvor de store utfordringene ligger og kan dermed prioritere disse. I et prosjekter med flere arbeidere kan slike prioriteringer skape store tidsbesparelser. Under vises først en list over deloppgavene og deretter et Gantt-diagram laget fra denne listen. Det burde nevnes at det ofte er vanskelig å anslå tidsforbruket på deloppgavene. Aktivitetsnummer Opptak av lyd Aktivitetsbeskrivelse 01 Teoristudie: Bli kjent med Javas Sampled Package («The Java TM Tutorials > Sound: Overview of the Sampled Package», 2008). 02 Teoristudie: Lære hvordan opptak av lyd utføres i sanntid med Javas Sampled Package («The Java TM Tutorials > Sound: Accessing Audio System Resources», 2008) («The Java TM Tutorials > Sound: Capturing Audio», 2008). 03 Implementering: Opptak av lyd i sanntid i Java for Suns JRE versjon 1.6. 04 Implementering: Lage en klasse som kan brukes til å vise lyd grafisk i sanntid. Frekvensberegning 05 Teoristudie: Lære om frekvensberegning og -estimering i sanntid. Disse temaene bør leses på samtidig siden valget av den beste beregningsalgoritmen kan avhenge av målet med beregningene, her frekvensestimering. Tidanslag (dager) Avhengigheter 1 Ingen 2 01 2 02 4 03 for uttesting, 7 Ingen Side 3 av 5

06 Implementering: Lage en metode som beregner frekvensene tilstrekkelig hurtig i sanntid. Med tilstrekkelig hurtig menes det at beregningene i gjennomsnitt skal ta mindre tid enn den tiden det tok å fange opp signalet. Samplingsraten skal være akseptabel. 07 Implementering: Lage en klasse som kan brukes til å vise frekvenser grafisk i sanntid. Programutvikling 14 03, 05 7 6 for uttesting, 08 Teoristudie: Lære om pianoets klang og overtoner. 2 Ingen 09 Implementering: Lage et program som kan gjenkjenne enkelttoner som spilles på et piano i sanntid. 10 Implementering: Lage en klasse som kan brukes til å lage og vise et noteark grafisk i sanntid. 11 Implementering: Lage en metode i notearkklassen som kan skrive en fil i en syntaks som forstås av LilyPond. Etterarbeid 10 06, 08 10 9 for uttesting, 3 10 for uttesting, 12 Lage poster. 4 Ingen 13 Lage internettside. 7 Ingen 14 Forberede den endelige framføringen. 2 10, 11, 12, 13 Merk at bare én aktivitet er satt opp om gangen. Dette er fordi prosjektet kun skal utføres av én person og denne personen jobber best med én ting om gangen. Eksempelvis er derfor aktiviteten med nummer 05 satt opp etter aktiviteten med nummer 04, som er siste aktivitet i delprosjektet om opptak av lyd i Java, dette til tross for at aktiviteten med nummer 05 ikke avhenger av noen aktiviteter. Side 4 av 5

Litteraturoversikt I denne tidlige fasen av prosjektet er det vanskelig å vite nøyaktig hvilken litteratur man vil benytte seg av. Under er derfor kun en forventet og trolig mangelfull litteraturoversikt. Den endelig litteraturoversikten vil trolig være langt større. Ambardar, A. 2006, Digital Signal Processing: A Modern Introduction, Thomson Learning, London. Bartels, M. og S. Linfoot, (september 2004), An Analysis of Real Time Implementation of Fourier Transform-based Frequency Recognition Algorithms, [online], IEEE International Symposium on Consumer Electronics. Tilgjengelig fra: <http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=01375919> [28.01.2009]. Kwok, H.K.C. og D.L. Jones, (oktober/november 1995), Instantaneous Frequency Estimation Using an Adaptive Short-Time Fourier Transform, [online], Conference Record of the Twenty-Ninth Asilomar Conference on Signals, Systems and Computers, Volume 1. Tilgjengelig fra: <http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=00540607> [28.01.2009]. «The Java TM Tutorials > Sound: Accessing Audio System Resources», 2008, Sun Microsystems, <http://java.sun.com/docs/books/tutorial/sound/accessing.html> [03.02.2009]. «The Java TM Tutorials > Sound: Capturing Audio», 2008, Sun Microsystems, <http://java.sun.com/docs/books/tutorial/sound/capturing.html> [03.02.2009]. «The Java TM Tutorials > Sound: Overview of the Sampled Package», 2008, Sun Microsystems, <http://java.sun.com/docs/books/tutorial/sound/sampled-overview.html> [03.02.2009]. Uzun, I.S., A. Amira og A. Bouridane, (juni 2005), FPGA implementations of fast Fourier transforms for real-time signal and image processing, [online], IEE Proceedings Vision, Image and Signal Processing, Volume 152, Issue 3,. Tilgjengelig fra: <http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=01459902> [28.01.2009]. Xinglei Zhu, G. Beauregard og L. Wyse, (juli 2007), Real-Time Signal Estimation From Modified Short-Time Fourier Transform Magnitude Spectra, [online], IEEE Transactions on Audio, Speech, and Language Processing, Volume 15, Issue 5. Tilgjengelig fra: <http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=04244543> [28.01.2009]. Side 5 av 5