DIY FPGA based Mixing Console with OS/2 GUI - and more
In this episode I take you with me creating an audio mixing console based on the Arduino Vidor 4000 FPGA board. The final device has five EQs, a noise gate, an audio compressor and up to 22 channels with a total latency of 20.8 microseconds at 48kHz.
Sourcecode and more:
www.github.com/xn--nding-jua/...
Soft- and Hardware for the light-show:
www.pcdimmer.de
Used music in this video:
Energetic Funky Groove by Yevhen Onoychenko
Weeknds by DayFox
Windows XP Extended Startup Theme by Bas3008
Duck Tales - The Moon Theme by Capcom, Extended Mix by Sean Bee
Content:
00:00 Intro
01:07 Implementing EQs in FPGA
08:26 Thoughts about ancient software-development
11:12 Timetravel to copy files
13:54 Controlling EQ with GUI from OS/2
15:42 Implementing Audio Compression
19:47 Testing the Audio Compressor with OS/2
21:16 Testing the Noise Gate
22:12 Validating and optimizing the PDM
28:29 Github, more GUIs and Conclusion
29:18 Music: The Moon
Пікірлер: 46
Awesome! Love the detail you've gone into in describing the EQ and compressor implementations, also the music is excellent!
I'm just gonna subscribe. You're building the NCC 1701D bridge as your studio. I'm sold.
lmao i love the duck tales IRL cover in the end
I just randomly stumbled upon your video and I have to say that this is one of the most interesting videos I've seen in a long time! Since I'm really into analog DIY-audio but with very limited knowledge of digital audio processing, this was quite enlightening! Looking forward to your future videos and I'm catching up on your old ones in the meantime. Thanks a lot!
@pcdimmer
23 күн бұрын
Thank you for your feedback. Yes, it was a challenge for me too, but once you have implemented an IIR filter like this, it becomes easier :)
Awesome video! As an electrical engineer and audio enthusiast, I really enjoyed the detailed description and the retro implementation of the UI. Keep it going!
What a delightful video! I really like the combination of fairly involved programming, signal processing and music, I would love to see more from you!
you got me with the Enterprise NCC-1701-D display within 0.01 seconds...live long.
Great video and a very niche set of skills you have here: FPGA design, retro software, trumpet, drums and mixing ;-)
I'm so glad I found your channel! Great job with this interesting project. Also I love the Enterprise LCARS in the background. Keep up the great work 👍
Interestingly I was just in a rabbit hole of KLANG technologies [basically “3D” stereo imaging for musicians that uses similar tech/methods] to try to implement at my job and church, when KZread recommends this video to me 😮. I LOVE this kinda stuff and I think this video is really well made and explained. I’d be interested in seeing if you continue this series and where you decide to take it. Glad to be a subscriber now!
@ohmymndy8410
23 сағат бұрын
Same here! Came here after seeing some Klang videos.
This is insane. I was just struggling with the buffer sizes while convolution EQing my new Bluetooth headphones on Linux, trying to get reasonable delay between audio & video. Going hardware is a whole another dimension, great video
@Levibetz
7 күн бұрын
I gave up on headphone eq in software due to similar issues, but in windwos (because ASIO is a clusterfuck with pro tools), so I bought a Nux Pulse IR loader for guitar cabs and downloaded a headphone correction IR, did a couple tweaks after loopback testing it in REW and bam, done.
This is an incredibly niche project, and I love it!
Amazing, thanks for sharing Christian!
this is an oddly specific project
Incredible video, what a twist with duck tales at the end!
@pcdimmer
3 күн бұрын
Thank you very much! Yes, I couldn't let an audio episode end without music, could I? :)
this is gold, thank you!
This is fascinating
Brilliant
Great video. I'm into reconditioning of old audio hardware and development of new effects, and this is very interesting and applicable. I'm just wondering, regarding the transfer of files back to a 1994 system, would an ethernet network be a solution? I know ethernet was not as popular back then with IPX and token ring solutions, but I have seen a number of boards that use RPi pico and other microcontrollers to implement modern networks on old systems. Might be worth taking a look.
Impressive !
Your studiooooooo 🤩🤩🤩
und so sieht das dann aus, wenn jemand wirklich[tm] was von dem zeug versteht! einfach nur 'wow'.
@MixMeMcGee
6 күн бұрын
Jaa, oder?! Echt mega, dass er so viele Sachen draufhat, von denen ich nur träumen kann.
22ms is a bit od latency, but still much greater achievement than my sitting and commenting.!! :P
@pcdimmer
15 күн бұрын
Well, there are indeed incredible 20 to 40 MICROseconds (plus/minus) latency, so only one to two single audio-samples - depending on the number of EQ and filter blocks you are using. Each EQ takes around 200 NANOseconds processing-time, the LR24 crossover a bit more, the NoiseGate a bit less. Therefore it is a maximum of Realtime-processing you could achieve from such a device 😎. By increasing the sample time to 96kHz or even 192kHz we could go even lower, but then the coefficients would take a bit more space.
@niemusze5078
14 күн бұрын
@@pcdimmerwow
@kennyzee3221
8 күн бұрын
Microseconds not milliseconds. So the latency is tiny
As a guitarist who's getting more into Studio stuff, and a big FPGA user(Learning VHDL currently).
@pcdimmer
3 күн бұрын
That's great, keep the ball rolling. FPGAs are a bit tricky, but it is worth of working with this kind of technology!
✨✨👏🏻👏🏻
Hast du mal geprüft, ob die EQs über ~10kHz noch das tun, was sie sollen?
Do you use C++ code in Arduino IDE for the FPGA?
@pcdimmer
22 күн бұрын
Hi, the FPGA is programmed in VHDL with Quartus Prime Lite. Using Quartus this VHDL-code is synthesized (compiled) to a Tabular-Text-File (TTF) containing the bitstream of the FPGA. This TTF is then converted to a regular C-Header-File and piggybacked into the Binary-File of the SAMD21 using Arduino IDE. When starting the SAMD21 this bitstream is then copied to the FPGA using an emulated JTAG-connection. Typically you would use the onboard Flash, but this method was easier for me during development and as the SAMD21 has enough space, I leaved this as it was. And you need only the Arduino IDE to programm the ESP32 and the SAMD21 without additional programming-tools for the Flash :) cu, Chris
@jsonslim
21 күн бұрын
@@pcdimmer WOW, that's an interesting pipeline!
Maaan haha wie das Deutsch da rein kickt! Haha
@pcdimmer
8 күн бұрын
@@Quentins-Veranstaltungstechnik Tja, die Herkunft kann und soll ja nicht verborgen werden. Aber die Hoffnung ist da, dass im internationalen Raum mehr Leute etwas mit den Sachen hier anfangen können. Auf jeden Fall habe ich schon einige vielversprechende Rückmeldungen erhalten. Beste Grüße 👍
@MixMeMcGee
6 күн бұрын
Ja! Ich bin sehr grateful personalisch! 🤭
🤍
Os2 was always crap
@pcdimmer
3 күн бұрын
Well, it depends. I wouldn't want to work with it every day and it can't keep up with today's systems, but everyone loves Lost Places, right? :-)
Woah this is interesting. I’ve subbed to your channel. You’re doing such an amazing job
@pcdimmer
3 күн бұрын
Thanks. And this topic is not over yet. Currently I (better "we") are working on a great extension of this FPGA-system. Only two words: "More Power!". More information in a couple of weeks...