Frequenz ermitteln

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Ralf-Rainer
Beiträge: 5
Registriert: 22.08.2008 22:10

Frequenz ermitteln

Beitrag von Ralf-Rainer »

Hallo,

ich würde gerne die Frequenz eines Tones, der über LineIn oder Micro eingespielt wird, auslesen können, habe aber überhaupt keine Idee, wie man das anstellen könnte.

Hat jemand eine Idee?

Vielen Dank für Eure Mühe im voraus.

Gruß Ralf
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Das machst du am besten mit einer FFT. Schau dazu mal in Wikipedia. Wenn es ein
einzelner Ton ist, wirst du die Frequenz gut herausfinden können. Aber einen FFT zu
programmieren ist nicht leicht. Ich hatte mal irgendeinen Pseudocode in PureBasic
übersetzt, aber ihn noch nie getestet.

Vielleicht findest du aber auch fertige Libraries, die dir das erleichtern.
Ralf-Rainer
Beiträge: 5
Registriert: 22.08.2008 22:10

Beitrag von Ralf-Rainer »

Hallo,

mit FFT habe ich mich schon beschäftigt und auch Beispielcode (in VB 6) gefunden, aber wie komme ich an den Ton selbst? API-Funktionen? DirectSound? Ich suche schon seit Tagen vergebens nd wäre für Hinweise sehr dankbar.

Gruß Ralf
Benutzeravatar
Deluxe0321
Beiträge: 336
Registriert: 19.05.2006 00:31
Kontaktdaten:

Beitrag von Deluxe0321 »

FFT Analyse in Realtime:
http://www.purebasic.fr/english/viewtop ... t=realtime
Ändern des Aufnahmedevices geht über die WinAPI. musst mal nach Mixer in den PB-Boards suchen.

Möglichkeit 2 Bass.dll (am besten ganzen Thread lesen):
http://www.purebasic.fr/german/viewtopi ... 283#202283

Hoffe das langt
Gruß Marvin
Ralf-Rainer
Beiträge: 5
Registriert: 22.08.2008 22:10

Beitrag von Ralf-Rainer »

Hallo Marvin,

ja, das reicht wirklich, sichert wohl Beschäftigung für einige Zeit. Den 1. Link (und einiges mehr) hatte ich inzwischen auch schon im englischen Forum gefunden.

Herzlichen Dank

Gruß Ralf
Antworten