It is disappointing that I have to pay a third party (Boom) to get an acceptable volume level out of my (2010) MacBook.
How does Boom accomplish this? Surely it should be no more than a few lines of code.
π
It is disappointing that I have to pay a third party (Boom) to get an acceptable volume level out of my (2010) MacBook.
How does Boom accomplish this? Surely it should be no more than a few lines of code.
π
It is a lot more than a few lines of code. Boom creates a virtual device, pipes the audio output
through it's own buffers, pre-amplifies the content of those buffers before sending them out
to your Mac's default audio output.
So it is necessary to write a driver...
Is it possible to actually damage the physical speaker by outputting too high a volume?
If anyone is able to supply or link to relevant code/doc I would be grateful! I've done low-level audio coding on iOS in the past, but it seems that this operation involves working at an even lower layer that I can barely perceive.
A driver no, not really. What you need to do is capture the audio buffers. Once captured
you multiply the amplitude of the individual samples by some value to increase the overall
volume. Then you pass that processed data back to the default output device.
Your second question, absolutely it is possible to damage any speaker by pushing too much
power to that speaker. However, simply changing the amplitude of the signal isn't actually
increasing the power output. It's more a perceptual thing. A hotter signal, even at the same
volume level, sounds louder.