Replies: 1 comment
-
TL;DR: you can do this in NightDriver and you could do it with an 8x8, but
it'd be a bit more chunky than what's shown.
There are a couple of ways you can do this. This was the 80's, so you
have better tools at your disposal than even (TV) "Hollywood" had in their
budget for this kind of a show. The "hard" part (hint: there is no hard
part) is already present in the code. Audio is captured into a buffer. You
don't even really need the FFT code (that's already there); you just need
to capture the peaks and I don't have time to look at it right now, but I'm
about 95% sure there's already peak detection there. Heck, you can do the
FFT and throw 95% of the results away, reduce everything into one frequency
bucket and you have ... peak detection.
In TV and movie sets, there weren't a lot of people hand-crafting this
stuff from scratch. Heck, if you have access to a 3D printer and $20 of
ESP32-class gear on your desk, you have capabilities that ILM dreamed of
until long after Knight Rider was (mercifully) taken off the air.
Everything was made from something and painted or clay-modeled.
It's not quite the look you're asking about, but it's adjacent. Glen Larson
used the "Larson Scanner" in several of his projects, including KITT,
Galactica (hey, wasn't a Cylon effect just added? Maybe you couldn't find
it because it's misspelled. It's HERE
<https://github.com/PlummersSoftwareLLC/NightDriverStrip/blob/411d9cdcff053a662a923fd2466a703dc44095ac/include/effects/strip/misceffects.h#L510>.
:-), Buck Rogers, and even the A. Team. (TV of the 70's doesn't have to be
good for me to remember it. I just lived through the 70's; I didn't create
it...) An approach today is comparatively easy: you just have to take that
effect and modulate it by the received audio stream.
It's in the back of my mind that the original wasn't digital and didn't use
LEDs. That "slow decay" isn't a clever digital
<https://github.com/PlummersSoftwareLLC/NightDriverStrip/blob/411d9cdcff053a662a923fd2466a703dc44095ac/include/effects/strip/misceffects.h#L544>
trick of a slow fade over time. LEDs of the era were not bright enough to
be seen on camera at a distance through the often-required smoke or dust so
they used giant taillight bulbs with big dumb filaments that just took a
moment to cool down from their near-melting temperature while they were on
until they no longer emitted light. (This is why filament signal lights
look so "spongy" to us now that we're all used to seeing LEDs with instant
offs waiting ahead of us to turn.) I think somewhere I saw that the
original "larsen scanner" used in the KITT cars (there were multiple cars;
some used for interior shots and some not) was basically a bunch of
taillights with the positive lead connected to something like a 20 position
switch with a big dumb motor in the middle that just rotated slowly through
the connections and that had the bottom half flipped relative to the top
half to handle the 'reversing' effect. (Remember that trick.) So those were
mechanical and modulated only by time with some element of time (probably
the speed on the "wiper motor" driving the contraption) depending on how
aroused the car was and brightness, which was clearly the intensity of the
bulbs. All just plain analog and mechanics.
Companies made glorified motorized relay
<https://www.youtube.com/watch?v=cxLF3DohJVM> thingies for chaser signs
<https://www.invaluable.com/auction-lot/6ft-vintage-double-sided-lighted-chaser-arrow-sign-8260-c-bec456ea2e?srsltid=AfmBOopxW9ybiOO3DUMmLEbH6HPoOnrLWqPl4XW6nUJzXJmmY9V-IzCw>
for
decades, but ISTR that the original Larsen scanners didn't even use the
budget of buying old sign parts and putting taillights in a mask. I think
I've read it was strictly mechanical and just one contact made at a time
that looks physically very much like the schematic
<https://i.sstatic.net/yx20F.png> representation of them did.
Still, the project you're highlighting here is slightly more clever than
what they used on the outsdie. I see six commodity 10-segment leds
<https://www.sparkfun.com/products/9935>. These were common as far back as
the 70's and reds were bright enough to be seen in an interiour camera
shot. I remember using them in CB radios even then. Now they're available
in places like https://www.sparkfun.com/products/9935 There's some irony
that it's even easier to do now with an MCU in a world where every LED has
its own little digital tech in it. (If the LED versions were too small,
little dashboard lights and some cut-out/taped acrylic would have done it -
that worked for the computers on the Enterprise.)
Still, six segments! Isn't that hard? No. The bottom half is all just
mirroring the top half. Now you have three segments. Look carefully at the
left and right segments. They're identical to each other - there's no
pretense of stereo and really no reason for there to be any, so if you make
the outer segments are electrically the same, we're down to two segments.
The outer segs are actually just scaled down versions of the middle
segment. In electronics, this would probably be something like an PN2222
with log gain, but that's easier inthe digital domain where you can just
divide the scaler. Now you really only have one segment to reason about and
the rest almost come along for the "ride". (hahaha)
Work out the audio effect for that one segment, then replicate a scaled
down version for the outer edges. Then mirror the whole thing across the X
axis to get the "descender" version on the bottom. You're now only
computing one segment.
So with the block diagram mentoring over the way (let us know when your
semester project is ready for review!) let's go back to yoru specific
question:
Could you do this on an 8x8 matrix?
Depends upon how faithful you wanted to be. The video shows 3px wide and
20px tall. If you keep the flip in the middle, an 8x8 has only four pixels
to grow from either direction in the center. Could it be recognizable?
Sure. If you wanted to stay in the WS2812 matriices, the closest aspect
ratio might be the 4x12 panels <https://s.click.aliexpress.com/e/_DkA5QmT>and
you could choose to either leave an outer edge black or double up on the
center two. (Its not easy to cut the ends off these.) The 8x32's have
<https://s.click.aliexpress.com/e/_DkA5QmT> similar tradeoffs in a more
common form factor, but it's just plain big by comparison and these aren't
easy to cut. There's nothing stopping you from taking a 144px/meter strip
and cutting that to the exact geometry you need, but you're still bound by
the square still being about 10mm each.
You could go a little bit off the ranch (I don't think I've seen a
show-and-tell using them in this project, though I've tested the code with
them...) and move to the 2mm WS2812 mutants and build up your own board.
These are called the WS2812C-2020 <https://www.adafruit.com/product/4684>
where the 2020 represents the number of millimeters in each direction -
2.0. Again, you can start with small 2.7mm strips
<https://s.click.aliexpress.com/e/_Dl7qjo7> (other strips
<https://www.saberbay.com/products/ws2812c-2020-mini-led-strips>)and piece
them together or find them in prepared matrix panels
<https://s.click.aliexpress.com/e/_DCfR5yb>or make your own PCB with
whatever physical geometry you like. If you're not trying to exactly fit it
into that exact model of a Firebird (trivia: look up the derailed train
story and how it impacted the show...) you may have more latitude on the
exact geometry, number of pixels, etc.
This isn't very NightDriver-ish, but there's also nothing that says you
have to solve this with addressable pixels, is there? Knight Industries
struggled with mounting the CRTs (!) that were used for a few
closeup shots, but if the physical dimensions work better that you can
stick a whole LCD panel in there. Maybe it's a 2.8 LCD display or a 2.2 TFT
<https://s.click.aliexpress.com/e/_DB31ucn> or smaller. If it fit into the
designated spot, you'd have MUCH more control on the layout of the
columns, amount of colored mask and so on. (Source
<https://www.crystalfontz.com/> Sourcd
<https://www.waveshare.com/product/displays/lcd-oled/lcd-oled-2.htm> Source
<https://4dsystems.com.au/product-category/lcd-tft-and-oled-displays/4d-lcd-tft-display/>
You can program these like a tiny little monitor because they ARE tiny
little monitors. (Better resolution than VGA... for $3.) Tt would not be
trivial to program this within the constraints of NightDriver, but it
wouldn't be rocket surgery. You could either make solid line displays or
make up round circles to simulate the chonky individual lights just by
leaving a little black space around each luminous blob. It's all in how you
design it.
For the software side, look in Draw of tempeffect. I think the key is that
it'g getting the Volume Unit from the analyzer here
<https://github.com/PlummersSoftwareLLC/NightDriverStrip/blob/411d9cdcff053a662a923fd2466a703dc44095ac/include/effects/strip/tempeffect.h#L147>,
but I'd definitely study that code for inspiration. The other code I'd poke
would be the spectrum effects, particularly where it's looking
<https://github.com/PlummersSoftwareLLC/NightDriverStrip/blob/411d9cdcff053a662a923fd2466a703dc44095ac/include/effects/matrix/spectrumeffects.h#L638>
in the g_Analyzer to Draw() or in specializations like Insulato
<https://github.com/PlummersSoftwareLLC/NightDriverStrip/blob/411d9cdcff053a662a923fd2466a703dc44095ac/include/effects/matrix/spectrumeffects.h#L82>rs
or just plain VUMeter
<https://github.com/PlummersSoftwareLLC/NightDriverStrip/blob/411d9cdcff053a662a923fd2466a703dc44095ac/include/effects/matrix/spectrumeffects.h#L153>
code. There may not be a perfect match of code to just copy and paste, but
"blink per listened to sound" is pretty well covered in those two (and
related) files.
So, YES, it's totally possible to do. Doing something that would be
recognizable isn't even that difficult, really, as most of the infra is
already in the project and just not well documented to end users. Depending
upon how faithful you need to be physically to the original, you have a
wide variety of options at various cost and complexity points to hit, but
with the ideas here and a few of your own, it's absolutely possible.
Go forth and build!
…On Fri, Aug 30, 2024 at 5:16 AM lxne ***@***.***> wrote:
I was thinking if it is possible to make an an effect that simulates
K.I.T.T.'s voice box from the Knight Rider series.
If it is unclear what I am thinking about, here is a demo of the voice box…
https://www.youtube.com/watch?v=RvuecLUC6ek&t=264s
Theoretically an 8 x 8 LED matrix could do it, right?
—
Reply to this email directly, view it on GitHub
<#650>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACCSD37HIOHB254SZYUHOFTZUBBADAVCNFSM6AAAAABNMFYQEOVHI2DSMVQWIX3LMV43ERDJONRXK43TNFXW4OZXGEYTEMBWGI>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi, I was thinking if it's possible to make an effect that simulates K.I.T.T.'s voice box from the Knight Rider series.
If it is unclear what I am thinking about, here is a demo of the voice box…
https://www.youtube.com/watch?v=RvuecLUC6ek&t=264s
Theoretically an 8 x 8 LED matrix could do it, right?
Beta Was this translation helpful? Give feedback.
All reactions