Audio Wiedergabe - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Grafik & Sound (/Forum-Grafik-Sound) +---- Thema: Audio Wiedergabe (/Thread-Audio-Wiedergabe) |
Audio Wiedergabe - Achim - 18.01.2007 10:34 ' schrieb:Ich verstehe sowieso nicht ganz, was diese Angaben überhaupt sollen. Ich will doch nur ein Signal erzeugen. Da muss man doch sonst nie eine Sampling-Rate angeben. Das brauche ich doch nur zur Abtastung, oder nicht? Falsch! Natürlich brauchst du auch für die Signalerzeugung eine Sampling Info! Erst nach dem Ausgangs-DAC hast du ja ein kontinuierliches, analoges Signal! Dein PC beherrscht ja nur "0" und "1", d.h. er kann nur ein (je nach seinen "Fähigkeiten") angenähertes Signal in Form einer Folge von Nullen und Einsen erzeugen, die unterschiedlich gewichtet werden! Gruss A. Audio Wiedergabe - A.Berndsen - 18.01.2007 10:35 ' schrieb:Was mich auch verwundert ist, dass doch beide Anzeigeelemente an einem Ausgang hängen, also doch die gleichen Sampling-Informationen haben. Sie hängen leider nicht am gleichen Ausgang und deshalb geht die Sampling-Info verloren. Die Konvertierungsfunktionen hängen doch dazwischen, und diese entfernen diese Informationen. Ich hab das VI mal zur Verdeutlichung geändert. Gruß Andreas Audio Wiedergabe - Y-P - 18.01.2007 10:37 Stimmt. Jetzt wo Du es sagst..... Aber es hängen trotzdem beide Anzeigeelemente am gleichen Ausgang, oder habe ich da auch wieder ein Denkfehler? Gruß Markus Edit: Das mit den Anzeigeelementen hat sich mit Andreas' Antwort erledigt. Da war ich wohl etwas zu langsam. ' schrieb:Falsch! Natürlich brauchst du auch für die Signalerzeugung eine Sampling Info! Erst nach dem Ausgangs-DAC hast du ja ein kontinuierliches, analoges Signal! Dein PC beherrscht ja nur "0" und "1", d.h. er kann nur ein (je nach seinen "Fähigkeiten") angenähertes Signal in Form einer Folge von Nullen und Einsen erzeugen, die unterschiedlich gewichtet werden! Audio Wiedergabe - Achim - 18.01.2007 10:41 @ Andreas: Wollte dein VI mal angucken, ist aber in 8.2...kannste das mal auf 8.0.1 konvertieren? Danke! Wenn du 8.2 hast, müsstest du mal dein Profil aktualisieren A. Audio Wiedergabe - Y-P - 18.01.2007 10:42 Und kriege ich irgendwie beide x-Achsen auf den selben Wert? Oder habe ich immer die Skalierung dabei? Gruß Markus Edit: Habe rausgefunden, dass es klappt, wenn ich 0,001 durch 1 ersetze. Aber jetzt habe ich im Original dt=0,001 und im "neuen" Signal dt=1. Was sagt mir das jetzt? Darf ich das einfach so ändern? ' schrieb:Sie hängen leider nicht am gleichen Ausgang und deshalb geht die Sampling-Info verloren. Audio Wiedergabe - A.Berndsen - 18.01.2007 11:38 Sorry wegen dem 82er VI. Ich werde mein Profil gleich mal ändern. (Dachte ich hab es schon gemacht.) Hier das VI! Gruß Andreas Audio Wiedergabe - Vipher - 20.02.2007 11:12 öhm oke^^ ich hab nun die aufnahme so gelöst: meldet sich der abstandssensor (bei dem vi vorerst ersetzt durch nen button), so wird zuerst kontrolliert, ob der abstandssensor eine sekunde lang eine änderung erkennt. dann startet die aufnahme.. das problem ist nur, dass die while schleife, in der die daten in die wav datei geschrieben werden, nie aufhört, und somit "file close" nicht gestartet wird. (die datei also für die weiterverarbeitung/wiedergabe nicht freigegeben wird) Ich hab bereits mit timed loop versucht die Schleife nur 5 Sekunden lang durchlaufen zu lassen.. aber das hat nicht funktioniert.. wisst ihr wie ich das lösen kann? Audio Wiedergabe - Kvasir - 20.02.2007 15:01 Hi, also hoffe ich habe dein Problem richtig verstanden. Erstens. Deine Abfrage zum Abstand verstehe ich nicht. Ich sehe hier nichts, was eine Sekunde abfragt. Deine Case Struktur wartet ja von sich aus 1 sek. Da kann ich ja inzwischen 100erte male gewechselt haben und trotzdem erkennt dein Programm dann zufällig das richtige, wenn vor der Pause und nach der Pause der gleiche Abstand ist. Lösen kannst du das z.B. durch eine Eventstruktur mit Value Change, oder so wie ich das nun gelöst habe. Event ist sicher eleganter. Habe mich hier an deine Vorgabe mit dem Case gehalten (weiß ja nicht, wie du deinen Sensor implementierst). Ich habe dir auch die Programmstruktur geändert. Sinnvoller ist es, wenn du zuerst wartest auf das Aufnahmeereignis (Abstand), dann diese Schleife verläßt, und mit dem Auslesen beginnst. Nach 5 Sekunden beendest du dieses und gehst weiter zum Schreiben. So habe ich das auch gelöst jetzt. Die Reihenfolge wird durch den Errorcluster und die Refnums vorgegeben. Abbruchbedingung für das Lesen ist mit dem Milisekundentimer gelöst. Mittels Schieberegister werden die Daten gesammelt. Schaus dir mal an. Konnte es leider nicht testen (Kein Micro). Sollte aber funktionieren Gruß Kvasir Audio Wiedergabe - Vipher - 22.02.2007 10:30 hmm... Zuerst mal danke für deine Änderungen Das mit dem Status (für den Anäherungssensor) ist bei dir besser gelöst^^ Und auf die Aufnahme kann ich auch aufbauen. ich teste das Programm gerade.. es funktioniert noch nicht... erstens klappt das mit der Zeit nich ganz, weil der Timer immer zurückgesetzt weden müsst... und zweitens nimmt er keine 5 Sekunden auf.. Nur, wenn ich das Programm neu starte, dann zeichnet er (wenn der button von anfang an gedrückt ist) 4 Sekunden lang auf. Das ist wohl darauf zurückzuführen, dass zuerst 1 Sekunde lang der Status abgefragt wird, und dann die Aufnahme läuft. Das gute aber ist, dass die wav-Datei dann auch ausführbar ist, während das Porgramm läuft. Zumindest Theoretisch. Da das vi ja beendet wird, bevor ich das ausprobieren kann, kann ich das nicht wirklich testen. Und mit "Run Continuosly" bekomm ich eben die Meldung, dass die Datei gerade verwendet wird. Ich werd mich mal weiter mit dem vi von dir spielen, und Bescheid geben, falls ich ne Lösung gefunden hab. (Pff... der Audioteil wird wohl viel aufwendiger als der Rest von dem ganzen Projekt...) Danke nochmals für deine Lösung^^ edit: So, nu hab ich einfach mal ne while-Schleife um das ganze gezogen. Die Aufnahme wird nun immer gestartet, sobald der Button 1 Sekunde lang gedrückt is. Doch (nun komm das große "aber"^^) - dadurch wird "sound file open" natürlich nach "sound file close" wieder gestartet ~ was zur Folge hat, dass die Datei erst wieder verwendet wird. Mit "wait until next ms multiple" auf 20 Sekunden konnte ich auch das lösen -> Die Datei ist dann für ein paar Sekunden freigegeben, bevor sie wieder geöffnet wird. Vermutlich werd ich das dann mit dem Button lösen -> dass "file open" erst ausgeführt wird, wenn der button gedrückt wird. Aber das nur mal nebenbei. Wenn ich die Datei abspiele läuft sie nur sehr kurz... Die Dauer ist fast weniger als eine Sekunde... Sobald ich wieder was neues hab, geb ich bescheid^^ Audio Wiedergabe - Kvasir - 22.02.2007 10:59 Hmm ja. Ein zwei Kinderkranheiten hat das Vi noch. Sorry. War etwas in Eile. Bei mir funktioniert sowas nie auf anhieb. Das mit dem Timer kannst du lösen, indem du ihn einfach in die Schleife davor (Sensor Schleife) reinpackst, anstatt frei im Blockdiagramm. Dann wird der Timerwert genommen, bei dem der Sensor anschlägt. So wie es jetzt ist, wird der Timer sofort ausgelesen. Da sind die 5 Sekunden dann natürlich schon vorbei, wenn du zur Aufzeichnungsschleife kommst. Gruß |