Hacking Behringers Ultranet for a FPGA-based DIY-Audiomixer

Поділитися
Вставка
  • Опубліковано 1 лис 2024

КОМЕНТАРІ • 154

  • @Krzychu-bh4rl
    @Krzychu-bh4rl 2 місяці тому +50

    Lets stop for a moment to appreciate that this guy just made a digital mixer!!!

    • @RandomUser2401
      @RandomUser2401 Місяць тому

      I'm just wondering what is wrong with the Behringer equipment? All the samples come out but it refuses to work?

  • @mstratforduk
    @mstratforduk 8 місяців тому +30

    Ooooh, Ultranet to Spdif, been looking for this for many years!! Will have to try this out, thank you very much for the explanation and your vast knowledge!

    • @pcdimmer
      @pcdimmer  8 місяців тому +20

      Thanks. I'm currently working on a full 16 channel digital audiomixer based on this Arduino Vidor 4000 with EQs, NoiseGate and compressor.
      Most of the things are already working. In a couple of weeks I will do another Video about this. Stay tuned.

  • @ChrisShucksmith
    @ChrisShucksmith 4 місяці тому +61

    I've never met a single FPGA engineer that could have got a sound out of that setup on the first P&R -- especially with no simulation 🙂

    • @pcdimmer
      @pcdimmer  4 місяці тому +23

      In fact, I didn't use ModelSim/Questas because I didn't know how to simulate I2S audio signals well. The calculation of the IIR filters was not that difficult in the end. But the connection of all components with each other and the optimization of the VHDL-code to fit into the small device cost me nerves. The audio compressor and the noise gate were also a challenge. But now it works.

    • @BrunodeSouzaLino
      @BrunodeSouzaLino 2 місяці тому +5

      Is RME a joke to you?

  • @getinge
    @getinge 2 місяці тому +46

    Tell me you're a german engineer without telling me a you're a german engineer.
    Chris Noeding : Hold ze bier

  • @inkrot
    @inkrot 2 місяці тому +45

    When the audio engineer is an ACTUAL engineer 😂 Fantastic stuff

    • @XIIMonkeysMusicGroup
      @XIIMonkeysMusicGroup Місяць тому +1

      Why I don't officially claim engineer! I'm a tech that runs live sound!

  • @paulnelson8946
    @paulnelson8946 2 місяці тому +11

    Fantastic video! You're the first person to put up a practical example of what you can use in FPGA for and I love that it's regarding audio. Thank you for taking the time to put this video together and sharing it with all of us! I love how you simply explain these complicated concepts in ways that make sense and with practical purpose.

  • @mrz80
    @mrz80 Місяць тому +5

    Oh, major props for the Galaxy class status display in the background. Live long and prosper, neighbor! 😀

  • @tuck1s
    @tuck1s 10 місяців тому +5

    Excellent project! Thank you for sharing. I started using XMOS devices many years ago, then we sold our Behringer kit and got Mackie instead.. That Arduino device looks very flexible.

    • @pcdimmer
      @pcdimmer  10 місяців тому +11

      Hey, I'm working on a very improved version of this Arduino-MKR-Audiomixer. I'm close to a working 22ch-Digital-Mixer with EQ'ing, dynamic compressors and digital crossovers and the next UA-cam-Video is beeing planned about this topic. Stay tuned...

  • @joetoney184
    @joetoney184 2 місяці тому +4

    I was looking at doing something similar with ADAT for audio interfaces. Good to see other people doing work in this space.

  • @TheAnimystro
    @TheAnimystro Місяць тому +1

    the quality of this video from the content, which is a complex, interesting and advanced project, to the presentation, which makes the topic feel approachable and understandable, to the production value in the videography, it's all so good!

    • @pcdimmer
      @pcdimmer  Місяць тому

      Oh, thank you so much. Good to hear. It took hours of recording and cutting and I'm glad that you guys like it :) I've already got a good idea for follow-up project and I'm preparing some things for it. But it will take some time to bring it to a new video. But if it is working, it will be very nice!

  • @fredgenius
    @fredgenius 2 місяці тому +4

    Greight, now I gotta learn FPGA! Been meaning to dip my toes in that water for long time. Thanks for sharing!

  • @AttieGrande
    @AttieGrande 2 місяці тому +19

    Awesome! Well done! 😀 ... Minor correction - its using RJ-45 connectors and UTP / Cat 5 cable, but its not Ethernet (not even just Layer 1) - there are no Ethernet PHYs and no magnetics, just the TTL buffers / line drivers in a "pseudo-differential" arrangement.

    • @pcdimmer
      @pcdimmer  2 місяці тому +8

      You are totally right, only the hardware-connection looks like ethernet, but it is not compatible. Thanks for the hint 👍

    • @tomteiter7192
      @tomteiter7192 2 місяці тому

      yeah, I was confused at first, too. But they are only using RJ45 plugs and standard ethernet cabling, but that's it. There are several other occurances where HDMI or SATA connectors and cabling is used for totally different things, because they meet basic signal integrity requirements and are readily available...

    • @RaquelFoster
      @RaquelFoster Місяць тому

      I think Dante is the outlier because it's actually using network packets to send the audio. A lot of audio-over-cat5 stuff is just using cat5 because it's a convenient balanced cable, and when it's analog it's obviously not ethernet. Although maybe it's not accurate to call it balanced. But differential just means it has a mirror-image negative signal, right? Like SCSI LVD cables... or just about anything that isn't fiber? What do you mean psuedo-differential? In my mind you say 'differential' when it's a digital databus and 'balanced' when it's analog audio. Whenever it gets super technical, the EE/physics nerds start talking about impedance and I can't really keep up LOL.

    • @AttieGrande
      @AttieGrande Місяць тому

      ​@@RaquelFoster Yes, it looks like Dante is indeed "actually Ethernet"! (Wikipedia states "uncompressed, multi-channel, low-latency digital audio over a standard Ethernet network using Layer 3 IP packets.", and references Fast and Gigabit Ethernet)... I only said "pseudo-differential" because the line drivers (74LVC245A @3:29) are actually made up from 8x independent single-ended channels, two of which happen to be used for each channel (one positive and one inverted). I can't really see in enough detail, but it looks like the FPGA is producing these two signals... As far as I'm concerned (I'm an EE!) "differential" vs "balanced" is basically the same thing, though as you say the term "balanced" is more common in audio.

  • @haakonness
    @haakonness 4 місяці тому +16

    When I saw this video, it had 255 likes. So it kind of hurt me a bit to give you the 256th like, moving your like counter into two bytes of storage :P :P Super awesome video! UA-cam recommended me your mixing console with os/2 -video, and this kind of fiddling with mcu's and fpga's is really interesting :D can't wait for the continuation of this project. And great videos by the way! You are very good at keeping it interesting the whole way!

    • @pcdimmer
      @pcdimmer  3 місяці тому +3

      Thank you for the nice comment. There is an upcoming video that will continue this design for "more power". It will take some time to complete the video but it will be quite interesting, so stay tuned :)

  • @AnWe79
    @AnWe79 2 місяці тому +5

    I don't even know where this is going, but insta watch and like. FPGA and audio hardware is very much up my alley.

  • @cdnsoundguy
    @cdnsoundguy 7 місяців тому +3

    Brilliant, Thank you Christian. Your style of using simple examples is perfect.

  • @klickeldiklick
    @klickeldiklick 11 місяців тому +7

    Sehr beeindruckend! Für Audio interessiere ich mich gar nicht, aber für FPGAs, die Protokolle und die Technologie schon. Softwareentwickler gibt es wie Sand am Meer, das kann man schnell lernen, oder sich gut helfen lassen (ChatGPT etc.). Microcontroller sind ein kleiner, weiterer Schritt. Aber FPGA Programmierer sind wie Magier! Danke!

  • @tomteiter7192
    @tomteiter7192 2 місяці тому +1

    um, wow. Very cool. Very concise! I like the no frills, pragmatic approach.
    It's insane how much DIY hardware advanced in the last 10 years. Even for a hobbyist, only imagination is the limit nowadays. Buy a few dev boards, get some (C, VHDL, whatever) code together, tweak, spin your own design, even if it's just a board to nicely fit pre-made boards together, send to PCBWay, and have hardware in your hands for a few bucks, that would have cost thousands of $ in R&D and then production setup costs a few years ago.
    I love it :)

    • @pcdimmer
      @pcdimmer  2 місяці тому +3

      Yes, you're absolutely right. The FPGA used here is only an entry-level model, but you can still create digital mixing consoles with several channels and digital signal processing yourself for as little as $50 to $100. Let's see what can be done with it in the future. Exciting times in any case.

  • @jon68z
    @jon68z Рік тому +1

    Awesome - Good luck on the repair!

  • @thewizardmountain
    @thewizardmountain 2 місяці тому

    Really enjoyed this video! The combination of electronics and audio really hit a sweet spot! Thank you!

  • @MordecaiV
    @MordecaiV Рік тому +2

    Hi Chris, thanks for the video! Like I commented on the DIY audio thread, I'm trying to see if I can implement something similar even on a pi pico w. We'll see!

  • @deantiquisetnovis
    @deantiquisetnovis Місяць тому

    German Engineering at its best! Einfach großartig!

  • @sapiotone
    @sapiotone Місяць тому +2

    If you and Chris from Airwindows aren't collaborating, you should at some point. Maybe old, proprietary, ethernet-connected speakers will be useful again? Thank you so much for sharing this!

    • @pcdimmer
      @pcdimmer  Місяць тому

      I will have a look at his channel, thanks for the tip!

  • @electromatic2014
    @electromatic2014 2 місяці тому +5

    Now this is what electronics is all about.

  • @belots95
    @belots95 2 місяці тому +1

    This is just amazing! Thank you for sharing these precious information. I'm looking forward to give It a try

  • @16LiveRecords
    @16LiveRecords Місяць тому

    I'm blown away! Genius for me!

  • @mrmanch204
    @mrmanch204 2 місяці тому +5

    I wouldn't say your knowledge and skills are amazing but I dont know why I wouldn't. Amazing.

    • @pcdimmer
      @pcdimmer  2 місяці тому

      I've always wanted to know how a Class D power amplifier works. This was a good opportunity :)

  • @rbus
    @rbus 2 місяці тому +6

    Have a lot of interesting hardware with with CobraNet (Yamaha DME32/DME64n, BiAmp Audia, Peavey Nios n6) and these devices are technically mixers but designed for industrial spaces to handle hundreds of speaker channels, provide programmability for PA and telephone systems (DTMF detection, echo cancellation, etc) and interestingly all programmed in graphical interfaces that provide node-based programming which actually compiles to native DSP code for the unit -- it's potentially possible to inject new DSP algorithms into the compiler to extend the effects beyond just the standard EQ/delay/noise cancellation tools they come with. DME64n can actually emulate multiple SPX90 multi-effects units given available resources.

    • @jeremybiggs8413
      @jeremybiggs8413 2 місяці тому +1

      Has anyone actually emulated the spx90 on a dme24n?

    • @rbus
      @rbus 2 місяці тому

      @@jeremybiggs8413 If memory serves me right, a model of the SPX90 is built into the Windows programmer tool for the DME devices, but it’s costly on DSP resources. I vaguely remember the DME64n could run 2 and the DME24n has half the DSP power.

    • @jeremybiggs8413
      @jeremybiggs8413 2 місяці тому

      @@rbus DME Designer?

  • @TradieTrev
    @TradieTrev 2 місяці тому +2

    Mad skills mate! You've done it all!

    • @TradieTrev
      @TradieTrev 2 місяці тому +1

      Since you've decoded this thing I'd love to use it on my home automation gear, people pay big dollars for a fancy home theatres! :)

  • @thomascouderc4661
    @thomascouderc4661 3 місяці тому +2

    Awseome job ! Big thanks for sharing

  • @lucemiserlohn
    @lucemiserlohn 2 місяці тому +5

    It would be really interesting to see an FPGA implementation for AES50.

    • @jahudka
      @jahudka 2 місяці тому

      this!!! yes please!!!

    • @pcdimmer
      @pcdimmer  2 місяці тому

      Oh well, AES50 uses 100MBit/s and so it is much harder to decode compared to UltraNet with "only" 12.288 MHz. Even the 12.288 MHz needs a 200MHz clock to decode it properly and you have to take care of the signal-quality. AES50 (called SuperMAC or HyperMAC) probably requires even more effort to be able to decode it properly. But never say never :)

    • @martinwhitaker5096
      @martinwhitaker5096 Місяць тому

      ​@pcdimmer does AES50 use an ethernet phy?

    • @PCNeuverdrahter
      @PCNeuverdrahter Місяць тому

      @@martinwhitaker5096 yes, plus LVDS clock. should be extremely manageable

  • @jahudka
    @jahudka 2 місяці тому +1

    Thanks, this is amazing! I've wanted to start tinkering around with Ultranet and AES-50 for years, but I haven't had the time and I don't have nearly enough expertise. I know just enough to be able to imagine the possibilities if I *did* know more, hehe..
    Anyway, minor thing: around 19:10 you're talking about the PDM clock frequency vs samplerate vs audio bandwidth, and you mention the audio bandwidth being 48kHz; and while AES-3 itself can do that (since it's able to go to a 96kHz samplerate), I believe that Ultranet actually uses only a 48kHz samplerate, which would make the Nyquist frequency (and therefore the maximum audio bandwidth) only 24kHz.

    • @jahudka
      @jahudka 2 місяці тому

      haha correction, I thought AES3 can go up to 96kHz sample rate, but according to Wikipedia, while it was _designed_ primarily for 48kHz, it can in theory run at _any_ sample rate.. but anyway, since all Behringer mixers (and their corresponding Midas counterparts) run at either 44.1 kHz or 48 kHz, I believe Ultranet also runs at those, and not at 96kHz..

    • @pcdimmer
      @pcdimmer  2 місяці тому +1

      Oh dear, you are right. In the PDM-table the full usable audio-bandwidth seems to be present (already taking Nyquist into account). I always took it as "comparable to x kHz PCM audio". But anyway, higher PDM-frequencies help us during filtering with a RC-filter. And there are no drawbacks increasing the PDM-frequency within the FPGA between 5 to 10 MHz.
      Regarding the other frequencies: UltraNet uses a 192 kHz-"like" PCM-based AES/EBU stereo-signal. It is not a real 192 kHz, but stores four "stereo" channels with each 48kHz resulting in this 192kHz-like stream to meet the AES/EBU-specifications. So 8 mono channels are transferred in two AES/EBU-lines, resulting in the 16 UltraNet-channels.

  • @WilliamAshleyOnline
    @WilliamAshleyOnline 2 місяці тому +1

    I love the Startrek set! I have longterm goal of reprogramming Behringer DDX3216 firmware/os to make it more compatible with modern hardware and USB etc.. videos like this serve as an inspiration. Only SHARC DSP but still nice to see FPGA being worked with. I have lots of learning yet. Also want to see if I can get keyboard/mouse and CGA montor if I can figure out how to adapt the firmeware to the AM386 chip that is in it and its memory chips.. I will dream. 12:15 You da man.

    • @pcdimmer
      @pcdimmer  2 місяці тому

      I had a DDX3216 in my shopping cart a few times in 2010 and 2011. But then in 2012 the X32 came out and I bought it straight away. Good luck with your project - it sounds very exciting! From my own experience I can say: don't give up. With the UltraNet project, I wasn't very familiar with signal decoding and almost gave up at one point. But I stuck with it and now it's working.

  • @nowhere-v5i
    @nowhere-v5i 2 місяці тому +1

    ingenious approach, thank you!

  • @telmnstr
    @telmnstr 6 місяців тому +6

    Ultranet to usb file writing would be useful for making a multitrack backup recording from the xair mixers.

    • @pcdimmer
      @pcdimmer  6 місяців тому +4

      Well, recording a stereo I2S from the FPGA via the ESP32 to an SD Card is possible and quiet easy. But recording to USB is a bit harder.
      One solution could be the CH375B Chip, which has a USB Stack. But I'm not sure if it can handle the desired data rate.
      Another idea and a bit easier: streaming the multi-channel audio from the FPGA via Ethernet to a PC. This is something I'm thinking about as I have an old FPGA eval-Board with Ethernet. Would be much easier than USB with FAT32 I think.

    • @telmnstr
      @telmnstr 6 місяців тому

      SD card would be fine as well. Any storage media really.

    • @telmnstr
      @telmnstr 6 місяців тому +1

      Ultranet to Ethernet bridge would be awesome

  • @zvotaisvfi8678
    @zvotaisvfi8678 2 місяці тому

    This is incredible dude I dont even know what any of this is

  • @hansibull
    @hansibull 2 місяці тому +1

    That is very interesting! Could the Raspberry Pi Pico (RP2040) perform the same task as the Arduino Vidor, given that it has these powerful PIOs? Transferring multi-channel digital audio over a single pair isn't all that trivial, where "standard" AES3 is the norm. I wish there was a chip one could use in each end that could take 4 or 8 synchronous i2s signals in, and output the same signals in the other end, so a chip like CS8416 can be used to decode the signal to i2s.

    • @pcdimmer
      @pcdimmer  2 місяці тому

      As someone already decoded SP/DIF (so AES/EBU) with the Raspberry Pi Pico using the PIO (see here: github.com/elehobica/pico_spdif_rx) it might be possible to decode UltraNet, too. Up to now I did not use the PIO of the RPi yet. Its a nice idea and would be much cheaper than the solution with the FPGA...

  • @davidrobertson4301
    @davidrobertson4301 4 місяці тому +1

    Fascinating. Inspiring, but it just seems like too much information I'd need to absorb before I could utilize this idea
    But I've subscribed to your channel and will keep watching. Although I don't think I've got enough brain cells left at this old age to follow everything exactly
    But I do appreciate your work

  • @cameramaker
    @cameramaker 2 місяці тому +1

    So its just a RAW audio stream, with no topology discovery whatsoever? (especially when there are distinct ultranet input and output connectors)

  • @soniclab-cnc
    @soniclab-cnc 2 місяці тому +1

    oh man... I have a stack of Motu 24i interfaces, a Tascam DM24. The TDIF io interfaces, PCI cards and all the cables cost me a fortune back in the day... all useless due to drivers. Thanks every hardware vendor ever for making my expensive gear obsolete in 5 years... if only I could decode the stupid drivers and make my own

    • @cmatte82
      @cmatte82 2 місяці тому +3

      Metric halo. Their first 2882 interface from the early 2000’s is still usable today thanks to then continuing to develop upgrades for them. Yes it’s a paid upgrade. But much cheaper than replacing your entire rig.

    • @soniclab-cnc
      @soniclab-cnc 2 місяці тому +1

      @@cmatte82 well I have since downsized my entire setup to one desk and one tall rack. It is so much more manageable lol

    • @pcdimmer
      @pcdimmer  2 місяці тому +1

      Yeah, most of the TDIF cards seem to use FPGAs, like the "Soundscape PCI Card Mixtreme 1B 4500 Audio Sound Card". It used a Xilinx XC5200 FPGA and an older Motorola Mixed-Signal DSP for the PCI-communication - the fpga probably caused the price to shoot up at the time. Unfortunately, TDIF does not seem to be quite as easy to handle as AES/EBU or other serial protocols, as it seems to work with different voltages.

  • @robbgosset674
    @robbgosset674 6 місяців тому +1

    Fantastic work and a great demo of your process, thank you for sharing. Would it be possible to create a similar device to output Ultranet after capturing audio from another source (such as another manufacturers digital snake system)?

    • @pcdimmer
      @pcdimmer  4 місяці тому

      Hi, in general it should be quite easy to multiplex the eight channels within an AES/EBU signal, but I'm not sure if Behringer is checking against some of the additional status bits to ensure a valid Ultranet signal. While receiving I'm ignoring these bits.

  • @RebelZach
    @RebelZach 2 місяці тому

    Never have I subscribed so fast

  • @MrDombredombre
    @MrDombredombre 2 місяці тому

    Hello, very impressive work !
    I am wondering looking at the reverse engineering of the ultranet, could we use that tool to convert ultranet into AES/EBU 16 port easily ? Maybe even in a Madi format ?

    • @pcdimmer
      @pcdimmer  2 місяці тому

      Hi. 16 Stereo-AES/EBU ports should be possible as these blocks are using only logic-elements and no DSP-slices of the FPGA. I tested it with two SPDIF-outputs (means two stereo-channels) and it worked without problems.
      As I'm not familiar with the details of MADI I cannot give a good answer here, but it seems that MADI is only a multiplexed AES/EBU-stream with up to 56 channels. So it should be possible to update the state-machine for stereo-AES/EBU to create a MADI-signal with the FPGA.

  • @fitzeflinger
    @fitzeflinger 2 місяці тому

    just a quick question, shouldnt the low lass filter be at 24 khz? since the signal contains no information above half of the original samplerate (nyquist)

    • @pcdimmer
      @pcdimmer  2 місяці тому

      For a system with a input-sampling rate of 48kHz a designed cutoff-frequency at 24kHz should be sufficient, yes. But you will receive a 3dB attenuation at 24kHz. It might be OK as most of us can hear only up to 20kHz (best case), but the RC-filter at 48kHz makes sure, that all high-frequency parts of the audio is still there (depends on if there are useful information in your system at all). With my ADC I am able to sample up to 192kHz and then the RC-filter at 48kHz could make sense - but it depends on the individual preferences - I could not hear any difference between 24kHz, 28kHz, 30kHz and 48kHz - I tested it :)

  • @maze7_7
    @maze7_7 2 місяці тому

    Amazing stuff! Thank you!

  • @kevinwydler7305
    @kevinwydler7305 2 місяці тому

    You are a huge inspiration

  • @elwhagen
    @elwhagen 2 місяці тому

    I hacked my own Ultranet connection with a screwdriver and a blowtorch. Literally hacked. Obviously not the same outcome. Darn you, Christian! ;-)

    • @pcdimmer
      @pcdimmer  Місяць тому

      Sometimes this kind of hacking is much more satisfying than trying to get bits and bytes online 🤪

    • @elwhagen
      @elwhagen Місяць тому

      @@pcdimmer 🙂

  • @colinstu
    @colinstu 8 місяців тому +1

    When you tested connecting the two devices together, what cable did you use? was it pinned out correctly and full continuity?

    • @pcdimmer
      @pcdimmer  6 місяців тому

      You mean between P16I and the P16M? Yes, it was an 8 pin Ethernet Cable and it is working between the P16M and a P16D or the X32. Within the P16I the BufferIC and several resistors are defective so I have to replace several components. But at the moment I'm working on the FPGA system. It is nearly ready for the first release :)

  • @Michael-ze6oz
    @Michael-ze6oz 10 місяців тому +1

    Hi Chirstian, the way you show and explain everything precisely and clearly is awesome, thank you! You showed that a connection with the Behringer P16 was needed to activate the datastream. What does the Powerplay-16 need to 'see' on its ultranet connection in order to start the data stream?

    • @pcdimmer
      @pcdimmer  10 місяців тому

      Hi, thanks for the kind feedback - good to hear. The Powerplay P16-I only needs to see a small power-consumption on its 15V-power-rail to activate the digital outputs. I bypassed this in the video using the digital-inputs of the buffers directly, but if you apply a resistor roughly around 2k2 between +15V and GND as I've shown in the schematics (see resistor R4 in github.com/xn--nding-jua/UltranetReceiver/blob/main/Schematic.pdf), the regular outputs will be activated.

    • @Michael-ze6oz
      @Michael-ze6oz 9 місяців тому

      @@pcdimmer Hi Christian, thank you for your fast response and the information. It is fascinating to think about the possibilities of your project. When the ultranet data is expanded with 'writing data' then communication with the Midas DN4888 StageConnect interface would undoubtedly also be possible. How cool is that !

  • @nielsott
    @nielsott Місяць тому

    Unfortunately I'm too unskilled to cook with any FPGA recipes but UltraNet to SPDIF or AES/EBU would be really smooth as it could give the cheap Behringer X-Air 18 a digital output.
    People would probably go crazy for a Dante or AES67 bridge from UltraNet. To my knowledge, BehringerMidasKlark only offers a bridge to their StageConnect system.

  • @NicholasAndre1
    @NicholasAndre1 2 місяці тому

    That’s awesome. I’d always wanted to create some sort of open source digital audio mixer. Seems like it should be quite possible to implement one that could interoperate with multiple standards, like AES67, Dante, behringer, etc.
    I am curious how much DSP you could add with an FPGA/when it makes more sense to incorporate a dedicated DSP chip. You’d need some EQ per channel, compressors per channel, and some sort of reverb to finish it out.
    I recently picked up the Behringer XR18 which I quite like. I believe it supports standard MIDI control which would be a nice touch to incorporate. It’s likely that interfacing with bog standard MIDI mixer interfaces wouldn’t be that hard.

    • @pcdimmer
      @pcdimmer  2 місяці тому +3

      Audio-Mixing (so speaking of summing audio channels) is very easy within the FPGA. You can reuse the multiplicator to reduce the demand of multiplicators. I created a 22 channel mixer with this specific low-cost FPGA already.
      But each EQ is using lot of logic-elements together with multiplicators. So outsourcing this into a dedicated DSP-chip would reduce the demand - and you end up with the Behringer X32 concept :) As I remember correctly, they are using a FPGA-based system together with multiple Sharc audio processors. With some time it is possible to enhance my approach to a Behringer X32 "very light" ;-)
      AES67 and Dante would be a very nice feature for the future and I already placed some information about these two on my harddisk :)

  • @ARTWORKFOTO-DE
    @ARTWORKFOTO-DE 7 місяців тому

    Mega spannend! Eigentlich wäre ja ohne Probleme auch ein 8x AES Output möglich, richtig? So ein Gerät könnte ich gut gebrauchen, baust du auch auf Auftrag?
    Wenn man noch das Midas DN4816-O anschließt, braucht man ja einen ultranet Splitter oder kann man den stageconnect rj45 Ausgang am Midas DN4816-O nehmen (warum der nicht ultranet Ausgang heißt??)
    Danke für jeden Input!

    • @pcdimmer
      @pcdimmer  6 місяців тому +1

      Hi,
      ja, tatsächlich ist man beim FPGA lediglich bei der Anzahl der IO-Pins und der Logik-Elemente selbst beschränkt. Pro AES/EBU Port benötigt man nur relativ wenig Logikelemente, sodass wir hier nahezu beliebig viele AES/EBU-Ausgänge mit frei routbaren Audiostreams erzeugen können.
      Das Gleiche gilt auch für die Analogausgänge. Ich habe die Qualität der PDM-Ausgänge in den letzten Monaten massiv verbessert, sodass man ein sehr flexibles Audiosysten bauen kann.
      Ich schließe gerade die Programmierarbeiten ab und bereite anschließend die nächste UA-camfolge vor. Dann wird auch hoffentlich der Elektor-Artikel veröffentlicht, sodass ich den Code dann freigeben kann.
      Beste Grüße,
      Christian

  • @macinglis17
    @macinglis17 2 місяці тому

    This is incredible.

  • @LoomSun
    @LoomSun 2 місяці тому

    Wow! I love this!

  • @barrenaedu
    @barrenaedu 2 місяці тому

    Amazing you did this, infinite applications.. would be possible to connect your device to the ultranet output of an XR18 and from that stream the audio channels to an ethernet lan using a Real Time Transport Protocol (RTP/RTSP Audio Server)? Maybe connecting cables from the Arduino MKR Vidor 4000 socket to a raspberry pi socket and installing the RTP audio server there? The scenario I am thinking is taking all the audio signals from any computer using one or more RTP/RTSP clients (ffmpeg, etc) via the usual ethernet lan and routing signals (using linux tools like pipewire, qpwgraph, virtual modules with pactl, pw-link, etc.) to any DAW program in order to record or process signals as demand. Thank you!

    • @pcdimmer
      @pcdimmer  2 місяці тому +2

      I have already decoded UltraNet with the FPGA (see the previous video). But audio via Ethernet is another matter. However, you can send an I2S data stream to the RaspberryPi (for example see github.com/makerportal/rpi_i2s/blob/main/i2s_stereo.py) and then forward the audio stream via the network as you have mentioned. However, I'm already thinking about how to send audio data directly out of the FPGA over the network using an Ethernet phy to emulate Dante or other Audio-Over-Ethernet protocols. In principle, this is possible. However, the variant with the Pi should be much simpler for now. Please remember that, as far as I know, the Pi can only process stereo I2S. Maybe recording multichannel audio to a SD-Card directly from the FPGA is easier than implement audio-streaming to a DAW?

  • @djmips
    @djmips 2 місяці тому

    This is very cool. Was this just done on a lark or was the P16-I unfixable?

    • @pcdimmer
      @pcdimmer  2 місяці тому

      The P16-I has only some damage at the output-buffer ICs right at the RJ45-jacks. There are some smaller resistors in the range of some Ohm that burned, too. Up to now I just had no time to fix the output-stage, but it is fixable. So the defect was a welcome opportunity to take a look inside the device :)
      On the other hand, I'm playing with the idea of permanently installing a Vidor 4000 in the P16-I so that I can process all 16 input channels directly with my own audio engine.

  • @TheFloatingBartender
    @TheFloatingBartender 2 місяці тому +1

    Hey the Lcars in the back is it functional?

    • @pcdimmer
      @pcdimmer  2 місяці тому +2

      Unfortunately not. A few years ago I had started to write a working LCARS replica to show files in Windows. Then I saw that some others had already tried it and stopped the work on it. On Sourceforge.net, for example, there's this one: sourceforge.net/projects/lcars-system-3. I just have an LCARS video running in the background :). When I'm not recording videos, that's my main screen for the PC

  • @LimbaZero
    @LimbaZero 2 місяці тому

    One note of arduino vidor. It has pretty ok clock quality is used with usb. When running standalone external crystal oscillator is recommended.
    Edit: Not sure did samd21 do some clock recovery / tuning from usb when usb is used. Some had observe samd21 clock was more unstable when using standalone so they needed external XCO when running standalone. when connected to computer it was ok.

    • @pcdimmer
      @pcdimmer  2 місяці тому

      In fact, I haven't even looked at the 48MHz clock in detail. According to the data sheet, the SAMD21 generates the 48MHz from the small 32.768 kHz quartz. I'll have to have a look at that. Timing is particularly important for fast signals and since the FPGA derives all internal clocks from the 48MHz via the PLL, they should be stable. Thanks for the tip!

  • @MapleAudio
    @MapleAudio Рік тому +1

    Hi Christian, vielen Dank für deine Arbeit. Das Projekt ist der absolute Wahnsinn! So kann man theoretisch auf den Behringer XR18 Mixern unendlich viele Outputs generieren. Echt Klasse.
    Ich hab tatsächlich keine Ahnung vom Arduino MKR Vidor, aber es scheint so als ob ich auf der Arduino-Seite, wie sonst auch, die Inputs und Outputs nutzen könnte um z.B. Encoder für die Bedienung des UltranetReceivers anzuschließen, richtig? Wie ist deine Einschätzung ein Touchscreen zum laufen zu kriegen? Mit dem normalen Arduino klappt es prinzipiell und generell sollte der MKR Vidor 4000 genug Kapazitäten dafür haben, oder?
    Nochmals vielen Dank. Seitdem ich deine Nachricht im DIY-Audio-Forum gesehen hab war ich sehr gespannt wie es sich weiterentwickelt.
    Beste Grüße
    Dennis

    • @pcdimmer
      @pcdimmer  Рік тому +1

      Hi,
      vielen Dank für die Rückmeldung. Ja, der SAMD21-Controller kann ohne Probleme Displays (z.B. über I2C oder SPI) und Encoder verarbeiten. Zwar nutzen FPGA und Controller die gleichen Headerleisten, aber es sind ausreichend Pins verfügbar und solange man nicht FPGA- und Controller-Pins auf "Ausgang" konfiguriert ist das kein Problem. Sofern die Pins dann doch nicht reichen sollten, kann man die vordere Pinleiste dann noch verwenden (Mini PCI-Express-Anschluss). Der SAMD21 taktet mit 48MHz und hat insgesamt recht gute Ausstattung, sodass man damit auch ein hübsches Menü programmieren kann. Ich habe den Controller schon zusammen mit dem IL9163-Treiber von Alexey Dynda - github.com/lexus2k/ssd1306 - mit einem OLED-Display verwendet. Klappt gut.
      viele Grüße,
      Christian

    • @MapleAudio
      @MapleAudio Рік тому

      @@pcdimmer Hi Christian,
      Ich versuche das ganze gerade erstmal nachzubauen und als jemand der eigentlich wenig Ahnung hat gestaltet sich das schwierig. Einer der Fehler der bei mir herausgespuckt wird ist folgender:
      ...\AppData\Local\Temp\arduino\sketches\66EA08F281E57F0649CEC4E3F243BC94\sketch\Controller.ino.cpp.o: In function `__static_initialization_and_destruction_0':
      ...\UltranetReceiver-main\Controller/Controller.ino:99: undefined reference to `Ticker::Ticker(std::function, unsigned long, unsigned long, resolution_t)'
      Ich habe mir die Ticker.h library heruntergeladen und im Projekt nochmal eingefügt. Was schonmal manche Fehler beseitigt hat, aber diese bleiben.
      Ist es richtig, dass die Zeile die du bei 14:19 hinzufügst so im Niemandsland herumschwebt? Also diese Zeile hier:
      "Ticker TimerSeconds(TimerSecondsFcn, 1000, 0, MILLIS);"
      Ich würde mich echt über ein Tutorial von dir freuen, dass für totale Noobs an das Thema herangeht. Ich kann natürlich verstehen, dass das schon sehr viel Arbeit ist. Es ist halt ein super spannendes und hilfreiches Projekt.

    • @pcdimmer
      @pcdimmer  Рік тому

      @@MapleAudio Hi, nun, die Funktion TickerSecondsFcn ist bei Dir nicht definiert. Das ist bei dem Code auf Github aber der Fall: github.com/xn--nding-jua/UltranetReceiver/blob/main/Controller/Controller.ino
      Dort wird direkt über der von Dir genannten Zeile die Funktion definiert. Die lässt aber ohnehin nur die LED blinken.
      Ein Tutorial ist aber auch eine gute Idee.

    • @pcdimmer
      @pcdimmer  2 місяці тому +1

      Die letzten 9 Monate sind irgendwie unglaublich schnell vergangen. Ich habe erst jetzt mit einem Tutorial anfangen können. Hier könnt ihr es finden: www.pcdimmer.de/index.php/hardware/fpga/tutorial-ultranet-receiver

  • @MateuszJagocha
    @MateuszJagocha 2 місяці тому

    Great video!

  • @labgsm8185
    @labgsm8185 7 місяців тому

    Nice work
    Thank you

  • @ChrisgammaDE
    @ChrisgammaDE 4 місяці тому

    Nice job. Keep it up

  • @DavidGarcia-ob9dk
    @DavidGarcia-ob9dk 2 місяці тому

    A pleasure¡

  • @PodEllen
    @PodEllen 5 днів тому

    PT_BR: Cara muito bom seu video, bem top, faz um video descobrindo os comando midi do pedal zoom G1X Four e integrando ao arduino

  • @davidchavez81
    @davidchavez81 2 місяці тому

    Our hearing is not linear to sound levels so it would be better to use a tapered scale or logarithmic scale for volume scaling.

    • @pcdimmer
      @pcdimmer  2 місяці тому +1

      That's a good point. In fact, we have made the volume setting logarithmically. Within our software, the volume values are always given in dBfs between -48dBfs and +6dBfs. The dBfs value is then converted into a multiplication factor when it is transferred to the FPGA: github.com/xn--nding-jua/Audioplayer/blob/c26dae83fb04a85184762b9480279fc012d3b195/NINA/Mixerengine.ino#L59

  • @rewIndustry
    @rewIndustry 2 місяці тому

    as an electrical engineer, how did you determine that the P16 was the problem?

    • @pcdimmer
      @pcdimmer  2 місяці тому +2

      Well, first I tested the P16-M (the personal mixer) with the larger X32 and it worked. With the P16-I (the analog injector) it didn't. As someone mentioned in the comments below, the resistors burned, too. Up to now I had no time to fix the output-stage, but only the buffer-IC and the resistors are damaged. With some time the system should work again. On the other hand, I'm playing with the idea of permanently installing a Vidor 4000 in the P16-I so that I can process all 16 input channels directly with my own audio engine :)

    • @rewIndustry
      @rewIndustry 2 місяці тому

      @@pcdimmer thank you - clear now - i like your vidor 4000 plan, it seems the more useful solution.

  • @JustinDuijn
    @JustinDuijn 2 місяці тому

    All the diagrams are on the FCC website

  • @keysersoze4851
    @keysersoze4851 2 місяці тому

    knaller! danke.

  • @jjptech
    @jjptech 6 місяців тому

    Damn!!! Thank you!!!

  • @christiantorma2440
    @christiantorma2440 Рік тому

    Du geiler Typ 😅 ✌️😎🤘😎🤘😎🤘

  • @blacklion79
    @blacklion79 Місяць тому +1

    So, it is not Ethernet at all? I've thought that it will use Ethernet frames and addresses to pass this signal via standard switches.. But it looks like it is a point to point connection with its own bitrate, and only wiring is common with Ethernet.

    • @pcdimmer
      @pcdimmer  Місяць тому

      It should be OSI-ayer 1, so the electrical part is ethernet, but UltraNet has nothing more in common with the classical computer-ethernet. So you can't decode the "packages" as there are no. It is a differential digital AES/EBU audio-signal with 8 audio-channels per link-pair. So you can't use ethernet-switches, too.

    • @blacklion79
      @blacklion79 Місяць тому

      @@pcdimmer Ethernet is classified as Layer 2 by itself (if we can classify modern stacks with this old and dead model at all, which is debatable). And it looks like it is incompatible Ethernet even at Level 1, as Level 1 includes voltage levels, modulation, bitrate, etc.

  • @jensdroessler3575
    @jensdroessler3575 3 місяці тому

    Kriegen wir AES50 auch hin?

    • @pcdimmer
      @pcdimmer  3 місяці тому

      Hi,
      AES50 ist leider noch mal ne andere Nummer. Ultranet nutzt ja "nur" zweimal 8 Kanäle mit 48kHz, sodass wir die einzelnen Bits "nur" mit 12,288MHz empfangen und auswerten müssen. AES50 hat aber 48 Kanäle mit je 48kHz, sodass wir dann im Bereich von 100MHz sind. Das können wir mit der hier vorgestellten Methode sicherlich nicht dekodieren. Es gibt zwar ein dediziertes Sync-Signal, aber bei Ultranet hatte ich schon Probleme mit Leitungsinduktivitäten - das ist bei AES50 noch kritischer.
      Also kurzgesagt: nein, AES50 ist für DIY erst mal nicht drin, sorry

  • @KurgerBing-p5i
    @KurgerBing-p5i 2 місяці тому

    nice

  • @wilfredswinkels
    @wilfredswinkels Місяць тому

    tinkering?? the RC filter is tinkering....the rest is close to magic 😀

    • @pcdimmer
      @pcdimmer  Місяць тому

      Yeah ok, maybe I understated some things a bit ;-)

    • @wilfredswinkels
      @wilfredswinkels Місяць тому

      @@pcdimmer 🤣

  • @Dylan_Lanckman
    @Dylan_Lanckman Місяць тому

    First of all: Please sir, submit this project to Elektor Magazine so we can archive it if UA-cam were ever about to kick the bucket.
    Second: Could this mixer be smartified/IoT'd?

    • @pcdimmer
      @pcdimmer  Місяць тому +1

      Hi,
      I've already sent a proposal to Elector and waiting for a response.
      And yes, controlling via MQTT and TCP commands is possible and already part of the code of my Audioplayer-Project which has support for the UltraNet... At the moment I'm working on a more advanced version. Stay tuned :)

    • @Dylan_Lanckman
      @Dylan_Lanckman Місяць тому

      @@pcdimmer Very cool! looking forward too it!

  • @pablospace
    @pablospace 2 місяці тому

    Wow, 🎉😊

  • @arguy2021
    @arguy2021 2 місяці тому +1

    I'm just a sound guy. What am I doing here? lol

  • @teunvdveeken
    @teunvdveeken 2 місяці тому

    Lets connect an oscilloscope; Continues to use a 30k+ Tektronix 😅 4:16

    • @teunvdveeken
      @teunvdveeken 2 місяці тому

      Awesome video!

    • @pcdimmer
      @pcdimmer  2 місяці тому

      No, the MSO34 is around 4.500€, but still not the cheapest, that's right 😇 I tried it first with my small Fnirsi Scope but I could not trigger the signal successfully...

  • @40ftEifel
    @40ftEifel 2 місяці тому

    Es scheint also, als könne man dieses Geraet auch zu einem "simplen" und quasi günstigen AES3-analog-Wandler stricken- wenn man denn so wie DU ist 🤣

    • @pcdimmer
      @pcdimmer  2 місяці тому +1

      Ja, das geht. Der FPGA hat sehr viele digitale Pins und jeden Pin kann man mit einem einfachen RC-Netzwerk und der Sigma-Delta-Wandlung als analogen Ausgang nutzen. Leider sind die FPGAs noch recht teuer, aber wenn man einen CYC1000-Board von Trentz verwendet, kann man für insgesamt ca. 60,-€ einen Konverter von UltraNet auf 16x Analog bauen.

  • @jensdroessler3575
    @jensdroessler3575 4 місяці тому

    Wenn du noch Hardware, die Ultranet ausspuckt, zum Testen brauchst, sag Bescheid!

    • @pcdimmer
      @pcdimmer  2 місяці тому

      Besten Dank für das Angebot. Ich hätte aber noch ein X32 und ein paar S16 da :)

  • @dmackin68
    @dmackin68 2 місяці тому +2

    What just happened

  • @arcadealchemist
    @arcadealchemist 2 місяці тому

    if the left and right brain can't TALK to eachother
    THey will both think they are individuals in control of the same body.
    it's like havign a 2 core CPU (well we have muliple cores the point is energy comes in is divided in to pulses and those pulses grow the body the rotation has a hard or soft angle i don't understand fully how the energhy minipulates matetr but again you have to put something in the soil of something with the same vibration

  • @whatilearnttoday5295
    @whatilearnttoday5295 2 місяці тому

    Reason #5023 to buy an analogue mixer.

  • @danmanmgm
    @danmanmgm 2 місяці тому

    easy...

  • @fellpower
    @fellpower Рік тому +1

    Irgendwie kann ich hier keine Konsistenz erkennen. Du sprichst über Projekte, machst da nicht weiter - und plötzlich sprichst du englisch. Ja, ich verstehe, du willst mehr Leute erreichen - der Kohle wegen - aber irgendwie ist das nix Halbes und nix Ganzes ^^
    Mach doch mal ein Projekt genauer - mit Infos (Links usw) - und führ es auch mal konsistent weiter - bzw zu Ende. Wir Zuschauer sind ja, hier, weil uns das Thema interessiert. Aber mit dem, was du da machst, kann keiner was anfangen. Das ist einfach nur n Snapshot aus nem großen Part - da fehlt ja eigentlich alles an Infos.
    Man guckt sich hier was an - du kommst nicht zum Punkt - und dann fehlt ein Follow Up Video ^^
    Sieh das bitte nicht als Offence an - ist einfach nur die Sicht eines Zuschauers ^^

    • @pcdimmer
      @pcdimmer  Рік тому

      Hi,
      danke für die Kritik und die Rückmeldung. Ich habe tatsächlich keine größeren Projekte, sondern mache hier und da was vereinzelt mit Mikrocontrollern und Bühnentechnik. Daher möchte ich einzelne Ausschnitte daraus zeigen, in der Hoffnung, anderen ein paar Ideen zu geben. Ich wüsste gar nicht, wie man das sinnvoll in eine konsistente Videoreihe packen könnte. Deshalb wird es vermutlich auch zukünftig bei Fragmente bleiben. Hier sehe ich UA-cam eher als verlängerte Website, bzw. Vlog, um einzelne Themen weiterzugeben.
      Da dieses FPGA-Projekt im Speziellen vermutlich einige Leute vor allem im englischsprachigen Raum interessieren dürfte, hatte ich mich für eine Folge auf Englisch entschieden, da Ultranet weltweit eingesetzt wird. Ich sehe das nicht als Problem. Da ich kein Geld mit den Videos verdiene und keinerlei Sponsoren habe, war dies auch kein Entscheidungskriterium.
      Für die nächste Folge habe ich auch wieder ein Lichttechnikprojekt geplant: hier habe ich beim letzten Video ja schon etwas über den Sinusdimmer angekündigt. Das werde ich demnächst aufgreifen, aber brauche deutlich mehr Vorbereitung, da eine Platine gefertigt werden muss.
      Hast Du eventuell Ideen für ein Video, bzw. was hätte ich an der aktuellen Folge anders machen können?
      Viele Grüße,
      Christian

    • @pcdimmer
      @pcdimmer  Рік тому +4

      Hi,
      eben habe ich das ganze noch einmal in einen etwas umfangreicheren Artikel auf meiner Website geschrieben. Man findet dort ein paar zusätzliche Informationen zur verwendeten Toolchain:
      www.pcdimmer.de/index.php/hardware/fpga/ultranet-receiver
      Zusammen mit den Infos auf github.com/xn--nding-jua/UltranetReceiver sollte man damit hoffentlich bei Interesse in der Lage sein, das Projekt selbst zu kompilieren und auszuprobieren.
      viele Grüße,
      Christian