Audioinjector Zero

0 views
Skip to first unread message

Shane Rouse

unread,
Aug 5, 2024, 1:33:43 AM8/5/24
to taimeatidis
Decentinstructions and specs, for a start ? Australia seems to have a vibrant electronics tinkering community, and Matt Flax of audio-injector has come up with a dinky little recording sound card suitable for the Pi Zero, without the sort of stupendous kernel-compiling hurt associated with the now discontinued, Wolfson/Cirrus sound card. Matt even used Cirrus tech under the hood, kudos to him for making it work in the Pi environment- I guess the Pi has advanced in standardising add-on gizmos too.

You can buy the AudioInjector Zero from Australia, only to discover postage is about as much as the sound card, so Google helped me discover that you can get it in the UK from Amazon, who drop-ship it at a much more acceptable price of 12.50 delivered free if the total order is > 20. So I go get one.


There are no GPIO pins on either the zero or the audioinjector zero but the GPIO is present on the zero and used by the AI board. The user must install the connector but several configurations and connector styles are possible so it is not included, except that recently the RPi zero is offered with a pre-installed connector. As either or both can be used by soldering wire connections, your comment is incorrect.


The zero includes hardware to facilitate stereo audio capture and playback, headphone playback and electret microphone capture. It includes IO breakout boards, cables, headers, audio connectors and the microphone. The headers aren't populated so that you can integrate this small sound card into your designs and wire at will.


Fresh a Patchbox OS image (works but hangs when I connect or boot with a usb sound card, does not hang with audio injector zero, but is super slow to ssh in to etc). Also an image of my SD from the Pi 3b+ with audio injector zero already setup. (that former works, but is terribly glitchy)


Official PiKVM V3, V4 Mini and V4 Plus devices have an exclusive audio transmission feature.Audio is transmitted over an HDMI cable from the target host to PiKVM as if it were a regular monitorwith speakers, and then from PiKVM to a web browser in WebRTC video mode.This brings the user experience of working with a remote host even closer to the local one.


Make sure that you have not removed the audio jumpers (4) on the V3 HAT board and have not deleted or commented the dtoverlay=tc358743-audio line in /boot/config.txt. Return everything as it was, if you changed it.


In Linux, everything depends on the distribution you use. In ancient times, audio required performing a ritual dance on a full moon. For now, a working Pipewire or Pulseaudio most likely be enough. Just specify HDMI as the audio sink in the mixer.


To receive audio in the PiKVM Web UI, go to the System menu and switch the video mode to H.264 / WebRTC.If everything is in order, the volume slider will appear. Set the volume to a non-zero value.The video stream will restart and you should start hearing sounds from the target host.


Besides, when the page is reloaded, the volume slider will be reset to zero.Saving this setting is not possible due to browser limitation that do not allow web pages to play audioimmediately after opening without user activity to protect against annoying ads.


Yesssss, making some good progress here! It's been a wild adventure already. I am very grateful Patrick already did the heavy lifting on the Audio Injector Octo card in his vGuitar project, because it took me a while to get it to work properly.


When I started to use some of his code I knew zero about i2s or DMA. Niks, nada, noppes. And to be honest, I still don't fully understand it, but after staring at the code for hours, I now have at least superficial understanding of how it works, and can go on to the next steps to be taken. Right now only 2 output channels are working using a modified version of circle's built in i2s output code. Patrick actually rewrote it into something he could use with the Teensy audio library. There is a chance I might make something similar myself in the future when I want to get audio input working. The reason why it doesn't work out of the box with circle's code is because the Audio Injector should be the i2s master, and the circle code is made for the Pi to be the i2s master. It took some poking around to get things working. But like I said, thanks to Patrick for figuring out the CS42448 initialisation part, and the part to make the pi accept a master clock from the i2s bus.


The second reason is that the Octo actually uses something called TDM, that is to my understanding taking abuse of the i2s protocol to transfer more than 2 channels. Apparantly i2s was only designed for transporting two channels simultaneously. TDM is a way to get multiple channels working over the i2s bus.


The entire project now seems very promising since it left the theoretical concept stage. I've been giving the gui some thought as well, and think I'm going to create it with two types of input in mind: the touchscreen, and a rotary encoder (and other buttons). You should be able to do everything with the touchscreen, but also be able to connect a rotary encoder like on the mpc1000 and s6000 to change values fast.


I'm working as a freelance video editor for 6 days a week in August, so development for this project might be a bit slowed down during that time because I will be mentally drained when I get home in the evening, and imagine I'll need my Sunday to recuperate from screen fatigue.

3a8082e126
Reply all
Reply to author
Forward
0 new messages