It's actually possible to turn a linear pot into an approximation of a log pot by wiring a resistor in parallel with the wiper and one end. The volume pot is a voltage divider so the amount it "scales" by is given by Scale = Rbottom / (Rtop + Rbottom).
But, if you put a resistor in parallel, you need to work out that:
R = 1 / ((1 / R1) + (1 / R2)) or Rbottom = 1 / ((1 / Rbottom) + (1 / Rfixed)) where Rfixed is the amount you're "bending" it by.
So you could make the amount of "logness" be adjustable by having another (linear) control to vary Rfixed.
You'd work out, for a pot rotation Vol from 0 to 1:
Now for those better at arithmetic than me, how can you reverse this? Imagine you've got a pot in a piece of equipment with a resistor between the wiper and ground giving a log curve, and you've got to read that with an ADC and turn it back into the linear position of the wiper.
It ought to be possible but I've always sucked at arithmetic.
Yeah, I took that to mean to refresh the game and so I did.... and then lost my progress :(. I really want to play the rest but I don't want to go through the rest of the levels.
Finished the game. It was fun to play. I got stuck for a while on the opposite level where the display doesn't update, but was able to go through the rest just fine
I could tell in edge that right side was muted based on the icon next to the address bar and noticed you could use arrows to move one by one so just pressed left 25 times.
This is not an issue at all, but when ever I come across something like it, I like to poke at the frontend in dev tools a bit. You can pass most levels with `setVolume(25)` in the web console, since that function is just sitting in the document object. That feels like the ultimate volume UI puzzle heh.
My favourite bad volume control was in Real Player around 1997 where changing the volume in the application actually changed the global volume of Windows.
That was a hardware/software thing as far as I remember. If it was using something like DirectSound it would adjust the audio independently. Other media players did the same thing.
I feel like that was super common. Apart from changing the volumes of entire channels (e.g. changing the level of Line In vs. digital sound), volume was a relatively “global” thing.
And I’m not sure if that was still the case in 1997, but most likely changing the volume of digital sound meant the CPU having to process the samples in realtime. Now on one hand, that’s probably dwarfed by what the CPU had to do for decompressing the video. On the other hand, if you’re already starved for CPU time…
I was so confused by the CD drives of that era. They all had a volume wheel and a headphone jack, but never once did I experience those working. The audio CDs were always “owned” by the OS, which piped the audio through the normal channels out my speakers or the PC headphone jack.
I imagine the existence of those means that CD drives had their own DAC and other logic. I guess there was an idea of wanting to play CD audio without it being a PC concern? Or on PCs without audio capability?
These mostly seem to be variations of "takes a long time / is tedious" rather than "annoying/fiddly / takes skill / is creatively bad", which is a little disappointing.
Great fun, well done to the horrible person who made it. Apparently my RSS reader leaves the browswr live in the background, as the audio is still playing. Horrible to do on a mobile device. Worst level by far was 17.
I often write small userscripts to neutralise hostile or annoying UI patterns. I played the 'Hostile Volume' game for a while. Nice game! After a while, I wondered: if this were a real hostile website, could I write a userscript to make each level happy? Here is the script:
If you don't have a userscript manager, you can just copy the script between the two backticks and paste it to the web browser's Developer Tools console.
I am familiar with this game. I play a variant of it on iOS everyday, sometimes multiple times a day, with my AirPods and iPhone. I'm not very good though. Somehow iOS always wins and finds a hostile volume to initiate playback with regardless of what I do with the UI.
51 comments
[ 3.5 ms ] story [ 57.8 ms ] thread#3 are almost like Google Maps' zooming buttons. They jump around more, making you click on the map itself or swap in/out.
But, if you put a resistor in parallel, you need to work out that:
R = 1 / ((1 / R1) + (1 / R2)) or Rbottom = 1 / ((1 / Rbottom) + (1 / Rfixed)) where Rfixed is the amount you're "bending" it by.
So you could make the amount of "logness" be adjustable by having another (linear) control to vary Rfixed.
You'd work out, for a pot rotation Vol from 0 to 1:
Rbottom = 1 / ((1 / Vol) + (1 / Rfixed)) Rtop = 1 - Vol Scale = Rbottom / (Rbottom + Rtop)
Now for those better at arithmetic than me, how can you reverse this? Imagine you've got a pot in a piece of equipment with a resistor between the wiper and ground giving a log curve, and you've got to read that with an ADC and turn it back into the linear position of the wiper.
It ought to be possible but I've always sucked at arithmetic.
Love the game, btw.
edit: ok... somehow my approach didn't work the first time, but got to 18!
And I’m not sure if that was still the case in 1997, but most likely changing the volume of digital sound meant the CPU having to process the samples in realtime. Now on one hand, that’s probably dwarfed by what the CPU had to do for decompressing the video. On the other hand, if you’re already starved for CPU time…
I imagine the existence of those means that CD drives had their own DAC and other logic. I guess there was an idea of wanting to play CD audio without it being a PC concern? Or on PCs without audio capability?
The debian bug linked there implies it started 2012 or earlier, and ended in 2019.