DIY FPGA based Mixing Console with OS/2 GUI - and more

  Рет қаралды 4,338

Chris Noeding

Chris Noeding

Күн бұрын

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

Пікірлер: 20
@fronbasal
@fronbasal Күн бұрын
Amazing, thanks for sharing Christian!
@nuclearmonster
@nuclearmonster 21 сағат бұрын
Incredible video, what a twist with duck tales at the end!
@TheIArocks
@TheIArocks 16 күн бұрын
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
@pcdimmer 15 күн бұрын
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 :)
@kennyzee3221
@kennyzee3221 2 сағат бұрын
Woah this is interesting. I’ve subbed to your channel. You’re doing such an amazing job
@nnif-pv2pq
@nnif-pv2pq 15 күн бұрын
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!
@attilapal3786
@attilapal3786 6 күн бұрын
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
@lbgstzockt8493
@lbgstzockt8493 15 күн бұрын
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!
@TheLabyrinthTV
@TheLabyrinthTV 7 күн бұрын
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 KZbin 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!
@jackbootshamangaming4541
@jackbootshamangaming4541 Күн бұрын
As a guitarist who's getting more into Studio stuff, and a big FPGA user(Learning VHDL currently).
@JudgeFredd
@JudgeFredd 12 күн бұрын
Impressive !
@niemusze5078
@niemusze5078 7 күн бұрын
22ms is a bit od latency, but still much greater achievement than my sitting and commenting.!! :P
@pcdimmer
@pcdimmer 7 күн бұрын
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
@niemusze5078 6 күн бұрын
@@pcdimmerwow
@kennyzee3221
@kennyzee3221 2 сағат бұрын
Microseconds not milliseconds. So the latency is tiny
@jsonslim
@jsonslim 14 күн бұрын
Do you use C++ code in Arduino IDE for the FPGA?
@pcdimmer
@pcdimmer 14 күн бұрын
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
@jsonslim 13 күн бұрын
@@pcdimmer WOW, that's an interesting pipeline!
@Quentins-Veranstaltungstechnik
@Quentins-Veranstaltungstechnik 7 сағат бұрын
Maaan haha wie das Deutsch da rein kickt! Haha
@pcdimmer
@pcdimmer 7 сағат бұрын
@@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 👍
The ARCH LINUX Experience
34:30
Bog
Рет қаралды 26 М.
The Real Reason Why Music Is Getting Worse
12:42
Rick Beato
Рет қаралды 1,3 МЛН
Khó thế mà cũng làm được || How did the police do that? #shorts
01:00
THEY WANTED TO TAKE ALL HIS GOODIES 🍫🥤🍟😂
00:17
OKUNJATA
Рет қаралды 3,6 МЛН
孩子多的烦恼?#火影忍者 #家庭 #佐助
00:31
火影忍者一家
Рет қаралды 2,3 МЛН
Hacking Behringers Ultranet for a FPGA-based DIY-Audiomixer
21:59
Christian Nöding
Рет қаралды 4,3 М.
World's Most Unavailable Synthesizers
29:00
Doctor Mix
Рет қаралды 85 М.
Harder Drive: Hard drives we didn't want or need
36:47
suckerpinch
Рет қаралды 1,6 МЛН
The Z80 CPU - 1976 to 2024
18:49
Al's Geek Lab
Рет қаралды 48 М.
EEVblog 1622 - The BIG BEGINNER MISTAKE with Multimeters
12:25
I switched to Linux 30 days ago... How did it go?
28:46
Craft Computing
Рет қаралды 139 М.
The Magic Separation Trick All The Pros Use
10:48
Dan Worrall
Рет қаралды 37 М.
I tried the Cheapest Arduino Alternative (that Nobody heard of)
13:31
Unlock Big Analog Sound: Audient ASP4816-HE Console
28:50
Produce Like A Pro
Рет қаралды 26 М.