AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Sinuston im Wav-Format
Thema durchsuchen
Ansicht
Themen-Optionen

Sinuston im Wav-Format

Ein Thema von blablab · begonnen am 31. Okt 2010 · letzter Beitrag vom 8. Feb 2011
 
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#1

Sinuston im Wav-Format

  Alt 31. Okt 2010, 17:08
Hallo!

Ich möchte einen Sinuston mit variabler Frequenz erzeugen. Dazu benutze ich einen Memory-Stream, schreibe einen Wav-Header und die Audiodaten rein und spiele sie dann mit sndPlaySound(MemStream.Memory, SND_MEMORY or SND_ASYNC or SND_LOOP); ab.
Ich benutze immer genau eine Sinuskurve im Intervall von 0 bis 2*Pi. Diese Kurve wird von n Punkten repräsentiert. Um jetzt die Frequenz zu ändern, verändere ich einfach die Samle Rate. Eine Kurve aus 10 Punkten mit einer Sample rate von 10 hat 1Hz und mit der Sample rate 1000 hat sie 100Hz.

Eigentlich funktioniert das recht gut, mein Problem ist aber, dass es "Sprünge" im gehörten Ton gibt. Das heißt zb bei einer Frequenz von 10.000 - 13.000Hz hört sich der Ton exakt gleich an. Von 13.000 auf 13.001Hz ändert sich der gehörte Ton plötzlich enorm.
Bei niedrigeren Frequenzen ist der Effekt noch nicht so deutlich. Aber ab ca. 10.000 Hz gibt es immer längere Frequenzbereiche mit demselben Ton und dementsprechend sehr großen Sprüngen dazwischen. Wo genau dieses Sprünge sind, ist anscheinend davon abhängig aus wie vielen Punkten eine Sinuskurve besteht.

Leider komme ich hier nicht weiter... Vielleicht liegt das Problem daran, dass man die Sample rate nicht beliebig wählen kann. Ich weiß aber nicht wie ich die Sprünge verhindern soll.

Könnt ihr mir weiterhelfen???

Grüße
blablab

P.S. Bitte fragt mich nicht nach dem Sinn dieses Programms
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz