Linux Audio Explained (ALSA vs PulseAudio vs JACK vs Pipewire Explained)

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ก.พ. 2025

ความคิดเห็น • 387

  • @Roruoni
    @Roruoni 2 ปีที่แล้ว +143

    Pipewire started life as a way to handle the gaps left in Wayland for stream capturing with v4l2 and dma-buff, zero copy screen sharing, audio/video sync, etc. They ended up recreating the pulseaudio server as a plugin and reimplementing the JACK interface with a focus on latency. It really is a wonderful project.

  • @MnemonicCarrier
    @MnemonicCarrier 3 ปีที่แล้ว +107

    Great info! Thanks!!! Have been using Linux for over 15 years, never gave a second thought to how audio works on Linux. After watching this, I uninstalled PulseAudio and installed PipeWire. I have a large living room, and used to get "crackling" when using my Bluetooth headsets. This is no longer the case with PipeWire!! Have only had it installed for an hour though, so will see how it goes.

    • @Lambda_Ovine
      @Lambda_Ovine 3 ปีที่แล้ว +3

      How are you liking PipeWire so far?

    • @MnemonicCarrier
      @MnemonicCarrier 3 ปีที่แล้ว +11

      @@Lambda_Ovine I'm loving it! I'm not really an "audiophile", but it does sound better on my setup (no more intermittent crackling). I've converted my laptops over to Pipewire too :) Does everything I need to do, but my needs are very straight forward and simple (i.e. just need audio through Bluetooth speaker). Actually, I WFH, so I video conference too.

    • @TonyTascioglu
      @TonyTascioglu  3 ปีที่แล้ว +6

      Glad to hear that Pipewire bluetooth is working well!

    • @TonyTascioglu
      @TonyTascioglu  3 ปีที่แล้ว +13

      Actually, I noticed the crackle/stutter under PulseAudio on my laptop as wel last yearl, I had tried so many things with Pusleaudio such as forcing SBC (thinking it would use less bandwidth or something), messing with the server delay and buffer times (thinking it was a buffer underrun or something), even turning off WiFi in case both the 2.4 GHz signals are interfering... I guess this did disappear when I switched over and never noticed, neat!

  • @gavintryzbiak-careai
    @gavintryzbiak-careai ปีที่แล้ว +14

    This is exactly what I was looking for- not a tutorial but an explanation of how everything fits together. You rock!!

    • @TonyTascioglu
      @TonyTascioglu  ปีที่แล้ว +5

      Thanks! Glad you found it useful!

    • @user-uh2cr9so8l
      @user-uh2cr9so8l 5 หลายเดือนก่อน +1

      Yes same here. Thanks Tony!

  • @unfa00
    @unfa00 2 ปีที่แล้ว +45

    Thanks for doing such a nice rundown. I have been using PipeWire for a good few months now without any major issues. I had major issues about half a year ago (I know this video was released even before that time). In my experience so far, BT headphones work better with PipeWire than they did with PuldeAudio, though I don't use them that much. An amazing thing is that using PipeWire I can record audio from my BT headset right into Ardour, like any regular audio input. Plus I can work on my music using them in playback only profile. It's pretty amazing.

    • @TonyTascioglu
      @TonyTascioglu  2 ปีที่แล้ว +4

      Yeah, I think the stability and support for Pipewire has greatly improved in the past year. As for recording audio from Bluetooth, make sure you check which sound profiles you're using, since some definitely sound better then others with Bluetooth (SBC-XQ vs SBC for playback for example)!

    • @unfa00
      @unfa00 2 ปีที่แล้ว +1

      @@TonyTascioglu Ah, interesting! Yes, the quality in duplex over Bluetooth is usually pretty bad. Having an option to improve that would be great.

    • @postmodernidentity
      @postmodernidentity ปีที่แล้ว +1

      YOOOO IT'S UNFA?? HOW IS THIS NOT PINNED??

  • @ChillinAtDaClub
    @ChillinAtDaClub 3 ปีที่แล้ว +66

    Really excellent explanation and exactly the kind of patient, thorough guide through linux audio that I never knew I wanted. I recently had some trouble switching my audio output from the hdmi port on my video card to a usb out connected to my headphone amplifier and suddenly I needed to learn about how sound worked.
    You seem really knowledgeable and did a great job explaining the full stack of technology powering audio. I would absolutely tune in for more videos like this (even if they take a year to put together :-)).
    Thank you!

    • @TonyTascioglu
      @TonyTascioglu  3 ปีที่แล้ว +3

      Hey, thanks a lot for the kind words, glad you enjoyed it!

    • @TonyTascioglu
      @TonyTascioglu  3 ปีที่แล้ว +4

      `pavucontrol` is probably the easiest DE-agnostic way to easily switch inputs and outputs in general or on a per-program basis provided you're using PulseAudio or PipeWire.

  • @BenMartinBox
    @BenMartinBox ปีที่แล้ว +9

    An update to this video, taking into consideration the recent audio technology updates (using ALSA and PIPE WIRE only), would be very welcome. Tank you for this video anyway.

  • @assembledstardust
    @assembledstardust 10 หลายเดือนก่อน +1

    Thank you for keeping this up over the years. It's people like you and content like this that made TH-cam the beautiful place it once was and make me reminisce. Thanks for making me feel nostalgic AND giving me the high level overview I was looking for. Keep on tinkering my friend.

  • @jachymzvelebil3784
    @jachymzvelebil3784 หลายเดือนก่อน +1

    Dude, thank you very much! You really made things clear for me.

  • @guilherme1556
    @guilherme1556 2 ปีที่แล้ว +3

    I've researched a lot about this topic and this was the best explanation I saw on how sound works on linux, thanks a lot for this video.

  • @dylanlahman5967
    @dylanlahman5967 2 ปีที่แล้ว +10

    Really appreciate you putting this together. This is a great overview / intro to understanding the ecosystem

    • @TonyTascioglu
      @TonyTascioglu  2 ปีที่แล้ว +1

      Thanks for the kind words! Glad it is helpful!

  • @theMoporter
    @theMoporter 3 ปีที่แล้ว +17

    This was a really great explainer. I never got how ALSA worked until now. I'm still unsure about Pipewire since it seems so buggy, but hopefully it will be stable enough to try on the next Mint LTS. After all those Ubuntu users test it for us, lol.

    • @TonyTascioglu
      @TonyTascioglu  3 ปีที่แล้ว +9

      Ah yes the Arch/Fedora/SuSe Leap -> Ubuntu/Manjaro -> Debian/CentOS/Mint chain of software propagation...
      Jokes aside, thanks for the kind words and glad you found it helpful!

  • @aurkom
    @aurkom หลายเดือนก่อน

    Finally a proper thorough video on the topic. Thank you!

  • @ggsap
    @ggsap 2 ปีที่แล้ว +1

    Your voice is so calming I always drift off! Had to reattach this video couple of times

  • @smellymala3103
    @smellymala3103 3 ปีที่แล้ว +4

    You are an amazing teacher! It is extremely rare to have capacity for knowledge and a great personality. If only grade school was full of interesting people, everything might be different. Thanks for sharing this knowledge strangely two months before I needed it.

  • @owaistnt
    @owaistnt 3 ปีที่แล้ว +1

    Everytime I am going to explain this to anyone I am going to remember you !!! Thanks for this consolidated information.

    • @owaistnt
      @owaistnt 3 ปีที่แล้ว

      I almote Broke my system while getting my Bluetooth Headset (Microphone) work. But I think I will give up on Bluetooth Headphones atleast for Meetings.

  • @AaronNel
    @AaronNel 3 ปีที่แล้ว +12

    great explanation complete from input to output

  • @user-tn4mr8co5v
    @user-tn4mr8co5v 3 ปีที่แล้ว +1

    Thanks man. It's the only video on Linux audio explained in much detail.desperately required video.

    • @TonyTascioglu
      @TonyTascioglu  3 ปีที่แล้ว +1

      Thanks for the kind words, glad you found it useful!

  • @radscot
    @radscot ปีที่แล้ว +1

    That was a first class system overview; your video really helped me to picture how it all 'bolts together'. Using qpwgraph, I've just set up the laptop microphone -> EasyEffects (so I can use eq, multi-band compression, etc) -> wfview (which then 'feeds' audio to and controls an Icom IC-705 transmitter on my network) and it's all working an absolute treat. All I have to do now is spend a ludicrous amount of time setting up all the EasyEffects components in an attempt to make it sound good(ish). 🙂 Assuming it sounds okay (long story about Icom codecs omitted to save space), the next stage will be to set all this up in a headless Linux box (with a decent audio interface and microphone) and try to emulate an Orban 9105A Optimod-HF using EasyEffects; I might be gone for quite some time! 😀

  • @intermarer9145
    @intermarer9145 2 ปีที่แล้ว +2

    Finally I understand how alsa and pulseaudio interact, and how they relate to OSS! Thanks for the excellent video! Tips for future vids - more b-roll and perhaps slow down a bit

    • @TonyTascioglu
      @TonyTascioglu  2 ปีที่แล้ว

      Thanks for the kind words! Early on, I used to try to get b-roll, but then I started to dread making videos (and I couldn't think of much to film for b-roll for a sound server), so I reverted to back simpler filming and editing... As for slowing down, yeah, it's something I need to work on, it kind of 'just happens' when I get a little passionate.

  • @JacobSpeer
    @JacobSpeer 9 หลายเดือนก่อน +1

    This video helped me grasp things that I wouldn't have known how to search or troubleshoot. I've been able to solve a problem on my PC thanks to you! Appreciate the info 👍

  • @matthammond1737
    @matthammond1737 3 ปีที่แล้ว +7

    You have a talent for explaining things clearly. Thanks.

  • @imojado7294
    @imojado7294 5 หลายเดือนก่อน

    This was very informative. Instead of you going like “yeah use this bc uhh yeah” you actually explained all the options and the pros and cons. Good stuff

  • @michaelutech4786
    @michaelutech4786 หลายเดือนก่อน

    That was a great introduction, exactly what I was looking for! Thanks for your efforts! Really helped to clarify things. I especially liked to get some examples of what the various problems with each of the components are.

  • @ramirogallo6484
    @ramirogallo6484 ปีที่แล้ว +1

    Thanks for taking the time to explain this!

  • @Gamester1128
    @Gamester1128 ปีที่แล้ว

    This is such a good video holy shit! I have been losing my mind over what these software were and briefly explained all their purpose holistically. Thanks!

  • @luisfvperes
    @luisfvperes 2 ปีที่แล้ว +3

    great work, very informative!
    just a footnote: the minimum sampling frequency must always be at least 2x the max frequency being "recorded", otherwise spectral info could be lost, as stated by the Sampling Theorem (Nyquist-Shannon). so even if we can only hear up to ~20kHz we actually need at least ~40kHz in sampling frequency. in reality the distortion caused by the sampling process is almost imperceptible to most people but it exists, and human hearing ranges may vary as well

    • @TonyTascioglu
      @TonyTascioglu  ปีที่แล้ว +2

      You are absolutely correct about needing at least double the frequency to capture the original information as per the Nyquist-Shannon sampling theorem - hence most sound cards running at 48 kHz these days.
      If you're interested, Chris Montgomery also has a great video exploring and demonstrating the sampling process as well as effects quantizing the input over on Xiph's website: xiph.org/video/vid2.shtml

  • @pedropeixoto8176
    @pedropeixoto8176 2 ปีที่แล้ว +1

    Wow! I did not expect this to be so informative.
    By the end of the video, you have put every concept, you had introduced in the beginning, together so clearly.
    Thank you, really.

    • @TonyTascioglu
      @TonyTascioglu  2 ปีที่แล้ว +1

      Thanks for the kind words!

  • @dn2443
    @dn2443 ปีที่แล้ว

    You are the man!!! You finally helped me understand how all these different processes work on my Linux machine. Your approach to explaining everything was genuinely balanced with simplicity --yet covering all the nuances of the interplay. Bravo!!

  • @colonel482
    @colonel482 3 ปีที่แล้ว +19

    I'm a total noob when it comes to linux however If I understand this correctly: Pipewire has the potential to give us pro audio users the ability to route multiple sources to the same and/or different outputs simultaneously. If this is the case, this would be game changing for those looking for advanced audio routing solutions. It would also be much more affordable than using Dante where you would require something like a
    CTP DIO88 Analogue to Dante Converter upwards of ($1000/£1000 give or take) to convert your devices and send them where you need to.

  • @ctusch
    @ctusch ปีที่แล้ว

    Great to have all those technologies, their pros and cons and the relation between them explained in one video - thank you!

    • @TonyTascioglu
      @TonyTascioglu  ปีที่แล้ว

      Thanks! Glad you found it useful!

  • @jamescranefinecarpentry7146
    @jamescranefinecarpentry7146 3 ปีที่แล้ว +3

    Thank you! Very well explained. I have a small music studio and Linux has become my OS of choice in the past year. My Linux skills have not yet been up to the task and I have had to use ALSA exclusively. Pipewire is intriguing me and I will give that a shot. I have one small suggestion for you. If you put a foam pop filter over that mic, your audio would be much improved. Have an awesome day!

  • @ScoobyDios
    @ScoobyDios 7 หลายเดือนก่อน

    I love you, so cool how you know so much and are this passionate about the topic, it seemed so confusing it has been giving me headaches since I switched to linux

  • @nikasonoda5325
    @nikasonoda5325 2 ปีที่แล้ว

    TNice tutorials is actually a very good and straight forward tutorial. No having ask questions or guess, no over-explaining elents, and brings

  • @alexvass
    @alexvass ปีที่แล้ว +1

    Thanks

  • @KennyChong
    @KennyChong 2 ปีที่แล้ว +1

    Stumbled upon this video while searching for a way to get pipewire to output 5.1 surround audio via S/PDIF. Very informative and while it didn't solve my problem, at least I now know more about PulseAudio and Pipewire. Researching resumes...

    • @TonyTascioglu
      @TonyTascioglu  2 ปีที่แล้ว

      Hm, you are probably right. I remember that 5.1 wasn't fully implemented working in Pipewire last year.
      While I don't have an SPDIF output or a 5.1 setup to check on my current system, I checked the supported HDMI profiles and it does allow for a 5.1 or 7.1 output (as well as allowing 5.1 digital output on my old SoundBlaster), so it might be possible using HDMI instead if it isn't supported over optical.

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 ปีที่แล้ว

      I have a 5.1 sound interface connected via USB. All the 6 channels show up for separate connection in qpwgraph, and I was able to route audio to them separately.

  • @marziodactivator
    @marziodactivator ปีที่แล้ว

    @10:17 , i have just learnt that i could sync all my daws thanks to jack. This was the best take away from this video for me. Mükemmel!!!

  • @jan-xs5vm
    @jan-xs5vm 3 ปีที่แล้ว

    Finally, ... I have been waiting so long for a explanation of this. Thanks Tony!

    • @TonyTascioglu
      @TonyTascioglu  3 ปีที่แล้ว

      Thanks! Glad you found it helpful!

  • @harryrarig8931
    @harryrarig8931 10 หลายเดือนก่อน

    Wow! You covered a lot of ground in one video, Tony--my head nearly exploded! Thanks for an informative march through the sordid history of Linux audio, most of which I have battled with at one time. Linux audio can be quite powerful, a Swiss Army Knife with 99 blades; just be careful when using a blade you don't cut yourself on one of the other 98 blades. Cheers!

  • @maxpolaris99
    @maxpolaris99 2 ปีที่แล้ว

    Worth every second of my life listening to this. Thumbs up for quickly orienting me on one piece of this confusing morass that is Linux audio technology.

    • @TonyTascioglu
      @TonyTascioglu  2 ปีที่แล้ว

      Thanks for the kind words, glad you found it helpful!

  • @maxheadrom3088
    @maxheadrom3088 ปีที่แล้ว

    Dude, you cleared a bunch of doubts I had in just 20 minutes! I bought an old Makie Onix-i 16 channel mixer that only works (so they say - I haven't tested) in linux. Also, the UbuntuStudio distro with the low latency driver is wonderful!
    A curiosity: in the old days of 100MHz CPUs, mixing audio was heavy for the processors and digital telephone switchers were built with those processors and requried not low-latency but real-time OS and programming. It was so difficult only 8 countries managed to design and produce them.

  • @patrickwilliams7078
    @patrickwilliams7078 2 ปีที่แล้ว

    A lot of ppl have over the years commented on the messiness and confusion around linux sound and could there be an easier way to deal with it. I have used alsa from the command line and pulseaudio via a gui. Not used Jack as I don't mix sound. Pipewire I've not heard of prior to watching this video. An instructive video which explains the basic differences between the various pieces of software and how they interact to provide sound capability for Linux which can be a bit overwhelming for Linux newbies. Keep up the good work.

  • @jeevika2190
    @jeevika2190 2 ปีที่แล้ว

    thanks so much for this overview! there aren't that many beginner-friendly explanations of how linux's audio backend works!!

    • @TonyTascioglu
      @TonyTascioglu  2 ปีที่แล้ว +1

      Thanks for the kind words, glad it was helpful!

  • @johnnybigpotato2404
    @johnnybigpotato2404 ปีที่แล้ว

    Excellent video bro! I been doing Linux Audio off an on for a couple decades now and only learned enough to navigate and utilize these various apps you mentioned without ever really understanding their interactions. Just getting ready to give it a try again since winter is upon us already. That was super cool! Thanks!

  • @RX120D
    @RX120D 4 หลายเดือนก่อน

    Man, what a great video. Thanks so much for this.

  • @kh0kh0
    @kh0kh0 2 ปีที่แล้ว

    Great video! First time seeing your channel, subscribed! I'm definetly the audience for this type of videos.

  • @bendewachter3789
    @bendewachter3789 6 หลายเดือนก่อน

    Very good explanation. Thanks Tony.

  • @lawrencedoliveiro9104
    @lawrencedoliveiro9104 ปีที่แล้ว +1

    10:03 One reason PulseAudio makes things easier is it basically slots in under the ALSA API. So apps that know about ALSA automatically work with PulseAudio, without noticing the extra PulseAudio layer between them and the actual hardware.

  • @sluagh5534
    @sluagh5534 ปีที่แล้ว

    This video was exactly what i searched for, thank you, it was very informative

  • @SamuelFCampbell2003
    @SamuelFCampbell2003 5 หลายเดือนก่อน

    I just Probed my machine Apple product: MacBookPro9,2Linux Mint 21.3 Virginia Ubuntu 22.04 jammy Desktop: Xfce 4.18.1 hoping to work in Katana 50 BOSS Tone Studio OMG! Wish me luck! Thank you for a very Streaght to the point instructional loved the pace of the info you covered. I have sndio , PulseAudio, ALSA, and PipeWire all running now JACK is not running. Working on it keep on keeping on! Thank You Very Much ~ Samuel 🙌💻

  • @MixYourWay
    @MixYourWay 2 ปีที่แล้ว

    Hi Tony, thanks for all the info you've put together here. I've been editing and recording for over a decade on mainstream platforms, and only recently have started to delve into the Linux side of audio. All these bits and pieces of info are of great help! :D

  • @ewertonestacio
    @ewertonestacio 2 ปีที่แล้ว

    Thanks man. I'm strating on linux and your talk opened my mind. Thanks a lot!

  • @sammikinsderp
    @sammikinsderp 7 หลายเดือนก่อน

    This is a really great explainer on a rather confusing subject.

  • @Paulo-pv8db
    @Paulo-pv8db 3 ปีที่แล้ว +2

    Keep up the good work!!! There's a lot of information out there.
    Few people are able to dive deep into it and explain the way you did!
    Regarding a few comments about your hair... Embrace it!!!
    If i were you, i'd even hang an Einstein poster in the background.
    Awesome people try to help other's succeed. Hater's try to stop other's success!
    You're awesome!!! Keep it up Boss!!!

  • @AndreasTyrosvoutis
    @AndreasTyrosvoutis ปีที่แล้ว

    Lovely vid Tony, quite clarifying.

  • @willemxeno
    @willemxeno 3 ปีที่แล้ว

    Very helpful Tony, thanks for your educated perspective on all of this! -Jan

    • @TonyTascioglu
      @TonyTascioglu  2 ปีที่แล้ว

      Thanks for the kind words Jan, glad you enjoyed it!

  • @tanelrebane
    @tanelrebane ปีที่แล้ว

    Many thanks for the explainatiom - thorough and easy to follow! 👌

  • @pawouapproval984
    @pawouapproval984 3 ปีที่แล้ว

    Thanks for this video! Been having a ton of audio issues, and this should help me fix them, once I understand it a bit better. Much appreciated! Deserved sub!

  • @victoraugustodesouzaesilva4006
    @victoraugustodesouzaesilva4006 2 ปีที่แล้ว

    Thanks man!!! Never saw somebody explain that so well

  • @aliciachavarria4849
    @aliciachavarria4849 2 ปีที่แล้ว

    Worked! What an absolute genius mad lad! Was so easy

  • @TheArchimede
    @TheArchimede 3 ปีที่แล้ว

    thanks man, finally a complete overall look at linux audio systems. keep it up!!

  • @lavellefloyd4639
    @lavellefloyd4639 3 ปีที่แล้ว

    Thank you Tony I really needed a video like this

  • @jerobarraco
    @jerobarraco 2 ปีที่แล้ว

    Man this was a great and comprehensive explanation. And also very fun to watch.
    Thanks !

    • @TonyTascioglu
      @TonyTascioglu  2 ปีที่แล้ว

      Thanks for the kind words, glad you enjoyed it!

  • @Alberaan
    @Alberaan 2 ปีที่แล้ว

    This video was super helpful. Thank you a lot for making it!

    • @TonyTascioglu
      @TonyTascioglu  2 ปีที่แล้ว

      Thanks for the kind words, glad it was helpful!

  • @matthewdraevich4214
    @matthewdraevich4214 11 หลายเดือนก่อน

    Great explanation, thank you for the information you've provided! 😎

  • @hasanaltntas2802
    @hasanaltntas2802 8 หลายเดือนก่อน +1

    Harika! Sunum için teşekkürler. :)

  • @hygri
    @hygri ปีที่แล้ว

    Nice. Finally getting around to moving from xorg to wlroots and pulseaudio to pipewire... I'm a bit of a dinosaur haha so the time has come, been, gone and come again. This was really useful for clarifying some assumptions I'd made about... stuff. Cheers!

  • @famousmwofficial8046
    @famousmwofficial8046 ปีที่แล้ว +30

    thank you brunnette ed sheeran

  • @RobCowie
    @RobCowie 3 หลายเดือนก่อน

    You've got one of the best videos discussing Linux audio on TH-cam by a large margin, but still...wake me up when devs have figured out how to make Linux an actually viable option for professional musicians. "Potential" simply isn't good enough.

  • @hazefields9598
    @hazefields9598 3 ปีที่แล้ว

    An extremely informative video for Linux users that explains things well but in the name of all that is holy, (and I say this as a native English speaker), could you please speak more slowly! I've used OSS, ALSA and Pulse, and will now try to replace it with Pipewire if Debian allows but think of non-native English speakers. You may have been a rapper in a previous lifetime. :)

  • @retronickmusic
    @retronickmusic 3 ปีที่แล้ว

    Thank you for the clear and easy to understand breakdown. I am new to Linux audio, and I'll need to learn a lot because I'm also building a Linux recording setup with Ardour as my centerpiece.

  • @aliazmoncieur2191
    @aliazmoncieur2191 ปีที่แล้ว +1

    Nice video, I learn more about audio on Linux but I hace a question, Katya and pabu control are on the same topic?

  • @LinuxRenaissance
    @LinuxRenaissance 11 หลายเดือนก่อน +1

    I’ve noticed some sound quality issues on my Debian 12 install so I started researching how audio even works on Linux and which sound server to use. So the gist of everything is to use alsa + pipewire, gotcha.

  • @lawrencedoliveiro9104
    @lawrencedoliveiro9104 ปีที่แล้ว +1

    8:45 ALSA also does MIDI. But ALSA MIDI is not compatible with JACK MIDI.

    • @andersgenell1306
      @andersgenell1306 ปีที่แล้ว

      There are actually two “versions” of alsa midi, raw and sequencer (that I believe emulates what oss used to do). There are of course simple “bridge” programs between Jack and alsa midi like a2jmidid

  • @Jelster64
    @Jelster64 2 ปีที่แล้ว

    that was a really great overview. thanks for making this

    • @TonyTascioglu
      @TonyTascioglu  2 ปีที่แล้ว

      Thanks, glad it was helpful!

  • @AkbarNurPribadi
    @AkbarNurPribadi 2 ปีที่แล้ว

    Your hairstyle make me believe in you. 13:20 you also good in rap apparently, love it!

  • @VilleF1N
    @VilleF1N 5 หลายเดือนก่อน

    This actually expained why I'm having so much trouble with setting up VBAN. Now if I could figure out how to work around the problem..

  • @reread2549
    @reread2549 3 ปีที่แล้ว

    Thank you so much for the video. I’m running a development desktop with Ubuntu 20.xx. All my standard devices are working, but I’m trying to test some USB audio output and work with the latency. This really helped with your explanation of the audio servers etc. Thanks again

    • @TonyTascioglu
      @TonyTascioglu  3 ปีที่แล้ว

      Thanks, glad you found it useful!

  • @Akshay56633
    @Akshay56633 3 ปีที่แล้ว

    Thanks for sharing this information. If possible can you please keep making these kind of videos?

  • @unity3dconcepts434
    @unity3dconcepts434 2 ปีที่แล้ว

    Though you made some mistakes while you were speaking but then correcting those by providing text was the best thing. Thanks for the video and for the corrections. Thanks bro..

  • @deniismailov1782
    @deniismailov1782 ปีที่แล้ว

    Amazing video, Thank you very much for your effort!

    • @TonyTascioglu
      @TonyTascioglu  ปีที่แล้ว

      My pleasure! Glad you enjoyed it!

  • @kbcsports5098
    @kbcsports5098 7 หลายเดือนก่อน

    Thanks a lot Tony.. I worked in pulseaudio and I really loved this piece of software... It's just a bit heavy for embedded systems... for eg: AudioFlinger is not as heavy as PA

  • @Blue-bb9ro
    @Blue-bb9ro 2 ปีที่แล้ว

    Great video, transferred to Linux not long ago, and all of that information was messed up in my head. Thanks.

  • @MikkoRantalainen
    @MikkoRantalainen ปีที่แล้ว

    13:30 I think the rapidly repeating audio pattern is caused by x-runs (failure to update the sound buffer before the deadline) instead of sampling issues. Sampling issues typically introduce noise to the highest frequencies only. As a software developer, Pipewire seems to be pretty well designed except that the design opted for timer based loop to read/write the actual audio hardware instead of interrupt based approach that most audio devices do natively. I would have expected the actual hardware interface to always use interrupt based approach and then use timer based loop for the software interface.
    Traditionally the way to fix x-runs problems was to run low latency Linux kernel (PREEMPT config or RT patches, in case of Ubuntu you just install package that's called linux-lowlatency-hwe-20.04 where the number matches your distribution and reboot to new kernel) but according to some user reports the above mentioned timer based hardware handling, some audio hardware has now more x-runs with low latency kernel. I don't understand the rationale for this but I have to trust the user reports about it.

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 ปีที่แล้ว

      Timer-based operation is how real-time systems work. Tasks have to run to completion within their allocated time slice.

    • @MikkoRantalainen
      @MikkoRantalainen ปีที่แล้ว

      @@lawrencedoliveiro9104 Yes, that works in general. However, in case of audio hardware, the soundcard has its internal clock and the system must adapt to it because the clock on the soundcard cannot adapt. In practice, this is implemented by triggering a hardware interrupt activated by the audio hardware.
      For some reason that I fail to understand, PipeWire doesn't do this but pretends that the system clock is good enough and uses that instead. This despite all the existing hardware actually working as I described above.
      If system clock and DA converter clock are in perfect sync, this doesn't make any difference but this never happens in practice.
      I've been writing software for living for a couple of decades now and in my experience API should reflect the hardware environment or you'll see "impendance mismatch" sooner or later as a result of API not actually matching the hardware.

    • @TonyTascioglu
      @TonyTascioglu  ปีที่แล้ว

      Interesting! Thanks for the write up, I had not looked into the implementation in Pipewire and how it fully interacts with sound cards, good to know!

  • @skywalkdesign2023
    @skywalkdesign2023 6 หลายเดือนก่อน +1

    @Tony Tascioglu : As a newbie, trying to familiarise with Linux with a hope to switch over permanently from Windows, I was trying to figure out how to edit video in Linux and make my external mic work to record audio at the same time and I stumble upon this video. I should confess that most of the things went over my head and I couldn’t figure out which one of these programmes should I use to make my mic work. I don’t know what to do. 😢

    • @lelandgaunt7130
      @lelandgaunt7130 6 หลายเดือนก่อน +1

      I tried Linux Mint yesterday, put it on a partition to test it. Everything went well, I like how it looks and feels, but can't get any sound, my rme interface won't work. I tried looking for help and searched for drivers, but everything I came across was too difficult to understand, and what I did understand did not work.
      I erased the Linux partition and I'm back to Win11. 😂 The 6 hrs I spent trying to get it to work is not worth the headache.

    • @skywalkdesign2023
      @skywalkdesign2023 6 หลายเดือนก่อน

      @@lelandgaunt7130 I don’t know what went wrong, but generally the audio should work by default. I am using Fedora and replaced Gnome with KDE Plasma and the default inbuilt sound card worked just fine. I just had some problems with my external mic but ultimately, the internet and TH-cam solved my problem. I am in love with Fedora + KDE. ❤️

  • @dalanxd
    @dalanxd 3 ปีที่แล้ว

    Amazing video, man! Congratulations, I've just subscribed ;)

    • @TonyTascioglu
      @TonyTascioglu  3 ปีที่แล้ว

      Thanks! Glad you found it interesting!

  • @jrex9052
    @jrex9052 2 ปีที่แล้ว

    Loved your explanation! Thank you!

  • @Bizzen
    @Bizzen 2 ปีที่แล้ว

    This is the best free software Ive seen. Respect.

  • @sotem3608
    @sotem3608 ปีที่แล้ว

    Interesting overview of everything!
    I'm also using pipewire, which when finally properly set works fine.
    Only the latency is high for my card when compared to the same device in Windows.
    For example, sending audio to a hardware fx en receiving the signal back takes about 5.5ms in windows, and the lowest I've seen this in my linux setup is 13.6ms (tested using Bitwig).
    Using a buffer size of 256 @ 48000.
    I got the RME HDSPe AIO & RME HDSPe RAYDAT used in conjunction, both excellent cards.
    Also properly configured everything using a realtime kernel.
    And for hardware I have a Ryzen 3950X, 16gb ram, running from a 7GB/s SSD.
    All in all aside from losing a lot of plugins (where I can live with), the latency remains something I'm really bothered by.
    Anyway thanks!

  • @alancosta5477
    @alancosta5477 3 ปีที่แล้ว

    Great explanation! Thanks Tony!

  • @richardleonard2946
    @richardleonard2946 7 หลายเดือนก่อน

    That was very informative. I came here because I recently bought a Hyperdrum virtual drum kit which allegedly connects via MIDI over Bluetooth to a PC running a DAW. I run Ubuntu Linux and discovered that MIDI over Bluetooth on Linux is troublesome at best and I haven't got it working yet with QTractor. One suggestion was to install Ubuntu Studio which they say comes with all the required audio stuff, eliminating the need to find pieces separately and potentially missing things and generally screwing the system up. Still haven't got it working. But we will persevere. I now have a better understanding of Linux audio and the relationships between all the different parts which hopefully will help. Any suggestions from anyone are most welcome. Thank you.
    P.S. Can't get it working on a Windows machine either... no that I really want to.

  • @alx8439
    @alx8439 ปีที่แล้ว

    Thanks a lot for this introduction

  • @nekoill
    @nekoill ปีที่แล้ว +1

    Great video, thank you!

  • @AbarSimorgh
    @AbarSimorgh 3 ปีที่แล้ว

    Thank you for the excellent explanation. Greatly appreciated.

  • @CoolansX
    @CoolansX 3 ปีที่แล้ว

    The Same Bluetooth problem happened with me... But on pulseaudio.... And I was hearing about pipewire from many different source.. I decided to give it a try... Now my Bluetooth devices works flawlessly....

  • @boxerfencer
    @boxerfencer 3 ปีที่แล้ว

    Great vid! I'd be interesting in hearing where these technologies are along in the bsd community

    • @TonyTascioglu
      @TonyTascioglu  3 ปีที่แล้ว +1

      Thanks!
      Looks like BSD support is improving! www.phoronix.com/scan.php?page=news_item&px=PulseAudio-Better-FreeBSD
      Seems like there are some ports out there, but I haven't tried it personally.

  • @XFrendX
    @XFrendX 2 ปีที่แล้ว

    thx buddy for the explanation, it helped me!

  • @lordofthewest
    @lordofthewest 2 ปีที่แล้ว

    Great video, very informative. I wish I could hear it.

  • @jacobvictory
    @jacobvictory 3 หลายเดือนก่อน

    I appreciate this, thank you!

  • @bloody_albatross
    @bloody_albatross 2 ปีที่แล้ว +1

    ALSA can do software mixing. PulseAudio is not required for that. I listened to "podcasts"[1] while playing SNES emulators on Linux before there was PulseAudio. What PulseAudio can do is to give each program a different volume, resample, and route different programs to different output devices. And what PulseAudio actually did when it first arrived was to add such a huge audio latency that gaming and watching videos under Linux became impossible. Well, I had to uninstall PulseAudio to fix it.
    [1]: Wasn't called a podcast back then. Was mp3 files of Chaosradio manually downloaded from an FTP server.

    • @andersgenell1306
      @andersgenell1306 ปีที่แล้ว +1

      I came here to say something like that. Dmix, dsnoop, plug, route and so on defined in asoundrc it rock solid if a bit cumbersome. There is also the possibility to setup ladspa plugins within the asoundrc settings file to e.g. split and filter audio for a satellite+subwoofer system.

  • @grovesson
    @grovesson หลายเดือนก่อน

    I have a Focusrite Solo 3rd gen and it was plug and play with pipewire. Had to set default microphone via terminal but later found out you can do it with pavucontrol.