08. september 2002 - 14:08Der er
31 kommentarer og 1 løsning
Wave-bølger
Hvordan får jeg mit program til at afspille en mp3-fil og derefter viser waves for musikken? Disse waves skal have coordinater, altså hvis der i musikken er god bass, skal der være højere tal for coordinaterne (f.eks. 100) og for nogle mere "stille" lyde skal tallet selvfølgelig være lavere (f.eks. 34 eller hvad tallet nu er). Sagt på en anden måde: Programmet skal ikke vise lydbølgerne grafisk. Den skal komme med selve tallene/coordinaterne for lydbølgerne.
Ja, okay, men det skal ikke være sådan, at man skal til at installere et andet program for at bruge mit program. MediaPlayer bliver jo installeret sammen med Windows. Jeg har da set masser af programmer til redigering af lydeffekter, som generer lydbølger grafisk, og uden at være afhængige af Winamp, og det er DET jeg vil lave.
Jaaah, men de programmer har også deres egen afspiller indbygget... TMediaPlayer som findes i Delphi er lavet ud fra noget der er indbygget i Windows, og kan derfor ikke bruges til meget andet end afspille/optage med... Sådan cirka det samme som Lyd-optager der følger med Windows kan! :)
Find dig noget info omkring wav-filer og hvordan de er opbygget... Så kan du måske læse den lige så stille i gennem og finde nogle data som kan være givtige for dig...
Helt ærligt så tror jeg ikke du kan få løst dit problem her inde!
Du skal kende opbygningen af en WAV-fil og ud fra den finde nogle data omkring lydens styrke og hvad ved jeg... Samtidig med det skal du gøre det utrolig hurtigt, hvilket også kræver lidt hardcore programmering...
Jeg tror heller ikke lige du finder nogle 1337 h4x0rz der vil ud med hvordan det laves for det lyder til at blive en laaaaaaang procedure...
>>yousif Læste en gang en artikel om RTFM og kombinationer... Faktisk meget sjov! :)
RTFM = Read The Fucking Manual (Read The Fantastic Manual, hvis min bedstefar spørger ;)) RTFS = Read The Fucking Source RTFB = Read The Fucking Binaries STFW = Search The Fucking Web
Hermandsen -> "WAV file... WAV file. Kako najlakše objasniti što je WAV file ?
Evo ovako:
WAV file se sastoji od dva dijela: wave heather i wave data. Kako sam negdje pročitao, cijeli file je konstruiran od malih dijelova koji imaju veličinu 4 charactera (čitaj: 4 znaka) koji predstavljaju identifier, za kojim slijedi DWords s vrijednošću duljine slijedećih podataka, iza kojih se nalaze podaci koji zapravo predastavljau zvučni zapis (ovo je pojednostavljeno, vrlo pojednostavljeno)."
Jeg får altså ikke ret meget ud af kildekoden, hvis jeg ikke forstår kommentarene. Findes der ikke et eller andet program/hjemmeside, hvor man kan oversætte det der står til engelsk?
Hmm... du skal vel have fat i noget Fast Fourier analyse - som netop finder lydstyrken som funktion af lydfrekvensen for et givent tidsinterval. Prøv at søge på ovenstående "Fast Fourier"
Det er ikke specielt svært at læse det binære indhold af en Wav fil. Det er (normalt) placeret i alm. PCM format - men der fremgår klart af filens header.
MEN! Hvis man læser værdierne ud af Wav filen, så ved man intet om hvilke frekvenser den pågældende "lyd" er opbygget af. Lyd er nemmerlig en sammensat størrelse og hvis man ønsker at analysere et øjebliksbillede af en "lyd", fx. en enkelt 22 kHz sample, for at se hvor stor en enkelt delkomponent/-frekvens er så skal man benytte nogle temmeligt avancerede matematiske teknikker. Ved at analysere et analogt lyd signal med FFT kan man fx. få oplyst hvor stor et 100 Hz. signal der indgår i den samlede lyd.
Du kan på nettet finde algoritmer til realtimer FFT analyse af digitale signaler.
Nu mener jeg noget der kan analysere lyde FRA wave-filen... Altså, jeg har en wave-fil, og så vil jeg gerne have at den tegner en graf for mig og giver mig coordinaterne for dens "top-punkter".
Altså på dette link (http://homepages.borland.com/torry/vcl/mmedia/audio/jwaudioincb5.zip) som findes på den side jeg linkede til i mit sidste indlæg er der et C++ eksempel på netop dét du skrev i dit spørgsmål. Dette kan du jo blot kompilere til en dll og så benytte det i din Delphi-applikation, eller oversætte det, hvis du har tålmodighed til det.
I demoen vises både wave-bølgerne, en bas til diskant-graf med ca. 10 underindelinger og endelig en avanceret farvet sag som faktisk kan vise, hvilke toner man synger.
Der skal nok ændres lidt på koden. Måske jeg kan lave det til dig når jeg får ferie. Hvem ved
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.