FreeBSD als DAW

Moin,

ich bin gerade dabei mir eine kleine Audio Station aufzubauen und würde gerne dazu FreeBSD nutzen.
Aktuell versuche ich mein Yamaha MIDI Keyboard, was über USB und 3.5mm Klinke angebunden ist an mein Laptop, mit FreeBSD und den Tools zu verheiraten.

Klinke 3.5mm nutze ich deshalb um den NICHT MIDI Teil aufzunehmen :-).
Es gibt bessere möglichkeiten, aber aktuell reicht mir das.
Ist zwar etwas müßig mit dem mixer, aber es geht und es kommt Audio an \o/
Für USB MIDI nehme ich jack_umidi.

Was mir dabei leider aufällt ist, dass viele Tools per Default nicht gegen Jack gebaut wurden, sondern alle Möglichen Audio Schnittstellen verwenden (Portaudio, Alsa, sndio, ...).

Beispiel Anwendungsfälle:

1.) Noten mit MuseScore und MIDI.

Nehm ich das Musescore aus den Packages, dann ist das aktuell nur gegen Portaudio mit OSS gebaut.
OSS unter FreeBSD kann aber MIDI nicht bedienen. TOLL, wer macht sowas.
D.h. Neubauen gegen Jack, wieder 4h verloren wegen Compilen des Tools.

Ich habe nicht herausgefunden wie man mit Portaudio den MIDI Anschluss nutzen kann ?
Braucht man dazu eine MIDI Controller Karte, oder wie ?
Oder gibt es eine Möglichkeit ?

2.) Audio Aufnahme mit Audacity
Auch hier wieder das selbe, kein JACK Support per default.
Ich frage mich was das eigentlich soll.
Man weiß doch das Jack das aktuelle mittel zu Wahl ist, wenn man MIDI nutzen möchte unter FreeBSD.
Wieso sind die Tools dann mal mit Jack und mal ohne Jack Configuriert. WTF.

Was ich aktuell aus den Ports nutzen kann mit Jack ist zrythm.
Das sieht wirklich nach einer guten DAW station für Unix aus.
Leider noch etwas Buggie.

Bei Lmms gibt es zwar die MIDI option über OSS, aber das Funktioniert nicht.

Mich würde interessieren wie Ihr das macht mit FreeBSD als DAW oder MIDI Station.
Und ja, ich weiß man sollte eigentlich für sowas ein MacBook nehmen.
 

PMc

Well-Known Member
Hm, was kann man dazu sagen ausser, tja das ist halt so. Wahrscheinlich ist es nicht nur eine minderheit einer minderheit von Audio-Leuten, die FreeBSD nutzen, sondern auch eine kleine minderheit von FreeBSD Leuten, die DAW machen. Und die übrigen brauchen kein jack.

Ich für meinen Teil nutze jack, auch für normalen Desktop (consumer) - weil man da ein bischen besser sehen kann was sache ist. Aber bis ich da raushatte wie diese Patchbays funktionieren.... Für den durchschnittsuser kommt da dann nochmal eine Schicht konfiguration dazwischen - die die Dinge einfacher macht wenn mans versteht, aber komplizierter wenn man einfach nur Sound im Firefox will (der übrigens jack nativ unterstützt).

Und man kann die Dinger ja problemlos neu bauen.
 

turrican

Well-Known Member
Ich frage mich was das eigentlich soll.
Man weiß doch das Jack das aktuelle mittel zu Wahl ist, wenn man MIDI nutzen möchte unter FreeBSD.
Ich denke FreeBSD (die BSDs generell?) ist nicht die erste Wahl für ne DAW.
Entsprechende externe Hardware (bzw deren Treiber) werden meist nur für Mac bzw Win von den Herstellern erstellt; ggf laufen die mit Glück unter Linux, bzw wenn sich daran jemand schon drangemacht hatte.

Mich würde interessieren wie Ihr das macht mit FreeBSD als DAW oder MIDI Station.
Und ja, ich weiß man sollte eigentlich für sowas ein MacBook nehmen.
Ich hab damit mal vor einiger Zeit expermientiert (unter FreeBSD), bin aber schnell wieder zu Linux zurück - bzw hab das mit Audio und ner DAW ganz aufgegeben.

Hier noch ein Video zum Thema, vielleicht hilfts dir was weiter:

[1] FreeBSD in Audio Studio
 
Hi @turrican ,

das Video/Vortrag hab ich gesehen und das stimmt mich positiv.

Ich habe aktuell das Gefühl das man bei FreeBSD froh ist wenn Audio überhaupt funktioniert.
Bei den ganzen Audio Systemen (sndio, pulseaudio, alsa, ...) blickt man am Anfang nicht durch. Bei Linux sieht es nicht besser aus.

Es wäre ja zumindest mal ein leichtes die ganzen Tools mit Jack als Option zu bauen.

Gab es bei PKGng nicht mal die Idee Flavors einzuführen wie bei pkg unter OpenBSD ?
Dann könnte man die Ports einmal mit Jack und einmal ohne bauen und anbieten.
 

Yamagi

Possessed With Psi Powers
Teammitglied
Och, eigentlich funktioniert Audio unter FreeBSD ganz gut. Besser als unter Linux, als es dort noch kein Pipewire gab und man sich mit dem völlig Pulseaudio rumärgern musste. Allerdings liegt der Fokus ganz klar auf reine Wiedergabe. Wenn man mehr will, wird die Luft schnell sehr dünn und es bleiben eigentlich nur noch USB-Soundkarten...

Gab es bei PKGng nicht mal die Idee Flavors einzuführen wie bei pkg unter OpenBSD ?
Dann könnte man die Ports einmal mit Jack und einmal ohne bauen und anbieten.
Ja, die Ports unterstützen Falvors. Aber der Maintainer des jeweiligen Ports muss sie halt nutzen. Was oft genug nicht der Fall ist. Aber ich will da meckern, ist ja nicht so, dass ich es bei meinen drei verbliebenen Ports machen würde.
 

PMc

Well-Known Member
Ich habe aktuell das Gefühl das man bei FreeBSD froh ist wenn Audio überhaupt funktioniert.
Wie bitte? Nee, das rennt. Ardour5 ist gerannt, Ardour6 rennt auf anhieb, und soweit ich das beurteilen kann, ohne problem (die hier kann ich jetzt zum Schrott bringen).

Bei den ganzen Audio Systemen (sndio, pulseaudio, alsa, ...) blickt man am Anfang nicht durch.
Ja natürlich ist es kompliziert zu konfigurieren, genau das erwarte ich aber von Unix: eine Workstation, wo ich alles selber justieren und verdrahten kann, und eben nicht ein auspacken-und-fertig wo andere versucht haben für mich zu denken.
sndio, pulseaudio, alsa - keines davon hab ich je benutzt oder wüsste was es tut. Mein Spickzettel sagt, ALSA immer ein, die anderen beiden immer aus - aber ob das wirklich richtig ist, weiss ich auch nicht.
Meine Schwierigkeit war vielmehr, die nids für device.hints zu verstehen. Das hab ich dann aufgegeben und stattdessen audio/oss von Ports genommen. Das hat ne GUI und ist recht hübsch (mehr oder weniger farbig je nachdem ob es den soundchip kennt oder nicht).

Es wäre ja zumindest mal ein leichtes die ganzen Tools mit Jack als Option zu bauen.
Ist es auch.

Gab es bei PKGng nicht mal die Idee Flavors einzuführen wie bei pkg unter OpenBSD ?
Dann könnte man die Ports einmal mit Jack und einmal ohne bauen und anbieten.
Wer soll sie anbieten und wem? Und für welche CPU? (llvm macht einen Unterschied zwischen den CPUs, auch schon bei so Kleinigkeiten wie Ivybridge vs. Haswell). Deswegen baue ich für jedes Target extra (und speichere die individuellen options in meinem gitrepo clone).
 

PMc

Well-Known Member
BTW, was kauft man denn jetzt für eine Soundkarte? Egal ob neu oder gebraucht.

An sich reichte mir das üblicherweise onboard Eingebaute (das wäre einmal ALC887 und anderenfalls VT1708S). Aktuell hab ich nun aber ein Board mit zwei CPU-Sockeln und dafür gar keinen Soundchip (nacktes Billig-Serverboard) und natürlich nur PCI-E.
Fürs erste hab ich mir einen USB-dongle bestellt (2.99€ incl. Fracht), und das Ding funktioniert sogar
Code:
uaudio0 numa-domain 0 on uhub0
uaudio0: <C-Media Electronics Inc. USB PnP Sound Device, class 0/0, rev 1.10/1.00, addr 3> on usbus0
und tut, um zu hören was abgeht - aber der Klang ist natürlich zum Davonlaufen, da liefert selbst ein altes Smartphone hundertmal besseres.
 

midnight

OpenBSD & FreeBSD
Ich kann euch empfehlen, mal sndio auzuprobieren. Das ist ein sehr performantes und leichtgewichtiges Audio- und MIDI-Framework. Unter FreeBSD habe ich das allerdings noch nicht ausprobiert.

 

midnight

OpenBSD & FreeBSD
BTW, was kauft man denn jetzt für eine Soundkarte? Egal ob neu oder gebraucht.
Die Juli@ wird gut unter OpenBSD und FreeBSD unterstuetzt und ich habe damit auch gute Erfahrungen gemacht. Zusaetzlich ist die Karte natuerlich auch top, was den Sound angeht. Die kostet natuerlich auch etwas mehr, als eine billige. Ich bin aufgrund der Samplepuffer-Latenzen kein Fan von USB-Soundkarten, auch wenn diese nur gering sind. Wenn man dann noch eine billige Soundkarte hat, sind die ADC- und DAC-Bausteine auch langsamer als bei teureren und dann addieren sich sich die Latenzen, was man dann als knacken wahrnimmt.
 

PMc

Well-Known Member
Die Juli@ wird gut unter OpenBSD und FreeBSD unterstuetzt und ich habe damit auch gute Erfahrungen gemacht. Zusaetzlich ist die Karte natuerlich auch top, was den Sound angeht. Die kostet natuerlich auch etwas mehr, als eine billige. Ich bin aufgrund der Samplepuffer-Latenzen kein Fan von USB-Soundkarten, auch wenn diese nur gering sind. Wenn man dann noch eine billige Soundkarte hat, sind die ADC- und DAC-Bausteine auch langsamer als bei teureren und dann addieren sich sich die Latenzen, was man dann als knacken wahrnimmt.
Danke, ja, das ist vom Stil her schon sowas was mir gefallen könnte. Aber die ist offenvar auch nur PCI/PCI-X - und genau das ist das Problem, dass ich nur noch PCI-E hab. Für PCI hätt ich noch irgendwo was rumliegen.
In der Matrix ( PCI-E && 8-kanal && RCA-stecker && nicht gleich teurer als das ganze Serverboard ) sieht es offenbar eher schlecht aus. Da hab ich bisher nur diese gefunden, darüber weiss man aber nichts, die 8-kanal version ist kaum zu kriegen, und kostet ansonsten wirklich mehr das das Board. :(
 

midnight

OpenBSD & FreeBSD
Danke, ja, das ist vom Stil her schon sowas was mir gefallen könnte. Aber die ist offenvar auch nur PCI/PCI-X - und genau das ist das Problem, dass ich nur noch PCI-E hab. Für PCI hätt ich noch irgendwo was rumliegen.
In der Matrix ( PCI-E && 8-kanal && RCA-stecker && nicht gleich teurer als das ganze Serverboard ) sieht es offenbar eher schlecht aus. Da hab ich bisher nur diese gefunden, darüber weiss man aber nichts, die 8-kanal version ist kaum zu kriegen, und kostet ansonsten wirklich mehr das das Board. :(
Guckst Du hier: https://www.esi-audio.de/produkte/juliaxte/

Die Juli@ XTe ist die PCIe-Version und wird auch von FreeBSD unterstuetzt.
 

cabriofahrer

Well-Known Member
Ardour6 rennt auf anhieb, und soweit ich das beurteilen kann, ohne problem
Ich kenne mich damit überhaupt nicht aus und der Thread hat jetzt mein Interesse geweckt. Ich habe einfach mal ardour6 installiert und wollte etwas aufnehmen, ich habe nur ein einfaches Mikro von einem Headset in den Onboard Soundchip gestöpselt und mit audacity funktioniert es, aber mit Ardour6 nicht:

Code:
JACK compiled with System V SHM support.
cannot use real-time scheduling (FIFO at priority 10) [for thread 9162752, from thread 9162752] (1: Operation not permitted)
cannot create engine
connect(2) call to /tmp/jack-1001/default/jack_0 failed (err=No such file or directory)
connect(2) call to /tmp/jack-1001/default/jack_0 failed (err=No such file or directory)
connect(2) call to /tmp/jack-1001/default/jack_0 failed (err=No such file or directory)
connect(2) call to /tmp/jack-1001/default/jack_0 failed (err=No such file or directory)
connect(2) call to /tmp/jack-1001/default/jack_0 failed (err=No such file or directory)
attempt to connect to server failed
 

PMc

Well-Known Member
Jajajaja. lach Ardour ist nicht einfach ein Recorder, sondern spielt schon fast in der Klasse von Digidesign ProTools. Das ist eher sowas in der Art, und selbstverständlich kann man das auch als einfachen Recorder mißbrauchen, aber man muss schon ein bischen was konfigurieren...

In Deinem Fall sieht es so aus, als ob der jack server nicht läuft. Versuch mal sowas wie das hier in die rc.conf zu werfen (-C und -P options erstmal weglassen, vielleicht stimmen ja die defaults - das hier ist für ports audio/oss):
## jackd_enable="YES"
## jackd_user="pmc"
## jackd_rtprio="YES"
## #jackd_args="-r -d oss -r48000 -p1024 -n3 -w16 -C /dev/dsp7 -P /dev/dsp3"
 

PMc

Well-Known Member
Ups, sorry, war ne weile nicht da.
Nein, das sollte da nichts ändern. Die device files für -C(capture) und -P(play) müssen halt die richtigen sein, aber das ist eh hardware-abhängig.
Einfach mal anstarten, und wenn er laufen bleibt ist es schon recht gut. Dann kann man im grafiktool (audio/qjackctl) gucken was Sache ist. (Im englischen Forum hab ich ein Bildchen wie das aussehen sollte, aber da komm ich grad nicht ran.)
 
So,
ich hab jetzt mal Ardour6 installiert (diesmal startet das Programm, frühere Versionen sind immer mit SegFault abgestürzt).
Es funktioniert mit Jack auch einigermaßen gut. Aufnahmen und Abspielen über MIDI von/ans Ext. Keyboard geht. \o/

Die Auswahl der Voices mittels PatchBank Befehl geht und auch SysEx Init.
Leider kann ich aktuell keine Registrierbank wechsel per MIDI ans Keyboard übertragen.
Woran das liegt weiß ich nicht. Die Werte für LSB, MSB und Bank stimmen aber.
Selbst ein Record der MIDI Befehle vom Keyboard in den Ardour Track hilft nicht. Es werden alle möglichen MIDI Commands gespeichert, aber kein Bank Wechsel wird interpretiert. Und ja, im Keyboard steht der MIDI Port auf dem Eingangskanal auf "Keyboard" und nicht auf Song.

In der Zwischenzeit hab ich noch folgendes Tool gefunden: https://www.qtractor.org/
Leider noch nicht in den Ports. Ich wollte es selber bauen, aber bekommen noch einiger Fehler die ich erst noch überwinden muss,
 
Oben