Welches Audioprogramm kann csv-Dateien abspielen?

Gast #7728479
Lesenswert?

Ich möchte eine Baugruppe mit analogen Signalen versorgen, die per PC abgespielt werden und dazu einfach die Soundkarte benutzen.

Die Daten werden halbautomatisch aus Messungen erzeugt und liegen als Excel vor.

Jetzt brauche ich einen Audio Abspieler, der die Daten im csv-Format abspielen kann, oder wenigstens direkt Importieren.

(Firma: RUB) #7728493
Lesenswert?

Simon R. schrieb:

Jetzt brauche ich einen Audio Abspieler, der die Daten im csv-Format abspielen kann

Viel spaß beim suchen... um es kurz zu machen: CSV ist kein Audioformat, ergo wird kein Mediaplayer CSV lesen/importieren/interpretieren können. Was ist das auch für eine Schnappsidee. Schreib dir selber was, mit Python oder so, was dein Problem löst. Mit allem anderen verlierst du nur Zeit.

#7728499
Lesenswert?

Simon R. schrieb:

... Jetzt brauche ich einen Audio Abspieler, der die Daten im csv-Format abspielen kann, oder wenigstens direkt Importieren.

Du musst die *.csv Datei in ein rohes Datenformat umwandeln. Ich gehe davon aus daß der Zahlenbereich den Audiobereich nicht verlässt. Ganze Zahlen.

Dann kannst du zB. mit Audacity die Rohdaten abspielen. Musst halt mit der Abspielgeschwindigkeit etwas herumtüfteln.

Suche mal nach einem Onlineprogramm welches CSV Dateien in binäre Rohdaten konvertieren kann. Oder du schreibst dir einen Script der das für dich macht.

#7728512
Lesenswert?

Simon R. schrieb:

Jetzt brauche ich einen Audio Abspieler, der die Daten im csv-Format abspielen kann, oder wenigstens direkt Importieren.

Wenn deine CSV ein WAV implementiert, wäre jedes Audioprogramm dazu in der Lage.

Kann es sein, dass der gewählte Weg etwas ungünstig ist?

Simon R. schrieb:

Die Daten werden halbautomatisch aus Messungen erzeugt und liegen als Excel vor.

Dann sollte man sich ein Makro für Excel ausdenken, das eine WAV-Datei erzeugt und nicht einfach nur die Tabelle als CSV speichert. Das kann nicht sooo schwer sein. Der Aufbau des WAV-Datenformat ist frei zugänglich: https://de.wikipedia.org/wiki/RIFF_WAVE

Moderator #7728529
Lesenswert?

Kaj G. schrieb:

Schreib dir selber was, mit Python oder so, was dein Problem löst

Gerade getan (s. Anhang) :)

Die CSV-Datei terz.csv enthält für jeden der beiden Stereokanäle einen Sinuston im Abstand von einer Terz. Abgespielt wird die Datei mit

1
python3 playcsv.py terz.csv

Neben Python muss noch PyAudio installiert sein.

Angehängte Dateien:
#7728628
Lesenswert?

Man könnte auch Csound einbinden, wenn man unbedingt ein "Audiofile" haben will. Eine andere Sache ist, VBA und die Windowsfunktionen einzusetzen. Die Windows-Sounddateien selber kann man auch noch mal frisieren (bzw. erweitern) - wobei das Handling dann über die vorbereiteten Samples läuft.

Früher für die 68000er oder für DOS gab es Text to MIDI und umgekehrt, oder verschiedene andere Spielereien in diesem Zusammenhang bis hin zu Kompositionshilfen.

Darüberhinaus bräuchte man noch irgendwo eine Analog zu Digital - Umwandlung bzw. umgekehrt, weswegen die oben angesprochenen Sequenzer / Audioeditoren oder eine passende Hardware nahelegend sind. Früher konnte man für dies und das auch noch den Windows - Soundrekorder einsetzen. Ein einfaches Programm um Klänge aufzunehmen oder abzuspielen.

Früher war auch noch MIDI direkt eingebunden, heute leider nicht mehr, damit hat man bei den Handys wohl noch etwas mehr Glück.

Gast #7728658
Lesenswert?

Micha I. schrieb:

Du musst die *.csv Datei in ein rohes Datenformat umwandeln. Ich gehe davon aus daß der Zahlenbereich den Audiobereich nicht verlässt. Ganze Zahlen.

Das ist natürlich klar und sollte mit Excel auch kein Problem darstellen.

Dann kannst du zB. mit Audacity die Rohdaten abspielen. Musst halt mit der Abspielgeschwindigkeit etwas herumtüfteln.

Dazu muss man erst händisch importieren. Kriege ich natürlich hin.

Es wäre aber super, wenn es ein Programm gäbe das die CSV direkt lesen, skalieren (klar) und auf der Soundkarte ausgeben könnte - ohne den manuellen Schritt. Wahrscheinlich muss man da aber selber ran.

Aus der Erinnerung weiß ich nur, das MATLAB direkt mit RS232 kommunizieren kann, wenn man die Matlab-GUI entsprechend erstellt. Das müsste auch mit dem Audio-Treiber gehen, hoffe ich.

[Beleidigung gelöscht, sowas muss nicht sein. - Mod.]

(Firma: Privat) #7728814
Lesenswert?

Simon R. schrieb:

Die Daten werden halbautomatisch aus Messungen erzeugt und liegen als Excel vor.

Würde mich mal interessieren, wie sowas aussieht. Könntest du mal ein paar Sequenzen hier posten und evtl kommentieren ?

Es gibt da ja BASIC Sprachen, die einiges unterstützen, sei es nun midi, ogg oder einfach nur Sequenzen und Dauer.

Mist, der Spieltrieb hat mich mal wieder gepackt.

#7728877
Lesenswert?

Noch eine Idee. Audio als ASCII-Text abzuspeichern ist wirklich das dümmste...

Man könnte mit Excel oder Libre Office Calc die csv-Datei einlesen und in ein Intel-Hex oder Motorola S-record umgeformt ausgeben. Das kann jede Eprommer-Software lesen und als Binärfile abspeichern. Die kann dann ein Arduino mit einem DAC als Töne ausgeben.

Oder man setzt mit dem Hexeditor die Präambel eines WAV-Files davor (weiß nicht ob das so geht, ich habe mal so Pixelgrafik in BMP umgeformt).

(Firma: Privat) #7728894
Lesenswert?

Solange wir nicht vom TO wissen, wo die Messungen herkommen und was genau die Daten beinhalten, ist es nur ein Rätselraten. Die Messungen bzw. Daten könnten ja schließlich auch von einem Gerät erzeugt worden sein, das sie per RS232 oder USB ausgibt oder bestenfalls in eine Datei auf einer Micro-SD karte schreibt. Das einzige, was schon mal feststeht, ist, daß es mindestens 2 Spalten mit Daten gibt. Sonst gäbe es ja auch keine .csv Datei. Das andere muß man sehen. Evtl. kann man über RS232 abgreifen, umwandeln wenn nötig, und als Sound wieder direkt ausgeben.

Mit so wenig Informationen kommen wir halt nicht weiter. Warten wir mal ab, ob noch was vom TO kommt.

(Firma: Q3) #7728960
Lesenswert?

Ich glaube kaum, dass der TO Samplingdaten per CSV abslielen will, das wäre wohl ziemlich absurd. Ich vermute, dass in dem CSV Frequenzen und Timings drin stehen ... oder?

Aber das soll er mal bitte selber präzisieren, bis dahin ist die Diskussion ziemlich fruchtlos ...

(Firma: Privat) #7729039
Lesenswert?

Mittlerweile denke ich auch, daß die Daten von einem Gerät stammen und einfach nur Frequenz und Duration paarweise aufgelistet sind. Solche Geräte werden wohl kein MIDI WAVE oder sonstas kennen bzw. können. Da es ja eine Windows-API dafür gibt, gestaltet sich die Ausgabe doch sehr einfach :

1
Function Ton& Lib "kernel32" Alias "Beep" (ByVal dwFrequenz As Long, ByVal dwDauer As Long)
2
Ton&(440, 360) ' gibt Kammerton A 1 Sekunde lang aus

Wenn man die .csv dann Zeile für Zeile ausliest (Schleife), beide Werte in Zahlen umwandelt (Val) und mit obiger Funktion ausgibt, ist man schon am Ziel. Man muß halt nur schauen, wie Duration definiert ist. Und Pausen dazwischen kann man mit einem Sleep machen.

Das geht mit fast jeder Sprache oder mache es direkt in Excel + VBA.

#7729042
Lesenswert?

Kaj G. schrieb:

um es kurz zu machen: CSV ist kein Audioformat, ergo wird kein Mediaplayer CSV lesen/importieren/interpretieren können.

Danach hat er auch nicht gefragt! Wenn du keine Antwort weist, wieso musst du dich dann melden?

Der TO könnte die CSV durch Excel aber in ein Audioformat exportieren. Die Audiowerte hat er ja immerhin als Zahl in der Tabelle.

#7729048
Lesenswert?

Jens K. schrieb:

Der TO könnte die CSV durch Excel aber in ein Audioformat exportieren. Die Audiowerte hat er ja immerhin als Zahl in der Tabelle.

Der TO könnte alle möglichen sinnvollen und naheliegender Lösungen nutzen. Will er aber nicht.

Simon R. schrieb:

Es wäre aber super, wenn es ein Programm gäbe das die CSV direkt lesen, skalieren (klar) und auf der Soundkarte ausgeben könnte - ohne den manuellen Schritt.

Oliver

#7729183
Lesenswert?

Monk schrieb:

Für mich klingt das anders als "will er aber nicht".

Will er ja auch nicht. Er braucht eigentlich noch ein Zwischending. Also den Teil, den der Audioeditor erledigt, wenn du nur Zahlen hast, und die dann als Wavefile o.ä. haben willst. Python oder Csound sind schon mit solchen "Schnittstellen" vorbelastet, wo man das händische weglassen kann. Die Windows-API eigentlich nicht.

Auf sequenzer.de gibt es auch keine so schlechten Hinweise: https://www.sequencer.de/synthesizer/threads/wie-entwickelt-man-softsynths.123326/

Gast #7729594
Lesenswert?

Heinz B. schrieb:

Würde mich mal interessieren, wie sowas aussieht. Könntest du mal ein paar Sequenzen hier posten und evtl kommentieren ?

Nein, sind Firmendaten. Da ist aber auch nichts Großartiges dran:

Wir haben synthetische und realen Messprotokolle. Die einen vom Logger, die anderen aus MATLAB. Die werden auf die Baugruppen losgelassen. MATLAB deshalb, um die Szenarien zu erzeugen, die es real kaum gibt, aber theoretisch auftreten können.

Rbx schrieb:

keine so schlechten Hinweise:

kenne ich, kostet aber Zeit, das zu entwickeln.

Es muss wie immer schnell und billig gehen.

(Firma: Privat) #7729641
Lesenswert?

Simon R. schrieb:

Nein, sind Firmendaten. Da ist aber auch nichts Großartiges dran:

Verstehe ich dann auch, daß man die nicht rausgeben darf. Ob nun großartig oder nicht : es ist halt was Spezielles. Da wird sich wohl kaum ein Standardprogramm wo das kann, finden lassen. Da mußt du oder die Firma halt selber ran.

Vielleicht muß du da eine Art Matrix, die bestimmte Bereiche abdeckt, basteln und damit umwandeln. Die Windows-API zum Tonerzeugen hatte ich ja oben bereits erwähnt.

Ich könnte mir da sowas wie ein Voltmeter vorstellen, wo ein Programm nach Ausgabe, je nach Bereich gewisse Kammertöne erzeugt. z.b. Nidriger Voltbereich - dumpfe Brummtöne je höher der Bereich, je höher die Töne

Ich wünsche viel Erfolg dabei.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren