[HN Gopher] Reverse-engineering my speakers' API to get reasonab...
___________________________________________________________________
Reverse-engineering my speakers' API to get reasonable volume
control
Author : jamesbvaughan
Score : 248 points
Date : 2024-07-25 15:11 UTC (2 days ago)
(HTM) web link (jamesbvaughan.com)
(TXT) w3m dump (jamesbvaughan.com)
| rahimnathwani wrote:
| I know it is tangential, but this about his old system caught my
| attention: With that system, I could set the
| amplifier's analog volume knob such that the max volume out of
| the streamer corresponded to my actual maximum preferred
| listening volume, giving me access to the full range of Spotify
| or AirPlay's volume controls.
|
| Assuming an analog input, this might result in a noticable
| quality reduction at low volumes.
| jamesbvaughan wrote:
| In this case, I was using the optical out from a WiiM mini into
| a Yamaha amp. I don't know much about digital audio, but I know
| that I was able to control the volume of the WiiM's digital
| output with that setup.
|
| On the other hand, I use a Schiit Asgard at my desk, where I
| have it connected to my Mac via USB-C. In that setup, I have no
| control over the volume level going in to the Asgard. MacOS
| just disables the software volume control when I'm using that
| audio output.
| rahimnathwani wrote:
| I think for a WiiM mini to control the volume on the digital
| output, it would need to scale down every sample. This is
| probably fine over some range (it has a 24 bit output, so
| putting the volume at two thirds, would still result in 16
| bits, the same as CD). But I'm curious what would happen at
| very low volumes, e.g. if you're down to only 4 bits.
| mattclarkdotnet wrote:
| Each bit is ~6dB, so 2/3 perceived volume is still 23 bits.
| 8 bits is 48dB, which is less than 1% of the original
| volume, and still using 16 bits
| TylerE wrote:
| And this is why all computer audio should be 24 bit
| internally. A lot of the newer pro apps are actually
| using 32 bit floats
| rahimnathwani wrote:
| Too late to edit my original comments. I am clearly
| mistaken about the relationship between amplitude and
| perceived loudness.
| hunter2_ wrote:
| Reducing excessively before the DAC and high gain after the DAC
| is far more likely to result in quality reduction, due to
| quantization error. Having reasonable levels before the DAC and
| just the right amount of gain after the DAC (e.g., via an
| amplifier's attenuator setting) is the best possible scenario.
| So TFA's prior setup may have been superior in this regard,
| depending on how the digital volume control on the new speakers
| is implemented (i.e., before the DAC, or as a VCA after the
| DAC).
|
| Where this breaks down is if the analog signal path (after the
| DAC) consists of something noisy after the attenuator. Passive
| attenuation (like built into an amp, or the master fader of a
| mixer, etc.) won't add noise, but something active like an
| outboard EQ would. The attenuation to set desired max level
| must be completely last (before power amp) to avoid noise.
| jeffbee wrote:
| We really don't want to be touching the digital signal. The
| state of the art is to change the DAC reference level,
| putting the DAC output at the sweet spot for the analog stage
| for any given ultimate output level.
| AceJohnny2 wrote:
| Tangential fun fact: amps have a fixed gain, because it's hard
| to make a variable gain without distortion [1]. The volume knob
| doesn't control amplification, in fact it controls an
| _attenuation_ stage, because it 's easier to make variable
| attenuation with low distortion.
|
| [1] that's why there were so many different "classes" of amps,
| they're all making different tradeoffs about how they're doing
| the amplification.
| jamesbvaughan wrote:
| That helps explain why the "volume" as represented on disk in
| the debug bundle as "attenuation" and was measured in
| negative dB.
| rahimnathwani wrote:
| According to Claude, the attenuation stage is before the
| power amp stage. Does that mean worse SNR whether the volume
| is controlled using the volume control or via the input?
|
| (Ignoring the additional quantization issue with a scaled
| digital input.)
| kevin_thibedeau wrote:
| Class D doesn't have any attenuation. This is a big factor
| in their greater efficiency.
| dreamcompiler wrote:
| You could put the attenuation stage _after_ the power amp
| stage but it would require big beefy resistors that could
| absorb a lot of power. They 'd get hot and the whole thing
| would be very inefficient.
|
| But hey, very low distortion.
| kogir wrote:
| While I'm all for physical controls, especially ones that self-
| adjust to reflect the state of the remote device at all times, I
| wonder if the author just doesn't know you can finely adjust
| volume in iOS control center by force/long pressing and then
| dragging.
| jamesbvaughan wrote:
| This is a great point! When I'm using AirPlay, that feature is
| really useful. I'm more often using Spotify Connect though,
| where I'm limited to either using the physical volume buttons
| on my phone, the small slider in the desktop app, or the slider
| that's many clicks in to the Spotify mobile app.
|
| In reality though, this project is more about the fun of it
| than about it being a really pressing need.
| EthicalSimilar wrote:
| It also works when using Spotify Connect on your iOS device.
| If you can use your volume buttons to control it you can also
| adjust it with the slider in the control centre.
| jamesbvaughan wrote:
| You're correct, TIL!
|
| That's really helpful to know. At this point though, I'm
| excited enough to build a volume knob that I'll probably
| still do it.
|
| edit: After trying this out it a bit, it's definitely an
| improvement over the small sliders and a huge improvement
| over the stepped volume changes from the buttons, but I'm
| still left wishing I could make use of more than ~10% of
| the slider's full range.
| swyx wrote:
| spotify has so many user hostile practices that I am
| completely mystified why the majority of the population seems
| to prefer them in a world where youtube music exists.
| jamesbvaughan wrote:
| The only competitor that I've given a fair shot is Apple
| Music. I'm not thrilled with either. Between those two,
| Spotify wins solely for Spotify Connect. I much prefer the
| way it works to AirPlay.
|
| I haven't really tried YouTube Music, but I'll give it a
| go. I've been meaning to try out Tidal too but haven't yet.
| iamacyborg wrote:
| If you've a computer to run it on, I highly recommend
| trying Roon out as a superior alternative to Spotify
| connect.
| stereo wrote:
| What do you prefer about Roon?
| iamacyborg wrote:
| They're not increasing my subscription to give me stuff I
| never asked for.
|
| On an actual technical side, I can stream to multiple
| devices concurrently, the interface is cleaner and it
| supports a local music library.
| jdsully wrote:
| With youtube premium you get no ads on youtube and
| youtube music. Its a great deal.
| xyst wrote:
| Why do speakers even expose a web api in the first place? It's
| just easily available without any security?
|
| Hope this person segmented this device away from other devices.
| The lack of basic security in the IoT space is astounding to me.
| jamesbvaughan wrote:
| It is concerning. On this particular model, it's available over
| plain HTTP, provides no auth settings, and provides an easy
| input for uploading new firmware.
|
| https://jamesbvaughan.com/volume-controller-1/basic-web-inte...
| giraffe_lady wrote:
| "The S in IoT stands for secure."
| denysvitali wrote:
| I was looking for this comment. Basically he managed to get a
| sort of unauthenticated R/W access to the file system.
|
| This is really concerning
| kopirgan wrote:
| This runs in your laptop? Very interesting.
| jamesbvaughan wrote:
| For now, yes. I'd also like to make a standalone wireless
| physical volume knob and I may try to make an iPhone app for
| it. Ideally I'd be able to override the behavior of the volume
| buttons, similar to how Spotify is able to do that on iPhones
| when you're using Spotify Connect.
| jamesbfb wrote:
| That position of the couch infuriating! And yes I bet you moved
| that lovely looking couch back after the photo :)
| jamesbvaughan wrote:
| Don't worry - that couch isn't for listening :)
|
| I've got a very comfy and intentionally positioned chair on the
| other side of the room for that.
| dkga wrote:
| I love this type of posts, and I'm amazed the speaker exposes its
| API like this.
|
| The kid in me thinks there could also be a way perhaps to
| transmit audio through this (or another) API? (very low chance,
| but...)
| NixCald wrote:
| Fantastic, this could be iterated on by setting it up as a custom
| airplay speaker with re-mapped volume thresholds.
|
| https://github.com/mikebrady/shairport-sync
| rectang wrote:
| > _Those methods either give me a tiny slider that I can only use
| 10% of or about 15 steps where the jump from step 3 to step 4
| takes the speakers from "a bit too quiet" to "definitely
| bothering the neighbors" levels._
|
| Volume controls need to be logarithmic, not linear.
|
| To a first degree approximation, _everybody_ gets this wrong.
| TheNewAndy wrote:
| Volume controls also shouldn't just be a flat wideband gain -
| they should respect how we actually perceive sound so the
| timbre doesn't change as the level changes (when you turn the
| volume down, you are typically left with just the stuff in the
| vocal frequency range, and lose all the bass etc).
|
| Doing this stuff well is pretty hard (e.g. designing filters
| that can do that kind of volume adjustment is hard because you
| want to be constantly adjusting them, which means you need to
| be super careful with your filter state) but I have heard what
| it sounds like, and once you hear it you get angry at all other
| volume controls.
| jamesbvaughan wrote:
| > Volume controls also shouldn't just be a flat wideband gain
| - they should respect how we actually perceive sound so the
| timbre doesn't change as the level changes (when you turn the
| volume down, you are typically left with just the stuff in
| the vocal frequency range, and lose all the bass etc).
|
| The amp I'm upgrading from was interesting in this regard. In
| addition to the main volume knob, it had a loudness knob. The
| manual actually recommended keeping the volume knob fixed
| most of the time and using the loudness knob to set the
| listening level throughout the day.
|
| From the manual:
|
| > 1. Set the LOUDNESS control to the FLAT position.
|
| > 2. Rotate the VOLUME control on the front panel (or press
| VOLUME +/- on the remote control) to set the sound output
| level to the loudest listening level that you would listen
| to.
|
| > 3. Rotate the LOUDNESS control counterclockwise until the
| desired volume is obtained.
| XlA5vEKsMISoIln wrote:
| Amazing. This is probably _the_ correct way do make amp
| controls. I 'd say the volume should be a multi turn trim
| potentiometer in the back of the device so you don't have
| to brief your guests on correct operation.
| userbinator wrote:
| That's because most volume controls also affect the output
| impedance.
| Saris wrote:
| My cheap Behringer NU1000DSP that I use as a subwoofer amp
| can do that to some extent with its dynamic EQ, and you can
| set it up via USB with a PC app which is a huge step up from
| some crummy little LCD and buttons.
| ruuda wrote:
| Yep. I was always using only the low end of the volume slider
| and having the same problem as OP that the steps were too
| coarse. So for Musium, I added a logarithmic volume control
| with a step size of 1 dB. That difference is on the border of
| being perceivable in the range I usually listen at, which is
| fine enough in practice.
|
| https://docs.ruuda.nl/musium/loudness/
| nox101 wrote:
| Even friggen Apple, who seem to have a rep for caring about
| such things. I'd say I'd need at least 5 more levels between
| off and the lowest volume on my iPhone. It's way too loud to
| use in a quiet room. I have to try to cover the speaker.
| hilbert42 wrote:
| I wish someone would solve the opposite problem in PCs and
| laptops--that of too little audio gain. Designers never leave any
| gain in reserve for when audio input levels are too low.
|
| Why do they do this? The problem is so obvious that you'd reckon
| they're doing it to deliberately annoy users.
|
| The problem doesn't stop there, the lack of gain with Bluetooth
| is notorious. Almost every Bluetooth device I own has
| insufficient gain, franky it's a damn nuisance. The audio in the
| two sound bars that I own is so low on some audio material that
| I'm thinking of pulling them apart to see if I can find an op amp
| and increase its feedback resistor to obtain more gain. I should
| NOT have to do this.
|
| Let me give you an example, the audio levels on many YouTube
| videos can be all over the place. Often the audio can be 6 to 10
| dB below what it ought to be, thus it's impossible to listen on a
| laptop's speakers, especially so when one is listening in a
| location where the background noise is high.
|
| What's wrong with the designers who design this digital stuff,
| don't they ever use the equipment themselves?
|
| Haven't they ever seen a traditional radio or HiFi where the
| volume potentiometer is off at the 7 o'clock position, 12 noon is
| the maximum volume with a nominal one volt input signal or a
| radio station that's using normal levels of modulation, and the
| reserve gain is the range from the noon position to the 5PM one?
|
| Do I have to say it again? The reserve gain is for when the input
| signal is lower that it ought to be. The world is not ideal,
| audio signals can be far from ideal--even from high tech
| companies like Google.
|
| Occasionally help comes along, VLC has settings that allow the
| gain to be set to over 100 but I've often had situations where
| even VLC hasn't had the necessary reserve.
|
| I've come to the conclusion the designers and programmers of this
| digital equipment haven't a clue about how ordinary amplifiers
| work. Or they have never taken the trouble to find out. They just
| assume a 16-bit input has 65536 levels and that's the range. Full
| stop! They never give consideration to what happens when the peak
| audio input covers perhaps less than one third that range of
| bits.
|
| To get enough volume I've even had to use the audio equalizer,
| that's when one has been available, and often there is not. To
| get the extra gain I slide all sliders to maximum. Having to do
| this frequently is an ergonomic nightmare.
|
| This is what happens when the arrogant digital world is too prowd
| to take a leaf out of the analog world--the world that managed to
| get these issues right about a century or more ago.
| marshray wrote:
| > Why do they do this?
|
| So they don't damage users' speakers, their hearing, or
| generally cause annoyance.
|
| > They just assume a 16-bit input has 65536 levels and that's
| the range. Full stop! They never give consideration to what
| happens when the peak audio input covers perhaps less than one
| third that range of bits.
|
| 1/3 of 65536 is still +-11,000 voltage levels, or 14.4 bits of
| information. That's a really good place for a signal to be! It
| leaves a bit (literally) of room for the peaks without
| clipping.
|
| Now if you meant 1/3 of 16 bits = 5.3 bits of information, that
| is indeed a poorly recorded signal. +-20 voltage levels. It's
| going to sound terrible whether you boost it digitally or
| analogly. (is that a word?)
| hilbert42 wrote:
| _" So they don't damage users' speakers, their hearing, or
| generally cause annoyance."_
|
| Damage speakers? Simply, not an issue unless they're one step
| removed from rubbish. Also, have you ever heard of output
| compression and clipping that would protect them? That
| approach is 101 electronics.
|
| Hearing is not an issue as they're driven by flea power
| (they're not headphones). Even hearing these pissy little
| speakers when running flat out is difficult enough. And my
| hearing is fine.
|
| And where are the regulations that specify a maximum sound
| level rating for laptops?
|
| By comparison, my 4.5 x 2.5" palm-size Sony transistor radio
| type ICF-510MK2 (which I'm currently holding in my hand) not
| only has stacks and stacks of gain on very low level audio
| (I've never needed to turn the volume up past halfway), and
| it simply blows my expensive Lenovo laptop away when it comes
| to maximum output level (I've no trouble hearing it several
| rooms away). There are no regulations covering how loud it
| sounds. OK, I've now given everyone a reference device for
| comparison. I'd put it up against any laptop I've heard in
| recent times and it'd win hands down every time. BTW, I only
| paid $9 for it but that was a few years back.
|
| You're right about the bits, it was a throwaway figurative
| comment to make a point.
|
| I cannot understand why so many people come to the defence of
| poor ratshit design. My expensive Lenovo laptop, like my Dell
| laptop, are not fit for purpose when it comes to the audio
| subsystem. If I can't hear it on a nominal range of audio
| signals such as those mentioned from Google then, by
| definition, they're not fit for purpose.
|
| The same nonsense has been wheeled out in recent days in
| defense of Microsoft's BSOD/crash. As I said on another post
| that Dark Ages Windows OS ought to be ditched or rewritten
| (once running, BSODs should never occur unless there's a
| hardware fault no matter what's loaded into the kernel). If
| it goes belly-up then it's bad design, QED.
|
| Why defend the indefeasible? That people do and don't
| complain is why our lives are surrounded by so much shitty
| partially-functioning tech.
| ddingus wrote:
| This is one area where I feel Apple did pretty well.
|
| My M1 Air has great sound and a solid max output level.
|
| Recently, I was given an old Sound Pop gen 2. That thing
| also delivers a lot of sound while also handling low input
| levels decently.
| hilbert42 wrote:
| You're right. I'm not an Apple user but their equipment
| and performance is pretty much tops. From the outset Jobs
| was aware that ergonomics and usability were the key to
| success.
|
| Apple is now about the richest company in history, so why
| don't others manufacturers realize this and copy their
| example?
|
| It doesn't make sense why other manufacturers alienate
| users over unintelligible sound. The extra cost of
| getting it correct is negligible. Why can't they see
| that?
| trte9343r4 wrote:
| Just use Linux, you can set all sorts of gains and limits on
| Pulse Audio, for each app and speaker individually.
| hilbert42 wrote:
| I normally do but using Windows is sometimes unavoidable.
|
| I'd add that in addition to the two Windows laptops mentioned
| in my reply to the above post, I've also a Toshiba laptop
| that's running Linux, it's audio hardware is so shitty that
| it can't be rectified by Linux. Not only is it's audio output
| low but its crummy little speakers sound terrible. Linux,
| which I love, sometimes is only part of the solution
| Jerrrrrrry wrote:
| // Yes, this is JavaScript embedded in HTML embedded in
| TypeScript. // I only recently learned that you
| can reference elements by ID this way. // It's kind of
| horrible but also I love it on tiny pages like this.
|
| You have to kind of embrace the duality of every moment.
| -Spencer Dinwiddie
| whynotmaybe wrote:
| You could check the m5stack dial for your next step.
|
| A rotary knob with an integrated esp32.
|
| https://shop.m5stack.com/products/m5stack-dial-esp32-s3-smar...
| jamesbvaughan wrote:
| ooh, thanks for this. I will check that out!
| laurencei wrote:
| Hey OP - if your thinking about a smart knob with haptic feedback
| etc - check this open source project out that you can build
| yourself - its amazing:
|
| https://github.com/scottbez1/smartknob
|
| Video demo here: https://www.youtube.com/watch?v=ip641WmY4pA&t=1s
| jamesbvaughan wrote:
| That seems like it could be perfect. Thanks!
| taneq wrote:
| Oh man, this has been on my to-build list for ages, right up
| there with the 6 axis "3D mouse" build. I love the attention to
| detail.
| stavros wrote:
| I made a SpaceMouse the other day, it was really easy, mostly
| just the print. It took around an hour to assemble
| everything, I think? It also worked very well.
| RobotCaleb wrote:
| Which one did you make?
| stavros wrote:
| This one is my make:
|
| https://www.printables.com/model/908684-spacemouse-mini-
| slim...
| albert_e wrote:
| Wow!
|
| I had dreamed of physical "analog" controls as a standard
| feature on keyboards and input devices for various applications
| -- would be great productivity booster for power users.
|
| I wish this catches on and gets mass adoption.
| laurencei wrote:
| Yeah - me too - I dont have the time/tools to build these
| myself - but would happily pay for them as a product.
| netsharc wrote:
| Logitech has such a keyboard: https://www.logitech.com/en-
| us/products/keyboards/craft.920-...
| vunderba wrote:
| Nice - be interesting to see what kind of integrations they
| have for the knob (at a bare minimum I better be able to
| play break out and scrub video in da Vinci).
|
| I use a Keychron Q2 which has a dial at the top-right -
| it's mostly pretty good though I wish it were a little bit
| easier to program and of course it doesn't have haptic
| feedback.
|
| https://www.keychron.com/products/keychron-q2-pro-qmk-via-
| wi...
| auc wrote:
| The Das keyboard has a volume knob that's pretty nice
| IshKebab wrote:
| "you can build yourself"
|
| Technically yes, but that is a serious project.
| laurencei wrote:
| Yeah - I actually asked on the Discord if anyone was selling
| them pre-made - I would buy some if available.
|
| I dont have time/tools etc to do this.
| criddell wrote:
| If it's $200 in parts then a premade item would be at least
| $400 and probably $500. There probably isn't much of a
| market at those prices.
|
| The bill of materials needs to come way down to sell it for
| much less than that. Buying the parts in hobbyist-level
| bulk (100 pcs) probably would only shave $100 from the
| final price.
| IshKebab wrote:
| Easily $600. Especially considering how niche this is.
| possibleworlds wrote:
| Nice speakers! I'm guessing the model, if correct here are some
| spins for those interested
| https://www.erinsaudiocorner.com/loudspeakers/jbl_4329p/
|
| Weird you can't limit digital output. I also listen mostly at low
| volumes and have the same issue. Part of the reason I chose Sonos
| is this is built in across all products, alongside an effective
| loudness toggle. This has been particularly helpful with some
| little Genelec 8010s I use as desktop speakers plugged into a
| Sonos Port.
| gregoryl wrote:
| How are you going with the new Sonos app upgrade?
| possibleworlds wrote:
| Perfectly fine, I actually prefer it in almost every way.
|
| The only issue I agree is truly serious is the latest release
| draining battery on iOS with or without background activity
| disabled. That's a real bad bug to introduce and I'm
| surprised it hasn't been fixed yet.
| Dwedit wrote:
| What the hell browser makers... Make it so that file:// URLS are
| extremely locked down and doesn't have enough rights to even
| fetch files in the same directory (or even itself), yet grant
| localhost URLs full permissions...
|
| There's a reason why local web applications aren't a collection
| of HTML and JS files, and are instead full copies of the Chromium
| browser.
| NavinF wrote:
| What are you talking about? The OP made requests from his Bun
| server. CORS would obviously break any request made directly
| from js in the browser
| cyanmagenta wrote:
| The difference is that file:// URLs can be opened by your
| grandparent opening a .html file that they downloaded, whereas
| http://localhost requires you to actually set up a web server.
|
| Imagine double-clicking a malicious page.html and suddenly your
| entire Documents folder can be fetched and manipulated by
| JavaScript. Yikes.
|
| But to your latter point, yeah, there's no reason sandboxed web
| apps couldn't be given better file:// permissions.
| recursive wrote:
| This drives me nuts. <script src> works on file, but <script
| type=module src> does not. In order to use ESM imports from
| file:// you have to load the scripts from blob:// URLs. It
| seems crazy to me.
| ly wrote:
| I think the article incorrectly states that KEF is owned by
| Harman, I can only find evidence on the contrary.
| jamesbvaughan wrote:
| It seems that you're correct! I'm not sure what led me to
| believe that. I'll update the post when I get home later.
|
| edit: fixed
|
| I dug into the API similarities between the speakers more and
| it seems like they're both using this software called StreamSDK
| [1]. I hadn't heard of that and it's given me more to research
| on these.
|
| [1] https://www.streamunlimited.com/stream-sdk/
| doctorvaughan wrote:
| I love this. Thanks for posting.
|
| Your Father and Mother must be very proud of you.
| radicality wrote:
| Seems like the author moved from a "speakers + networked amp"
| setup, to a one where with active speakers where everything is
| built-in.
|
| When I was buying speakers for my apartment some time ago, I was
| similarly considering going for the all-in-one options like this,
| but I'm glad I didn't. I prefer the "dumb passive speaker +
| networked amp", as it allows you to pick / replace / upgrade the
| separate components. Went for the KEF LS50, and for the amp
| Lyngdorf TDAI-1120. And that's despite KEF having the all-in-one
| active version of those speakers. Very happy with my choices!
| jamesbvaughan wrote:
| > Seems like the author moved from a "speakers + networked amp"
| setup, to a one where with active speakers where everything is
| built-in.
|
| Close! I moved from a "speakers + non-networked amp + streamer"
| setup.
|
| I'm still running separate components for nearer-field
| listening at my desk, where I've got KEF Q150s powered by a
| small Schiit pre-amp and amp.
| radicality wrote:
| Nice! I don't have any Schiit gear, but few months ago I
| started reading the founders book 'Schiit Happened'. I got
| halfway through (and then got distracted by other books, need
| to pick it back up), but can definitely recommend it for
| anyone interested in audio, and especially if you already
| have some Schiit!
| jamesbvaughan wrote:
| Oh cool, I wasn't aware of the book but I'll check it out.
| iamacyborg wrote:
| I have the "wireless" powered kef ls50 and the regular ones.
|
| The wireless model has significantly better bass response and
| sounds much better to my ear.
|
| I actually had a fault with them recently and they stopped
| working, I'd bought the speakers used on ebay and even had I
| had a warranty they were past 5 years old by the point the
| fault developed. Regardless, kef repaired them entirely for
| free. 10/10 would buy again.
| dsr_ wrote:
| KEF builds an equalizer into the
| radio->DAC->crossover->amplifiers chain, and the default for
| that is much of what you are hearing.
|
| The other part is that they hugely overbuild the amplifier
| sections (at least by rating -- 280W for the mid-woofer and
| 100W for the tweeter.
| cmiller1 wrote:
| I don't even bother with a networked amp, you can plug a
| chromecast/airplay/bluetooth receiver into a dumb amp.
| torphedo wrote:
| Wow, I never thought speakers would connect to the network, let
| alone be running Linux and a webserver for a hidden interface.
| Honestly, I thought speakers still weren't any more complicated
| than "convert this digital signal into a signal playable by the
| driver" with a volume knob.
| batch12 wrote:
| The digital to analog conversion is even complicated for a
| speaker. They just take the analog signal. It's really just an
| electromagnet that moves a cone that vibrates and pushes air
| around.
| Scaevolus wrote:
| Do the speakers require the Content-Type header to be set? If
| not, POST wouldn't require CORS permissions.
| jamesbvaughan wrote:
| They do require the Content-Type header
| KolmogorovComp wrote:
| This begs the question, why buy oversized speakers of which you
| can only use 10% of the range instead of smaller speakers?
|
| Is the sound quality better when not approaching to maximum
| volume?
| poisonborz wrote:
| You can't buy quality sounding speakers without them being high
| powered.
| KolmogorovComp wrote:
| Do you mean physically, or as in there's no market for high-
| quality low-powered ones?
| poisonborz wrote:
| Both. To fill a larger room with enough balanced sound with
| all types of music implies enough headroom that most of the
| time it will be overpowered. Also everybody would take a
| mostly overpowered speaker over a sometimes underpowered
| one.
|
| The "small quality speakers" category is filled by decent
| bluetooth speakers and a few pc/desktop 2.0 models.
| somat wrote:
| On my todo list is to build my own set of network attached
| speakers. superficially, it does not appear too hard, that is,
| seemingly possible for even my very limited mechanical
| integration skills.
|
| BOM: a halfway nice powered speaker with an integral amp and a
| single board computer. mount the sbc onto the speaker. then use a
| audio server to ship the sound around. I am a huge obsd fanboy so
| I would use sndiod but the linux ones(pipewire?) would probably
| be better for the task.
|
| The main thing stopping me from doing it is that it turns out I
| dislike dumping sound into the atmosphere, nothing wrong with it,
| I just don't enjoy blasting music. so I just stick to my
| headphones, and think about it once in a while.
| christina97 wrote:
| For those considering buying speakers: (1) do it, (2) get passive
| ones and a separate amp. Honestly it's such a mature market that
| buying these active speakers just creates e-waste. Keep the
| e-waste to the amp. You can get really solid speakers for $300
| and a cheap amp with BT for $50-100, replacing them basically
| independently depending on your needs.
| Mo3 wrote:
| Which speakers would you recommend in that price range?
| alfanick wrote:
| I would recommend some older B&W (Bowers & Wilkins) from 6xx
| or DM6xx series. You can find them cheap on eBay etc, I use
| those since 15 years and cannot complain.
| stereo wrote:
| The most expensive boxes you can afford from Canton. Or buy
| second hand - they will sound like new.
|
| But speakers are something very subjective, and while I'm
| still delighted with the Canton I got for a discount, your
| ear might prefer something different. This is something where
| comparing in a physical store with a passionate salesperson
| can be worth it.
| squarefoot wrote:
| Quality active speakers very rarely break, but one should buy
| them from studio gear (e)shops instead of the nearest mall. I
| totally agree on other gimmicks that would add single points of
| failure and should be kept out.
| Endurancee wrote:
| Quality of active speakers are really good these days, they
| have matched amps and speakers from neumann, genelec etc also
| has active crossover which is superior than any passive setup.
| Mature market sure, but even companies like KEF who didn't
| offered or focussed much on active systems, have growing range
| of options now.
| 2OEH8eoCRo0 wrote:
| Nobody is arguing their quality is bad, but that amps die
| long before speakers die. Do passive speakers even die?
|
| Also, online services built into these will die before the
| speakers do.
| atoav wrote:
| Sure from a longevity perspective, you are 100% correct and
| for HIfi/Home use I'd recommend the same.
|
| I am not sure however if your estimation is correct for all
| cases. The amount of killed tweeters I have seen would not
| have happened with an active speaker..
| otteromkram wrote:
| > I am not sure however if your estimation is correct for
| all cases.
|
| Apologies. Next time they'll do a 10-year study on the
| subject before daring to comment on a public forum,
| ensuring that each and every angle is covered so that le
| smart folks like yourself will be able to sleep at night.
| cobbaut wrote:
| >The amount of killed tweeters I have seen would not have
| happened with an active speaker.
|
| My 1978 (no brand) speakers are still in excellent
| condition, so are the 1991 Bose. Hifiberry works fine.
| ymmv
| recursive wrote:
| They can. I've seen low quality drivers physically break.
| Presumably with brittleness from age.
| globular-toast wrote:
| Passive speakers can often be repaired anyway. My oldest
| pair is from 1972. It's had new tweeters and I've refoamed
| the woofers.
| tomaskafka wrote:
| Or, imo even better, get a lasting amp as well and make the
| changing part (receiver) external. I have a pair of timeless
| speakers and amp with optical input, and AirPort Express 2 to
| provide Airplay capability.
| layer8 wrote:
| Active crossovers usually sound better than passive ones, and
| with active speakers the amp is generally better matched to the
| drivers. In addition, speaker design keeps evolving, as does
| people's budgets, so it's likely you'll want something else in
| 10-20 years.
|
| I also never had an amp fail other than by cranking it up too
| high with the wrong speakers.
| nubinetwork wrote:
| My cheap bestbuy tv is the same way... 0-100, and anything above
| 10 is extremely loud...
| kefabean wrote:
| In a similar vein, I was delighted to discover that my rather
| elderly Audiolab M-DAC (used as a pre-amp) exposes its master
| volume control over USB digital input when plugged into a RPi.
|
| Although I don't use USB for audio (rather buggy) the control
| interface works perfectly.
|
| I duly created a websockets API that allows me to remotely
| control the volume over wifi via a phsyical rotary controller.
| Allows me to conceal all the hifi equipment in a cupboard
| upstairs but remotely control it from a knob downstairs in the
| kitchen.
|
| Like the OP I also implemented volume limits to prevent
| accidental damage to the speakers (primarily from twiddles by
| little fingers)....works a treat!
| illusive4080 wrote:
| I struggled with volume control on my computer, it's always too
| coarse. I found out that you can hold Option+Shift when pressing
| the volume button on Mac to do more fine grained adjustments.
| jamesbvaughan wrote:
| Wow I had no idea that this was possible, thanks!
| jitl wrote:
| Pro-tip for embedding JS in an HTML string in a Typescript file:
| you can get full typecheck etc for your embedded JS snippet if
| you write it as a top-level function in your file, and then
| interpolate the function into your template.
|
| This works because function.toString() in modern runtimes gives
| you back fully parse-able input source.
|
| You need to make sure you don't reference anything outside the
| function, but it's generally nicer overall than JS-in-string.
|
| Then you treat it as an IIFE. Example: function
| globalJS() { document.write('hi') } const html =
| `<script>(${globalJS})()</script>`
|
| I use this technique for calling AppleScript-flavored-JS from
| NodeJS too.
| jamesbvaughan wrote:
| > This works because function.toString() in modern runtimes
| gives you back fully parse-able input source.
|
| TIL - that is good to know. I'll probably leave the post as-is
| but I will use that in the future.
| magxnta wrote:
| I have this issue with my Echo next to my bed. Even on vol 1 it's
| too loud for me.
|
| So, instead of using the Spotify alexa skill, I have to use my
| phone and connect it via bluetooth, so I can turn down the volume
| on my phone in addition to using the quietest volume on the Echo.
| tgtweak wrote:
| Can anyone recommend a good open source software that allows you
| to cast using all the popular protocols to an rpi? Feels like the
| "smart" part of these smart speakers and devices seems to be what
| dies first. I've got a 4 year old pioneer receiver that has built
| in Chromecast and it simply stopped working (likely deprecated
| API/sdk) with no updates to fix it. Likewise there's tons of
| great amplifiers and receivers/speakers out there that could
| easily be updated to support modern streaming and speaker
| aggregation with minimal e-waste.
|
| My favorite "smart" speaker in the house is a very old (~20
| years) Altec Lansing 2.1 speaker kit that has a (sadly now
| discontinued) Chromecast audio plugged into it's headphone in.
|
| Edit: found this which looks to fit the bill -
| https://github.com/balena-io-experimental/balena-sound
| jamesbvaughan wrote:
| If you end up looking for a product that does this rather than
| building it yourself, I've had a good experience with the WiiM
| Mini: https://wiimhome.com/wiimmini/overview
| msephton wrote:
| Nigel Tufnel: The numbers all go to eleven. Look, right across
| the board, eleven, eleven, eleven and...
|
| Marty DiBergi: Oh, I see. And most amps go up to ten?
|
| Nigel Tufnel: Exactly.
|
| Marty DiBergi: Does that mean it's louder? Is it any louder?
|
| Nigel Tufnel: Well, it's one louder, isn't it? It's not ten. You
| see, most blokes, you know, will be playing at ten. You're on ten
| here, all the way up, all the way up, all the way up, you're on
| ten on your guitar. Where can you go from there? Where?
|
| Marty DiBergi: I don't know.
|
| Nigel Tufnel: Nowhere. Exactly. What we do is, if we need that
| extra push over the cliff, you know what we do?
|
| Marty DiBergi: Put it up to eleven.
|
| Nigel Tufnel: Eleven. Exactly. One louder.
|
| Marty DiBergi: Why don't you just make ten louder and make ten be
| the top number and make that a little louder?
|
| Nigel Tufnel: [pause] These go to eleven.
|
| - This Is Spinal Tap (1984)
___________________________________________________________________
(page generated 2024-07-27 23:09 UTC)