Autor |
Beitrag |
Philipp_Reitter
      
Beiträge: 430
|
Verfasst: So 02.04.06 13:54
hi
klingt jetzt ein bisschen verrückt aber kann man irgendwie einen ton (am besten per micro aufgenommen)
in eine zahl oder buchstaben verwandeln...vielleicht irgedwie die frequenz herauslesen oder so... irgendwie halt dass er den ton in zahlen umwandelt....
hoffe mir kann jemand helfen...
danke im vorraus
Philipp Reitter
PS: bitte keine suchlinks sonder wenn dann bitte beiträge, thx.
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: So 02.04.06 14:03
Philipp_Reitter hat folgendes geschrieben: | PS: bitte keine suchlinks sonder wenn dann bitte beiträge, thx. |
Etwas dreist, findest du nicht  ?
Aber keine Sorge, Suchlinks bekommst du keine - nur Suchwörter: BASS, FOURIER. Was meinst du außerdem mit Zahlen? Frequenzen?
AXMD
|
|
Philipp_Reitter 
      
Beiträge: 430
|
Verfasst: So 02.04.06 17:21
ich meinte dass vielleicht jeder ton oder jede stimme ien bestimmte frequenz hatt die man vielleicht in zahlen angeben könnte
|
|
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 02.04.06 17:42
klar kannst das in zahlen angeben... welche hättest du gern?
- binärzahlen
- hex
- anderes system?
- oder nur im 10'ner ..z.b. als byte... integer, short... ?
<jetzt einfach mal frag> ist ja nix anderes als 0'er und 1'sen
|
|
Philipp_Reitter 
      
Beiträge: 430
|
Verfasst: Mo 03.04.06 06:35
aber adas wird dann ja eeeeeeeeeellllend's lange oder???
ich meinte mehr so einen frequenzwert oder so was was kutz ist ...
|
|
DaRkFiRe
      
Beiträge: 526
WinXP Home & Professional
C, C++, Delphi
|
Verfasst: Mo 03.04.06 09:20
Frequenzanalyse? FFT! (Fast Fourier Transformation)
Bibliothek? BASS / FMOD
Töne sind ja nichts Anderes, als Frequenzsummen - oder im simpelsten Falle: eine Frequenz.
_________________ Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
|
|
delfiphan
      
Beiträge: 2684
Erhaltene Danke: 32
|
Verfasst: Mo 03.04.06 11:10
Frequenzanalyse eines Signals (sowas wie der Spectrum Analyzer bei Winamp):
1. Wave-Signal in gleichgrosse Stücke teilen (z.b. 4096 Samples)
2. Hanning Window über die Stücke drübermultiplizieren
3. Diskrete Fouriertransformation via FFT
4. Quadrat des Betrages der komplexen Zahlen von der FFT Rechnung ergibt das Powerspektrum (proportional zur Energie)
Im Powerspektrum suchst du dann den Peak.
In der bass.dll sollte sowas inbegriffen sein. Die genauen Befehle kenne ich nicht.
|
|
Philipp_Reitter 
      
Beiträge: 430
|
Verfasst: Mo 03.04.06 15:06
was is FTT, weil ich hab in einen script TFTTData gefunden und weiß nciht wo ich das herbekomme???
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mo 03.04.06 15:10
FFT ist die "Fast Fourier Transformation", zu deutsch die "Schnelle Fourier Transformation". Ist ganz grob so ein Mathe-Gedöns, ohne das es kein jpeg oder mp3 gäbe. TFFTData hast du möglicherweise bei der bass.dll gefunden - da gibts so einen Datentyp.
_________________ We are, we were and will not be.
|
|
Philipp_Reitter 
      
Beiträge: 430
|
Verfasst: Mo 03.04.06 15:16
ich hab den script hier aus dem forum
Delphi-Quelltext 1: 2: 3: 4:
| function AnalyzeSong(Song: PChar): Extended; var ----> FFTData: TFFTData; <----- FreqSch: Integer; |
wo bekomm ich das her?? er sagt mir immer unbekannter irgedwas TFFTdata ???????
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mo 03.04.06 15:36
_________________ We are, we were and will not be.
|
|
Philipp_Reitter 
      
Beiträge: 430
|
Verfasst: Mo 03.04.06 15:44
ja toll das hilft mir jetzt gaaaaaar nix weiter....
kann mir nicht jemand einfach eine erklärung sagen (die auch ich verstehe) wie ich das hineinbekomme???
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mo 03.04.06 15:51
Da du dir ja in den letzten 8 Minuten die bass.dll runtergeladen hast, dich damit vertraut gemacht hast und dir die Beispiel-Projekte angeschaut hast (insbesondere das zum Thema Spectrum dürfte interessant sein!), würd mich mal interssieren, wo du jetzt genau nicht weiterkommst.
_________________ We are, we were and will not be.
|
|
Philipp_Reitter 
      
Beiträge: 430
|
Verfasst: Mo 03.04.06 15:57
mein eigentlicher plan war zeit audiodateien vergleichen und wenn sie (mit ein bisschen spielraum) übereinstimmen dann soll etwas passeiren...
nur da dachte ich mir ich lass einfach die frequenz ausrechnen und die dann vergleichen...
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mo 03.04.06 16:10
Achso, sag das doch gleich. Ich glaube, da hat GTA-Place mal was gemacht. Such mal nach MusicInfoFinder (oder so ähnlich).
Bilde ich mir das ein, oder drehen wir uns im Kreis? 
_________________ We are, we were and will not be.
|
|
Philipp_Reitter 
      
Beiträge: 430
|
Verfasst: Mo 03.04.06 16:22
glaub schon....
aber wie könnt ich das anstellen hast du ne bessere ide als ich ????
|
|
Miri
      
Beiträge: 657
Delphi 3 Prof., Delphi 2005 PE
|
Verfasst: Mo 03.04.06 16:24
du hörst echt nicht zu, oder??
Gausi hat folgendes geschrieben: | Such mal nach MusicInfoFinder (oder so ähnlich).
|
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mo 03.04.06 16:25
Nö, die Idee ist schon ganz gut, und sie scheint ja auch (laut GTA-Place) einigermaßen zu funktionieren.
_________________ We are, we were and will not be.
|
|
Philipp_Reitter 
      
Beiträge: 430
|
Verfasst: Mo 03.04.06 16:42
kannst mu mir mal den beitrag sagen hab da was aber das will nicht gehen...
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31:
| function TMainForm.AnalyzeSong(Song: PChar): Extended; var FFTData: TFFTData; FreqSch: Integer; Round: Integer; SChan: DWord; begin SChan := BASS_StreamCreateFile(False, Song, 0, 0, BASS_STREAM_DECODE);
try Result := 0; Round := 0;
while (Result = 0) OR (Round < 100) do begin BASS_ChannelGetData(SChan, @FFTData, BASS_DATA_FFT2048);
for FreqSch := 0 to 1023 do Result := Result + FFTData[FreqSch];
if not (Result = 0) then inc(Round); end;
Result := Result / (1024 * 100); except Result := 0; end;
BASS_StreamFree(SChan); end; |
da sag er mir immer ienn fehler...
|
|
Marc.
      
Beiträge: 1876
Erhaltene Danke: 129
Win 8.1, Xubuntu 15.10
|
Verfasst: Mo 03.04.06 16:44
an deiner stelle würde ich mich mit einfacheren dingen beschäftigen
was hältst du von der idee, den fehler, den der compiler meldet, zu nennen, bzw. selbst einfach mal ein wenig zu recherchieren? 
|
|