MacOS v. Bluetooth Headsets—How to Get Good Mac Sound Output #amwriting

I praised my Razer Hammerhead BT headset last week for its superb sound output from my Mac. I’d like to say it was easy—but I had to do some digging to make it so.

Before anything, in order for great, lag-free sound to come out of your Mac via Bluetooth, your Mac must support Bluetooth 4.0 or greater, and your BT headset must also support it. To find out if your Mac supports this BT version, select About This Mac from the Apple menu, then click on the System Report… button near the bottom of the window that results.

Checking BT Compatibility

Click on Bluetooth in the System Information window that opens. You’re looking for

  • Bluetooth Low Energy Supported: Yes
  • HCI Version: 4.0 (0x6) (or higher)
  • LMP Version: 4.0 (0x6) (or higher)

Alternatively, you could check the Bluetooth version by using Mactracker, a free utility available on the Mac App Store, which holds the specifications of every Apple device ever built. Ever.

Your BT headset’s box or its website should clearly state which version of BT it supports. If it doesn’t support 4.0 or better, none of the rest of the info in this article will work.

Checking Codec1 Compatibility

If your Mac supports BT 4.0 and you have a MacOS released since 2015, you’re good on the Mac side. Your Mac supports both the aptX and the AAC codecs, so if your headset has either, you’re in business.

If your BT headset not only supports BT 4.0+ but also supports the aptX codec, you’re in great shape! Most headset manufacturers brag about aptX if they’ve got it, so check the manufacturer’s website to find out. Failing aptX, check whether the headset supports Apple’s AAC codec (it almost certainly does if advertised as usable with iOS.) AAC won’t get you quite as good sound as aptX, but many people can’t hear the difference.

Persuading Your Mac to Play Nice

So now, you know that your BT headset and your Mac can talk to each other fast enough and well enough to get beautiful sound. What’s the problem?

Sometimes, the Mac refuses to use higher bandwidth codecs, even though they’re available on both the Mac and the BT headset. Why, no one seems to know, least of all Apple. But you can work around this with a developer utility called Bluetooth Explorer, which you can get via a link in this article by John H. Darko. Mr Darko’s article also explains how to force use of aptX or AAC by using Bluetooth Explorer once you’ve got it.

I did this, but my MacBook Air was still downgrading to the horrid SCO codec. Now what?

After a good deal of Internet research, I found that the problem lies in Apple Dictation. Often, when you connect a BT headset, MacOS will automatically assume that you want to use the headset microphone for dictation. This is not a bad assumption in and of itself, but when MacOS selects a BT headset for dictation, it will automatically downgrade the BT codec, whether you’re actually using dictation right now or not. (You could use dictation, any time now, is its feeble mechanical rationale, so it had better be prepared…)

One solution is to simply turn off dictation on your Mac. If you’re a writer, though, this may not be practical. An alternative solution is to leave the internal microphone selected for dictation, and manually switch to your BT headset mic if needed. Here’s how to implement either possibility.

Mac Dictation can sabotage your headset sound

  • Open System Preferences
  • Click on the Keyboard panel
  • Click on the Dictation tab
  • Click the “Off” radio button to turn off dictation completely
  • OR—from the drop-down menu beneath the microphone icon, choose “Internal microphone.” (Do not choose Automatic; that’s what’s causing the problem.) The machine may whine2 about how this won’t give you best results. Ignore it.

Now music should pour forth from your Mac and sound beautiful on your BT headset. If you should decide that you want to dictate some text and use your BT headset to do it, go back to System Preferences and manually change dictation input to your BT headset. The codec will downgrade but you won’t care because you’ll be dictating and you can’t listen to music at the same time anyway. Manually change dictation input back to Internal Microphone when you want to listen to music again.

Tooth Fairy makes controlling your mic more convenient.

Another possibility: a little utility available on the Mac App Store, called Tooth Fairy, $2.99 USD. It will let you put an icon in your menubar for your headset (and also display its battery status). You can connect and disconnect the headset by clicking on the icon. If you right-click, you can access Tooth Fairy preferences—which let you disable the headset mic, by means of its Advanced… settings. Thus you avoid needing to dig deep into the System Preferences; leave them as they are, and just turn the mic on or off as needed from the Tooth Fairy icon.


  1. What’s a codec? “Codec” is short for COde/DECode. A codec is simply a set of rules for compressing your sound before the Mac sends it, and then decompressing it on your headset before it’s played. The more information the codec can send and/or receive in a given amount of time, the better the sound on your headset. aptX is excellent, AAC is not bad, SBC stinks, and SCO is monaural transmission suitable only for voice calls. 
  2. Display a yellow triangle warning message. 
Advertisements

Scrivener v. iOS, Part 5 — Index Card Workflow Concluded

UPDATE 4 January 2018

As of Mac Scrivener v 3.0.x, Index Card sync is no longer supported. The following article applies to Mac Scrivener 2.9 and earlier ONLY.


20140125-094003.jpgOnce again, this is not an ad for Index Card – I would be delighted if there were any competitor that could access as much or more of my Scrivener projects’ structures.

If you’ve followed my blog posts on Scrivener v. iOS, then you’ve set up your Scrivener project, synced it to Index Card, and worked happily on your iPad far, far away from your Mac. Now you’ve got some changes to your project in Index Card, and want to update your Scrivener project.

Once again, no part of the sync process for Index Card is automatic. You must manually go to the Sharing menu in Index Card and select Copy to Dropbox. Be sure the “Export Notes” option is on. Then, from the list of file formats, tap on “Index Card.” You should see an “Uploading to Dropbox…” message. If you get an alert saying, “Existing File,” go ahead and tap “Replace.”

Back on your Mac, you will need to open your Scrivener project, and select “Sync > With Index Card for iOS…” from the file menu. In the popped-up dialog box, click the “Update collection from Index Card” button. That’s it.

Note that you will get no warning whatsoever from Scrivener that there may have been changes in the Index Card version. It is all too easy to work on the iPad in Index Card and forget one of the two steps – either not copy from Index Card to Dropbox, or not sync from Dropbox into Scrivener – and then wonder what the heck happened to your work. If this happens, don’t panic! Just start the sequence from the iPad with the copy to Dropbox, and then the sync from Dropbox to Scrivener. If you have conflicting changes, they will show up in the Updated Documents collection. Since you checked “Take Snapshot before updating main text” item in the sync dialog (you DID check it, didn’t you?) you will be able to merge your changes via the snapshot.

Avoid syncing back from Scrivener to Index Card until you are sure all your changes are saved in Scrivener properly. Conversely, I suggest you sync back to Index Card before working in Index Card again, even if you make no changes in Scrivener. The reason? Scrivener will continue to update all its documents that were changed in Index Card since it last synced out to Index Card. Once again, this can lead to unexpected conflicts. So, the pattern is: Scrivener to Index Card, Index Card back to Scrivener, then Scrivener back to Index Card again.

IN PART 6: Some notes on External Folder Sync workflows.