Hey,
Bin mit meinem Programm schon so weit, dass ich die Kanäle des Kopfhörers getrennt ansprechen kann. Nun versuche ich, dass der Ton per Zufall, entweder rechts oder links ausgegeben wird. Dazu erstelle ich eine Zufallszahl und gib den Ton am jeweiligen Kanal aus, abhängig davon ob die Zahl gerade oder ungerade ist. Jetzt zur eigentlichen Frage, wie schaff ich es, den Ton zu verzögern, sodass er anstatt nur ca 1 sec, 3 sec andauert? Mit den Elementen unter Programmierung --> Timing konnte ich leider nichts anfangen, da diese nur 3 sec warten. Oder gibt es eine andere Möglichkeit, wie ich das am besten realisieren könnte?
Bitte um eure Hilfe.
mfg
DOM
Erst einmal sind 200000 S/s etwas viel. 100 kHz kann man eh nicht hören oder bist Du eine Fledermaus? Das Sound System eines PC ist jedenfalls auf Menschen ausgelegt und bevorzugt 44,100 S/s, 22,050 S/s oder 11,025 S/s. Um den Ton länger zu spielen, könntest Du die dreifache Anzahl von Samples generieren oder das ganze dreimal ausgeben.
Bei Audioformaten für Multichannel usw. gibt es jetzt auch die Raten 96kHz und 192kHz. Neuere Chips für die Soundkarte müssten das bescherrschen, und man sieht das daran, wenn keine Fehlermeldung ausgespuckt wird. Bei mir kommmt die Fehlermeldung ab 200001 kHz.
Aber wie unicorn schon sagte: Der PC ist für den Menschen ausgelegt. Es ist nicht zu erwarten, dass so hohe Frequenzen am analogen Soundausgang des PC noch ankommen. Dieser Frequenzbereich ist ja nur dazu da, um z.B. über Multiplexing bei einem 7.1-Soundsystem jeden der 8 Kanäle mit Hörschall zu versorgen. (Mein Wissen ist hier begrenzt - bitte um Nachsicht wenn ich Unsinn gesagt habe)
@ unicorn,
ich weiß, dass ich mit 200,000 S/s 100kHz darstellen könnte, aber wenn ich die Abtastrate verringere zB auf 44,100 S/s kann ich Töne bis über 22kHz hören, obwohl die normalerweise ein Mensch nicht mehr hören dürfte. Und wenn ich die Samplerate Fs und die Sampleanzahl #s beim Funktionsgenerator verkleinere, wird das Signal immer eckiger und dadurch ist es überhaupt nicht mehr hörbar (Bild 1). Deshalb hab ich alle genannten Werte auf 200,000 gestellt, denn dann stimmt die noch hörbare Frequenz mit der Grenze des menschlichen Gehörs überein und es wird ein schönes Sinussignal ausgegeben (Bild 2).
Wenn ich die Sampleanzahl #s auf die dreifache erhöhe, wird der Ton nicht länger gespielt sondern es wird der Frequenzbereich erweitert, das heißt, ich höre den Ton auch immer noch bei 28kHz.
Sollte ich jezt die ganzen Werte ändern und wenn wie bekomme ich trotzdem ein schönes Signal und den benötigten Hörbereich?
lg DOM
Also bei 28 kHz kannst Du nichts hören. Das was dabei hörbar ist hat mit Sicherheit eine niedrigere Frequenz. Hier scheint irgend was mit der Anzahl der Samples und der Samplerate verkehrt zu laufen. Das kann ich leider nicht für Dich raussuchen. Am besten noch mal mit einer einfachen Tonausgabe starten, Dokumentation lesen und sich die Blockdiagramme von den SubVI ansehen.
Das auszugebende Signal braucht nicht schön auszusehen, da es durch das Tiefpassverhalten des Verstärkers und des Lautsprechers ohnehin sinusförmiger wird.
Danke für deine Hilfe
Lg DOM