[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Search]

[Emacspeak] Re: Me vs. Mac Audio -- The Saga So Far...



This should be in something like emacspeak-sounds.el. If you do something like C-h f and feed it one of the sounds commands, in the resulting help window (C-x o to get there), you can tab to find a link to the file where that command comes from. Pretty darn cool part of Emacs. You can also get to a similar help window with C-h k and then do, for example, C-e ) or C-e ( (left or right parenthesis.)
Devin Prater
r.d.t.prater at xxxxxxxxx

Https://devinprater.micro.blog

On Feb 15, 2023, at 11:01 AM, Robert Melton via Emacspeak <emacspeak at xxxxxxxxxxxxx> wrote:

TL;DR: This post just basically says what I have learned so far, and where I am at
in debugging the robotic and distorted audio issues that can occur on MacOS with
heavy use.  No solutions are below, so if you don't use Mac and don't care about
this issue -- skip it.

----

What is the issue?

With extended heavy and rapid use of Emacs-Plus (27, 28, 29 or 30) or Emacs-Mac
on modern MacOS (12+) with any modern Emacspeak (I use master, but this has
been happening for awhile) the Mac audio subsystem will become garbled, robotic
and distorted.  This does not impact only sounds from Emacspeak but all sounds,
including Spotify, other apps, everything.  When you exit emacs this completely is
remedied and stuff normalizes.  Yet, this appears to have a trailing impact in some
way as once it happens it will very quickly happen if you reopen Emacs.


----

What have you looked at as the cause?

At first, myself and other users expected it might have to do with 3rd party audio
modifications on MacOS, and while this does make it more pronounced, it is not
the cause, I have confirmed on a few complete install on an M1 Mac Mini.

The next idea was that it was a specific version of Emacs, specifically Emacs-Mac.
Again, this was a contributing factor to the problem, but not the cause. I produced
it with a fresh built Emacs-Plus 28.2.

So, then I thought it might be the python mac server, so I wrote a new one in Go
to see if this was the case, and while building (and using) my new server, the bug
came up again. So it isn't the python mac server. I might complete the server, it is
just really getting started at https://github.com/robertmeta/fastmac -- I still want a
faster more easily concurrent server for Mac that has less requirements to install.

So then I thought it might be thrashing the audio API on mac via the sounds
playback in the mac server (which applies to tones as well, patch incoming soon)
and while this was an improvement and again might have added to the mean time
between failures -- it was again not the core issue.

By pure luck, as I was doing this stuff over the last few weeks I started using and
loving Ivy and Swiper. This was great timing, as I can consistently bug out my
sound with Ivy and Swiper witha couple tries. It appears to be related to sounds
played during typing / using backsapce in like swiper for example. With enough
overlapping / concurrent noises the sound gets blown out.

So with a lot more digging, I confirmed that this is completely unrelated to the
python mac server!  With audio icons disabled this bug is completely gone, does
not occur in any way that I can cause.

----

So where are we now?

I am in the process of understanding how the audio icons work and how they get
attached to events and where the code that actually interfaces with the MacOS
audio system lives.  I am new to Emacs and Lisp so I am slower than the average
bear at finding the right place, but slowly but surely making progress... any tips and
pointers greatly appreciated.

----

Anything you specifically didn't try yet?

I did not try with the base Emacs package that can be installed with brew.  It feels
very far from working with my config and setup so I have not dove in too far to
testing it, This is indeed worth testing and I will probably attempt it this weekend.

--
Robert "robertmeta" Melton
_______________________________________________
Emacspeak mailing list -- emacspeak@xxxxxxxxxxx
To unsubscribe send an email to emacspeak-leave@xxxxxxxxxxx



|Full archive May 1995 - present by Year|Mailing list's archive of current year by month|


If you have questions about this archive or had problems using it, please contact us.

Contact Info Page