Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  2 1529
Hei. Jeg driver å funderer litt på hvordan å kjenne igjen en lydsekvens i en direktestrøm med lyd. Gjerne implementert i Java.

Tanken min er at jeg har en lydfil på omtrent 3 sekunder, og en lydstrøm jeg kan lytte på. Målet er at programmet kjører en metode når den hører lydfila i lydstrømmen. (eller er over f.eks. 70% sikker på at den hørte den).

Grunnen til dette er hovedsakelig at jeg vil vise den gjenværende bombetiden i Counter Strike. Da er det naturligvis "The bomb has been planted" som er lydfila, og lyden fra spillet/lyddriveren som er inputstrømmen.

Jeg har litt erfaring med kunstige nevrale nettverk, så jeg vet at jeg kan gå den veien. Men hvis det allerede finnes noen biblioteker i Java som kan gjøre detection-delen for meg hadde det vært digg.

Hittil har jeg laget et lite program på skjerm 2, som teller ned gjenværende tid, men den krever at jeg selv må trykke på en tast (f.eks. "K") mens jeg spiller for å aktivere den.

Noen som har noen tips/tanker?

Jeg kan legge til at dette mest er fordi jeg synes selve oppgaven virket interessant
Sist endret av olli408; 26. mai 2016 kl. 15:20. Grunn: Automatisk sammenslåing med etterfølgende innlegg.
m0b
m0b's Avatar
DonorAdministrator
Det er ofte vanlig å bruke fourier transform i en eller annen variant når en skal analysere audio. Hvis du kan kjøre en fft på lyden som skal trigge nedtellinga, og samtidig kjøre en kontinuerlig fft på lydstrømmen som kommer inn, så vil du trolig være i riktig retning for å kunne identifisere den spesifike setningen som du ønsker, med tanke på at de begge vil ha omtrent samme frekvensspekter i samme tidsdomene. Scipy har ferdige biblioteker for å kunne gjøre slikt, uten at jeg kjenner til disse metodene i detalj.

https://en.wikipedia.org/wiki/Fast_Fourier_transform
https://en.wikipedia.org/wiki/Short-...rier_transform
Kanskje dette kan hjelpe deg?