Audio hardware for BeagleBone

We have discussed some hardware variants for the System für kontinuierliche Audio-Aufzeichnung (BOB Projekt, Phase 1) . The BeagleBone seems to be a suitable board for our requirements. Let’s have a look how we can use audio hardware on the BeagleBone.

Hardware

USB Sound Card

The BeagleBone has an USB host adapter. So you can use a lot of “USB sound cards” on the board.

Special Audio Capes

What the shield for an Arduion is or the Hat for RasPi, is the cape for BeagleBone – a stackable adapter board in addition to the main board. I found some Capes for Audio. As far as I can see it has mostely the same functionality as the USB sound card but in an nicer and more compact form factor when it is stacked on the BeagleBone.

Not Audio Specific Prototyping

For simple prototyping you can use this breadboard typ Proto Cape

and for Grove components

Software

I2S

Some audio software hints for this cape:
http://www.aerodynes.fr/2014/06/04/beaglebone-black-audio-cape/

@caro hat am Telefon nochmal die Idee erwähnt, mehr als einen Kanal aufzunehmen. Das wird vermutlich nicht für alle Standorte schon auf Grund der Anbindung möglich sein, Das könnte aber an einigen Stöcken erfolgen.

Dazu ist mir die ReSpeaker-Serie von Seeed eingefallen, die verbauen mehrere Mikros, vielleicht kommt man an die Sounddaten einfach ran und könnte das nutzen. Leider viele “Hats” nur für den nicht so stabilen RasPi:

Hier gibt es auch etwas komplettes, das ist Debian basiert:

und eine andere Version (v1?), die basiert auf OpenWRT

Unsere Vorschläge für das Audiocape sind
Cape4All: https://opensource.com/article/18/7/open-hearing-aid-platform
oder CTAG Face: CTAG FACE and BEAST Multichannel Audio Systems | Hackaday.io

jeweils nur mit der Input-seite bestückt. Was meint ihr, welches wäre besser?

1 Like

Die Varianten von CTAG habe ich @clemens bereits vorgeschlagen, irgendwie hatte er das ignoriert… ;) Schön, daß Ihr für Phase 1 gleich an Interfaces denkt, die auch 24 bit können.

Die Entwicklungen von CTAG waren bislang die einzigen capes, die auch 24bit anboten, und ihre codec-ICs sind bereits länger schon im mainline Linux-kernel.

CTAG FACE and BEAST Multichannel Audio Systems | Hackaday.io (läßt sich nicht tiefer verlinken; auf das Bild vom cape klicken)

Das cape ist Bela.io -kompatibel, dort kann man es auch erwerben.

https://shop.bela.io/ctag/ctag-face

Das Cape4All verwendet den ADAU1761, das CTAG face den AD1938, welche sehr ähnlich sind (auch preislich); der letztere hat dabei die etwas besseren ‘audiophilen’ Werte. Der ADAU1761 wartet hingegen mit eingebautem biasing für Electret-Mics auf, dies jedoch ist der trivialste Unterschied und sollte die Entscheidung nicht beeinflussen (da Elektret-Speisung sehr simpel selbst realisiert werden kann).

Das CTAG Bela cape (der ‘Vorgänger’ auf Basis des TLV320AIC3104) nutzt einer meiner Musiker-Freunde auch auf der Bühne (als spezialisiertes Multieffekt-Gerät und Looper), hier kommt die Sub-Millisekunden-Latenz dieser Kombination zusammen mit einem RT-kernel gut zum Tragen: man muß sich halt nicht mehr mit die Linux-eigenen Latenzen beschäftigen (clicks, drops usw.) und hat keinerlei Phasenprobleme. Mit Bela schafft das Ding dann 1ms Latenz, und unter ALSA auch noch etwa 3ms. Die Latenz ist bei dieser Anwendung hier nicht das Problem, wohl aber ein möglicher Phasenfehler bei Mehrkanalaudio (was @tox gewiß interessiert). - Das Cape4all konnte ich aufgrund seiner Neuheit noch nicht selbst begutachten - immerhin ist es aber etwas, das in der gleichen Liga wie das CTAG face spielt.

Das Cape4all hat bereits Mikrofon-Eingänge auf dem cape realisiert, während das CTAG ein- und ausgangsseitig universeller aufgebaut ist. Für reine Elektret-Anwendungen könnte daher das Cape4All schneller zum Erfolg führen; sobald andere Sensoren (z.B Piezos) angedacht sind, müssen ohnehin die einzelnen Analogkanäle anders konditioniert werden, hier ist das CTAG im Vorteil, da man die ‘channel strips’ selbst in der Hand hat.
Das CTAG läßt sich leicht doppeln und somit die Anzahl der Ein- und Ausgänge ebenfalls verdoppeln, sofern nötig (dann allerdings Treiberanpassung erforderlich).

Zum Pegeln und ggf. zusätzlichem lokalem monitoring wirst Du einen analogen Ausgang ohnehin haben wollen, und die OpAmps der Ausgangstreiber resp. headphone-amp dafür machen am Preis kaum etwas aus. Und an den Codec-ICs selbst kann man die output-Seite nicht einfach weglassen, die ist fest eingebaut! ;)

1 Like

Wäre denn das (günstigere) bela-Cape mit Bela Audio Expander Capelet auch eine Option für unsere Zwecke?

Das müßt Ihr beurteilen, da ich nicht die dazugehörigen Prioritäten für Euch setze. ;)

Sofern Ihr mit 16bit-Audio bei 44.1 kHz klarkommt - natürlich. Ihr profitiert dann bei “Anforderung: Elektret” ebenfalls von dem eingebauten (schaltbaren) Elektret-Biasing, außerdem kann man die AGC des TLV320AIC3104 (s. Datenblatt) nutzen, bei 24bit würde man diese Dynamikänderung vielleicht lieber in Software machen (denn auch diese AGC ersetzt kein peak stop limiting). - In jedem Fall ist auch dieser Codec-IC ebenfalls im mainline Linux.

Das cape hat außerdem je einen AD7699 (16bit- 8-Kanal ADC) sowie einen AD5668 (16bit- 8-Kanal DAC), die noch kleineren Latenzen als der TLV320 schaffen und für anspruchsvolle Sensor- und Aktor-Aufgaben verwendet werden können.

Bela benutzt, um diese geringen Latenzen und jitter-freie Synchronisation mit den ADC- und DAC-ICs zu schaffen, die Xenomai realtime-Linux-Erweiterung sowie die beiden PRUs in der Sitara-CPU des BBB. - Mit einem “normalen” kernel kann man bei beiden capes ALSA als Treiberschicht verwenden.

Dieses cape wurde als “BeagleRT” auf der AES convention 2015 vorgestellt:
An Environment for Submillisecond-Latency Audio and Sensor Processing on BeagleBone Black (pdf) - dort alle weiteren Details zu diesem cape.


news: ich darf mir dieses cape kurz vom Kumpel ausleihen und möchte vorher versuchen, keinen Xenomai-RT-kernel, sondern mainline mit den nötigen codec-Treibern zu bauen und zu sehen, ob der bei bela unter Xenomai verwendete device tree insbesondere für dieses cape 1:1 bzw. vertretbaren Änderungen für einen “normalen” kernel verwendbar ist.

1 Like

Tiptop, danke! Ich bin gespannt auf weitere Neuigkeiten von Euch.

Huhu, hat sich hier was neues ergeben? Hast du deine Tests durchgeführt, weef?

@tox fragte auch gerade nochmal nach, ob du dazu gekommen bist hier mal unter die Haube zu schauen.

Das wäre wirklich toll, dann muss ich mich nicht mit den Kernelbauarbeiten rumschlagen. Darf ich diesbzgl. trotzdem kurz nachhaken, ob zu erwarten ist, dass das Audio dann ganz normal per ALSA rausfällt, damit Saraswati [1] es per GStreamer aufschnappen kann?

[1] GitHub - hiveeyes/saraswati: Saraswati is a robust, multi-channel audio recording, transmission and storage system

Wie schaut es denn mit Line- vs. Mikrofoneingängen aus? Das ist doch bei den boards unterschiedlich. Macht es dann Sinn ein board / cape mit Mic-Eingängen zu nehmen, damit wir uns nicht noch um den Vorverstärker kümmern müssen?

Nochmal konkret, es geht um 4 (mono) Kanäle, die wir für (optionales?) Ambisonic brauchen.

Vom cape4all habe ich nur Design-Files gefunden. Gibt es das überhaupt fertig zu kaufen? [edit] Auf der github-Seite ist die HörTech gGmbH genannt. @Caro, du hattest doch wegen Bestückung / Verkauf schon mal irgendwo nachgefragt, war das bei denen?

Das CTAG Face Cape für £ 175 hat 4 Kanäle, wie viel hat das Bela Cape für £ 70? Steht hier nicht explizit Hardware explained · BelaPlatform/Bela Wiki · GitHub ich vermute aber nur 2, oder?

1 Like

By checking out what Robin Scheibler is actually doing (via Audio-Analyse per FFT mit dem ESP32, thanks @clemens!), I recognized he is working on stuff which might well resonate with what @tox is aiming at. Maybe @weef also might want to have a look as I don’t even have a clue about chips like the STA321MP audio processor or any of her sisters.

Please check this out:

This also looks impressive, but might well be oversized regarding our requirements:


@clemens, ja ich hatte HörTech angeschreiben, die haben sich aber nie gemeldet. Ich habe einen Fertiger hier angefragt wegen den Cape4all, die würden uns die bauen.

Was würde uns die Fertigung kosten? Und sind die schnell genug (z.B. wegen Teilezulieferung)? Das Bela Cape hat nur 2 Kanäle, oder? D.h. das scheidet aus und wir müssten uns dann zwischen CTAG und cape4all entscheiden. Weil es das cape4all nicht fertig gibt würde ich zum CTAG tendieren, ausser der Preis macht uns da ein Strich durch die Rechnung.

@Andreas versucht es nochmal telefonisch bei HörTech, ob die doch noch eine Hardware-Quelle für fertige capes haben.

Hier noch Infos zum Cape4all aus anderer Perspektive: Cape4all: Hörgeräte sollen von Open Hardware profitieren | heise online

Nein, für das Bela gibt es das Bela Audio Expander Capelet, das hat 6 Audio-Ins. Fertigungszeit für das Cape4All waren im September 12 Wochen, keine Ahnung wie deren Auftragslage jetzt ist. Preislich lägen wir auch in etwa bei 130€ pro Stück, so wie Bela+Audio Expander.

Freitag ab eins macht jeder seins. Ich versuche es am Montag nochmal.

…steht dort explizit:

Audio Input: 16-bit stereo audio input at 44.1kHz

außerdem:

With the audio expander caplet it is possible to extend Bela to have six audio inputs and six audio outputs for audio heavy projects.


Klar, darum geht es.

1 Like

Just to let you know. It’s just about the Starter Kits, but some of you might be interested in that.

https://blog.bela.io/2019/02/04/bela-flash-sale-february/