Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Hi Jungs.
Ich habe ein Problem an dem ich schon längere Zeit sitze.
Ich habe mehrere Audiofiles die nacheinander abgespielt werden. Teilweise überlagern sich die Audiofiles auch.
Ich habe eine Ausgabe, die die Aufiofiles abspielt aber es ist mir nicht möglich die Audioausgabe die ich höre auch in eine Datei zu schreiben.
Audioaufnahme vi klappt nicht. Audioschreiben dazu fehlen mit dir Refnum Daten.
Ich würde mir eine Funktion wünschen, der ich die Aufnahme dauer angeben kann.
Gibt es da vielleicht eine Funktion die ich noch nicht kenne?
also nochmal etwas genauer formuliert: Ich möchte mehere Signalverläufe mit unterschiedlichen Startzeitpunkten (to) zu einem Signalverlauf zusammenmischen. Dabei soll aber der zeitliche Versatz erhalten bleiben. Einfach addieren geht leider nicht, da ja die Arrays ja unterschiedlich lang sind. Bitte um Hilfe!!
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Audioaufnahme speichern
:bahn:Wer startet Deine Audiofiles und wo willst Du sie zusammenfassen. Kannst Du mal Dein VI hochladen?
Und nochmal (nach Jens): . LabVIEW 8.05 gibt es nicht!
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
' schrieb::bahn:Wer startet Deine Audiofiles und wo willst Du sie zusammenfassen. Kannst Du mal Dein VI hochladen?
Und nochmal (nach Jens): . LabVIEW 8.05 gibt es nicht!
Gruß Markus
Hallo.
Also ich arbeite mit Bronzo am Selben Projekt.
Wir können das VI leiden nicht hochladen, es ist viel zu groß und würde nicht funktionieren. Aber ich kann was zur Funktion des VIs sagen: Eine WhileSchleife schreibt mit jedem Zähler einen Signalverlauf in ein Queue. Die Signalverläufe entsprechen gelesenen Audifiles. Die Signalverläufe haben zueinenander eine Verzögerung abhängig von der Geschwindigkeit des Sequenzers, zB. 200ms. Diese ist gewollt.
Das Queue legt für jeden Schleifenzähler einen Signalverlauf ab. Es entsteht ein Array aus Signalverläufen.
Die Aufgabe ist nun aus den aus dem Queue ausgelesenen Signalverläfen einen Signalverlauf zu erzeugen der gespeichert werden kann...wie die Export oder Bounce Funktion bei Cubase, Ableton, Logic usw.
Wenn nun ein Signalverlauf länger als diese 200ms ist, muss aber der nächste trotzdem bei 200ms starten und darf den anderen nicht abschneiden.
Hab ein Bild von dem Ausgang des Queue hochgeladen. Jede Farbe steht für einen anderen Signalverlauf. Daraus soll einer erzeugt werden.
' schrieb:...nicht hochladen, es ist viel zu groß und würde nicht funktionieren ...ein reduziertes Beispiel mit dem grundlegenden Problem würde schon gehen...
... soll einer erzeugt werden. ...denn aktuell würde ich sagen, das es genauso wie in meinem Beispiel zum Addieren funktioniert, nur halt das diesmal nicht hinten verlängert wird...
viel Erfolg
1Postingempfehlungen, 2Motivation Fragen und Anpassungswünsche per PM werden, gegen Rechnungsstellung gerne beantwortet und realisiert ....wenn's dann doch kostenlos sein soll... bitte hier im LVF unter Berücksichtigung der voranstehenden Links posten.
So unser Projekt ist fertig. Ich hab mal den Sequenzer hochgeladen. Für Verbesserungsvorschläge währe ich dankbar. Insbesondere die Verwendung der Knotenpunke war ziemlich aufwendig, wer da eine bessere Idee hat dies zu realisieren soll bitte ein Kommentar hinterlassen.
Ich hoffe alle benötigten vi's sind dabei. Falls nicht, bitte melden. Die exe befindet sich ebenfalls im ZIP.
Wenn Kommentare gewünscht werden, dann geb ich mal meine dazu ab.
1) cooles GUI! Gefällt mir persönlich sehr gut.
2) ich beneide euch um euren 80'' Monitor. Ich hab hier nur zwei 17'' Monitore. Und da kann ich nicht annähernd erahnen, wie euer Code aussieht und was er macht. Er würde sich über 10 Monitore erstrecken. In kurz -> Code sollte auf einen Monitor passen! Wenn das nicht geht, dann sollte man sich das Konzept überdenken. Eine Statemachine ist immer ratsam. Da kann pro Frame eine explizite Aufgabe stehen, die dann auch schnell verstanden werden kann.
2a) eine Statemachine lässt sich auch besser warten. Euer Code ist schlecht bis gar nicht erweiterbar.
3) exzessiver Gebrauch von PropertyNodes (keine Ahnung wie es im D-LV heisst) sollte vermieden werden, da diese enorm Performance benötigen.
4) die Variablen "1", "1 2", "1 3" hätte wahrscheinlich (ich seh den Code nicht so genau, darum kann ich es nicht genau sagen) in einen Cluster gesteckt. Und diesen dann als Control definiert, wahrscheinlich auch als Strict Type Def, dann hätte ich die GUI anpassung nur in diesem Control machen müssen und nicht auf dem FP für jedes Element.
5) ich hätte die GUI Control von der Logik getrennt. Einen Controller für die GUI und einen/mehrere für die Logik. Somit lässt sich beides besser, schneller und sauberer erweitern und warten.
Das in aller Kürze & ohne konkreten vorschlag.
und nochmal: cooles GUI ;-)
schönes WE
Christian
In theory, there is no difference between theory and practice; In practice, there is.