Soon: I2SCodec, a new firmware mode for additional audio I/O

Connect an external I2S-capable codec board to get 2 additional inputs and/or outputs!

7 Likes

can I use usb audio and I2SCodec to get 4 more audio inputs and outputs with the firmware?

2 Likes

Should be possible in a combined firmware mode!

2 Likes

Very cool! 6 Inputs would be great for multi-string guitar fun :wink:

1 Like

will you consider making a sort of audio expander for Gills as well?

2 Likes

It does affect the DSP performance a bit though! Maybe a few percent

Yeah i was definitely thinking about a 4-channel Gills. The current Gills won’t be able to run an expander unless you give up LED3, or rewire it to free pins or so.

Also I was thinking of doing it right, with proper jacks and a proper case, or maybe making the headphones output independent.

2 Likes

wow really exciting!
Multispeaker fx, turning ksoloti into a mixer, lots of options here!

2 Likes

it would be great to see a sort of Gills 2.0 or Mk2 kind of thing. 4 audio inputs, 4 outputs, with independent headphone output. keep the DC barrel jack so people can connect a power supply or 9V battery to it.

1 Like

This is amazing!! Is this something that would work on an original axoloti as well? I’m not too sure on the details of hardware differences between axoloti and Ksoloti. Would be great to turn one of my old axolotis into a hardware mid/side encoder/decoder!

This should work on Axoloti Core as well. There is a special header, X3, which was planned for “multiprocessor stream” or whatever back in old Axoloti days but in the end it seems like it was never used. It has the required pins. I’ll test it when I get back to it!

For mid/side encoding/decoding, would you need additional inputs, outputs, or both?

1 Like

Probably 4 inputs and 4 outputs! Stereo input and mid/side output, then mid/side input and stereo output. Cool to hear that this will probably be possible on axoloti as well!

1 Like

@ksoloti Hey, I’m new to this forum and the ksoloti, but im using an axoloti on and off for a while. Now I’m back to it with a new project and reading this about having 4x4 I/O is possible makes me so happy. But I unfortunately don’t understand, what is beeing said here :sweat_smile: is there some place, where I can see, how it’s done and what I need? It’s also cool this might work with the axoloti core that I already have, but I might even switch to ksoloti, cause I’m doing audio looping and the 4x bigger sdram might be a gamechanger :sweat_smile:

PLEEEEAAAASE tell me how it’s done and also I’m very happy and greatful, that this still exists and axoloti lives on, even though I thought it had died. Much love!

1 Like

You’d enable the “I2SCodec” firmware in the Patcher preferences, it should (still) work both with Axoloti Core and Ksoloti Core. (Though with Axoloti we’d have to confirm the pinout)

The caveat is, currently there is no readily available breakout board that supports both audio input and output (without some extra setup code). The (cheap) boards out there only support 2 channels of output (i.e. a DAC), if that’s okay for you.

I have used a UDA1334A Breakout because that’s what I had left from a previous project. It is what you see in the video clip.

For proper 4 in, 4 out operation, I’d have to design a board with a specific codec… which I planned but did not get around finishing so far… so much other stuff to fix first. Or maybe there is some board out there that works? I have not found one yet.

The technical background is, Axksoloti cannot output a proper I2S master clock, also called MCLK (12.288MHz for our case). Common DAC breakout boards do not require this clock, but (most?) codecs or ADCs, in other words chips that handle audio input, require this clock for their internal operation.

I know of only one part series, a fairly new one, that can handle audio input without the need for the 12.288MHz master clock": the TAC5142.

I actually have ordered a bunch of them to experiment with, just no time…

I’d be happy for now with 4x2 I/O, so that would work :slight_smile: Would also be nice to have all 3 loopers in my setup leave in an extra mono output, but I can work with stereo for now.

In your Video, it looks like 4x4, but as I understand it, the UDA1334 Breakout can only do 4x2? I will read up on the basics of the technical stuff you said, cause I’m not too familiar, but this already helps :slight_smile:

Which pinout would it be on the ksoloti and what would you assume it to be on the axoloti. I could get the most promissing breakout (UDA1334 or TAC5142?) and hook it up to confirm :slight_smile:

With the I2SCodec firmware mode, the Axksoloti would have its regular 2 inputs and 2 outputs, plus 2 independent outputs via the breakout board (plus two inputs if the future custom breakout board works well).

You can check out the I2SCodec help patch at Help > Help Patches > ksoloti-objects > ksoloti > i2scodec. The pinout for Ksoloti is described there: PA15, PB3, PB4, PD6 (and for Axoloti I believe the same pins are on header X3. I tested on Axoloti and it seemed to work well)

Thanks a Bunch!! So atm 2 in and 4 out is possible with said setup, and we’re looking forward to adding also 2 inputs :slight_smile: love it!! :heart:

1 Like

At last, I (may) have found an easy and convenient way to add 2-channel input and output via the I2SCodec firmware.

This shield is designed to be overlayed (or preferrably under-layed?) on a Ksoloti Core. But one can obviously hook it up via wires to just about any other MCU board or shield.

The required pins are 3.3V, GND, PA15 (FSYNC), PB3 (BCLK), PB4 (DIN), PD6 (DOUT), and the headers are laid out so that they can be directly stacked on (or preferrably under?) the Core. This will probably also work with the Alt Circuits K-Control if two wires are soldered directly.

For Gills, it will not work out of the box because PB3 and PB4 are occupied (by LED3, the bottom left one). However, by cutting two traces to free these pins up (and optionally connecting two other pins to LED3) this should work with Gills, too. One could technically solder the additional I/O signals to the ring terminals of each audio jack? I’ll do some testing on that.

A first prototype is on the way, more on this later!

1 Like

Epic!!! :smiley: sign me up :partying_face::partying_face:

1 Like

I’m imagining a mixer-like multi-instrument jam system where each instrument is one Ksoloti, having separate stereo main bus and fx send outputs, and one additional Ksoloti does the fx, both for the fx bus and the sum. The actual ‘mixer’ itself is just a simple analog summing circuit for each bus line.

Cool new possibilities!

2 Likes