Genos internal memory: A speculation

First, you have to get the mule’s attention.

Yamaha Genos™ hasn’t hit the streets yet and here is a speculative article about its hardware design…

I’d like to thank Kari V., Mihai and Joe H. on the PSR Tutorial Forum for getting this mule’s attention. They deserve the credit.

Spex

Here are a few Genos specifications that drew curious looks:

  • Polyphony: 256 (max.) (128 for Preset Voice + 128 for Expansion Voice)
  • Voice expansion memory: Approximately 1.8GBytes
  • Internal memory: Approximately 58GBytes

Normally, a Tyros has a large hard disk inside for bulk storage. The hard drive contains a file system to hold style files, song files, text files and a whole lot more. The Tyros 5 shipped with a 500GB hard disk drive. Tyros 5 internal memory — some form of non-volatile flash — is spec’ed at approximately 6.7MBytes. Yes, megabytes.

Word from the demonstrations is that the Genos has neither a hard disk drive nor a solid state drive (SSD). Thus, “Internal memory” is not directly user expandable or upgradeable. Eliminating the hard disk drive, the bracket and access door makes good sense because it reduces weight and chassis complexity. SSDs are still a little pricey for a cost-sensitive manufacturer like Yamaha. If it’s not a hard drive and if it’s not an SSD, then what is it?

Next, what’s up with that polyphony spec? 128 voice polyphony when you play preset voices only and 128 voice polyphony when you play a voice from user voice expansion memory? That’s rather unorthodox.

The high-level view

This is where the Yamaha SWP70 tone generator (TG) integrated circuit (IC) comes into the story.

The SWP70 uses ONFI-compatible NAND flash as its waveform memory. “ONFI” is the industry standard Open NAND Flash Interface. ONFI-compatible chips are the same NAND flash used in SSDs. The SWP70 caches the waveform data in a fast SDRAM just like an SSD in order to have fast, random access to samples.

Yamaha have created a tone generator IC that integrates an SSD-like flash and cache controller. This design eliminates the cost and latency of the SATA bus which normally connects an SSD within a PC or Mac.

For the hardware inclined, here’s a short speculative answer. There are two tone generator ICs each having their own ONFI flash memory. One TG and flash memory (call this one “TG A”) handles factory presets. The other TG and flash memory (call this “TG B”) handles user expansion voices.

The “TG B” flash memory is 64GBytes of ONFI NAND flash. Through software, it is partitioned into a file system partition (62GB?) and a user expansion voice partition (2GB).

The file system partition contains the initial factory content (4GB). The remaining space (58GB) is the “Internal memory” quoted in the Genos specifications.

So, Yamaha engineering decided to use space in one of the ONFI flash memories for bulk storage in order to cut the weight and expense of a magnetic hard drive (heavy) or an SSD (lighter than a hard drive, but not cheap).

If this is true — if — then there are some positive implications for the future of Genos. More at another time.

Ingenious, yes. User expandable, no.

Do I know this for sure? Oh, hell no. We need a service manual. Even a visual inspection of the digital logic board (DM) might not be conclusive.

The low-level view

The notional diagram below shows some of the major interfaces to the SWP70. [Click on images to enlarge.]

  • The CPU bus connects the SWP70 to the main control CPU and other major subsystems that require CPU-based data and control.
  • The ABUS allows SWP70s to communicate with each other when more than one SWP70 is in a system.
  • The waveform memory (NAND flash) communicates with the SWP70 over a Open NAND Flash Interface (ONFI) bus. This open industry standard lets Yamaha use commodity flash memory for waveform ROM. Waveform memory is split into upper and lower bytes with shared control signals. This arrangement instantly doubles bus bandwidth versus a single ONFI data channel.
  • The Serial audio bus brings audio data into the SWP70 (e.g., from the ADC) and sends audio data to the DACs and other subsystems.

Then, the fun begins. The SWP70 has three parallel SDRAM memory channels for wave and DSP working memory.

  • The DSP working memory is a large, scratch-pad memory for effect computation. I believe this memory is also the working memory for Montage FM-X.
  • The Wave working memory is a fast, read/write data cache which holds samples after they are read from the waveform memory. Remember, NAND flash favors sequential block mode read access, transferring data on the nibble-serial ONFI bus. The wave working memory plays the same role as the data cache in an SSD storage unit.

Memory capacities vary across products depending upon target polyphony, effect workload and, of course, the sample set.

Here are capacities for the PSR-S770, PSR-S970 and Montage. All capacities are physical (i.e., raw physical storage space).

             AWM     Waveform    Wave     DSP
          Polyphony   Memory   Working  Working
          ---------  --------  -------  -------
PSR-S770     128      512MB      32MB     8MB
PSR-S970     128       2GB       32MB     8MB
Montage      128*      4GB       32MB    16MB
          * Stereo/mono

The Montage DSP working memory is twice as large as the PSR-S970 reflecting the larger number of supported effect units.

The ONFI standard is the same standard used in solid state drives (SSD). Thus, Yamaha can reap the benefit of lower cost commodity flash. The wave working memory caches data just like an SSD. The SWP70 design yields maximum bandwidth to and from NAND flash without the expense or latency of a SATA bus. Thanks to ONFI, Yamaha can increase waveform memory size by dropping in higher capacity ONFI-compatible devices. User waveform (voice) expansion memory resides in these same memory components, so one should expect bigger user expansion memory in the future as well as bigger factory sample sets.

The SWP70 reads and writes two flash memories in tandem effectively sending a 16-bit word on each ONFI bus cycle. (See diagram below.) One memory provides the HIGH byte and the other memory provides the LOW byte. The same ONFI control signals are sent to both. For people who like to trash Yamaha for not using SSD, please note that tandem access doubles the transfer bandwidth over a single ONFI data path solution. (Of course, an SSD could do the same thing.)

I’ll bet that using the ONFI waveform memory for file system access made the tone generation guys nervous. Would file system traffic rob memory bandwidth from the tone generators?

Yamaha know latency. They spend a lot of time, money and intellectual effort understanding latency and conquering it. That’s where the second waveform working memory comes into play. Samples heading to the tone generators could be held in one waveform working memory while file system data could be held in the second, separate working memory. This organization separates the memory traffic and prevents file access from disturbing the critical, must-be-predictible sample stream. When the two channels arbitrate for the ONFI bus, the sample stream feeding tone generation could be given priority.

Copyright © 2017 Paul J. Drongowski

A few quick Genos links

Just wanted to offer a few quick Yamaha Genos™ links.

If you haven’t seen the Genos demo by Martin Harris, please don’t wait any longer. Martin is one of the key Genos developers. Pay close attention! His demonstrations always hit the sweet spots in a new Yamaha keyboard. There is a no talking, all playing demonstration, too.

I also would like to draw your attention to Frank Ventresca’s blog post about the Yamaha Genos. Frank attended the Genos demo in New York City.

Full disclosure: I bought my Yamaha PSR-S950 from Frank at Audioworks CT. I met Frank when I tested the Tyros 5 at his store. He is a knowledgeable, solid guy who gigs with this gear. A good dude.

Played a Montage, again, yesterday. The Genos vs. Montage battle is alive in my mind. I’m not in a big hurry to buy, so please expect this comparison to drag out — possibly until NAMM 2018 when the “Half Monty”, MOXF successor might be announced. Oh, yeah, that one is in the works. Sometime.

Genos genesis

After fits and starts due to early leaks, Yamaha have launched the Yamaha Genos™ digital workstation. You can check out Yamaha’s content through the Genos concept site or the Genos product pages. [Click images to enlarge.]

There’s no point in regurgitating Yamaha’s on-line content, so I will just summarize highlights here.

  • Size: 48-9/16″W x 5-7/16″H x 17-15/16″D
  • Weight: 28lb, 11oz (13.0kg)
  • 9″ color touch screen (TFT color WVGA 800 x 480 pixels)
  • Live Control display (OLED 589 x 48 pixels)
  • 9 sliders and 6 knobs that are fully assignable
  • 76-key FSX keyboard
  • Joystick with modulation and joystick HOLD
  • Synthesis: AWM2 and Articulation Element Modeling (AEM)
  • Polyphony: 256 (128 for preset voice + 128 for expansion voice)
  • 550 styles total (punchy drums and DSP effects)
  • 1,652 voices + 58 drum/SFX kits
  • 216 arpeggios: instrument arps, e.g., strums and control arps automate Live Control
  • 28 insert effects including VCM effects
  • Vocal Harmony and Synth Vocoder
  • Audio recording: Audio (WAV 44.1kHz, 16-bit, stereo) and MIDI SMF
  • Audio playback: WAV (44.1kHz, 16-bit, stereo) and MP3
  • MultiPads (both audio and MIDI)
  • Internal memory: 58GBytes (approximately)
  • Connectivity
    • S/PDIF digital audio output
    • Three USB TO DEVICE ports (front panel, back panel, bottom)
    • Wireless LAN (IEEE 802.11b/g/n) depending on regional type acceptance
  • 32-bit digital-to-analog converter (DAC)
  • 1.8GBytes user voice expansion memory built-in

The Genos looks to be a nice overhaul of the now staid Tyros product line. If you’re familiar with Tyros — and I’m assuming that you are — then you are not super surprised at some of the features while being pleased (or not) to have a color touch screen, lots of assignable knobs, sliders and buttons, a secondary OLED display to show parameters, doubled polyphony, S/PDIF, wireless LAN (maybe, in your region), and a 32-bit DAC.

Yamaha have chosen to issue only a single 76-key model; no 61, no 88. This gives them interesting options for line extension. Go small and save weight, or feed the world’s almost insatiable hunger for 88-key piano-like objects?

You might also be surprised to not see audio styles. I think the original audio styles confused most users. Can I save them to USB drive? No. Did they fit many tunes other than the “reference” song? No. Handling REX format via the Yamaha Expansion Manager (YEM) should resolve these issues for advanced users. Yamaha punched up the drums to improve the live feel. (Hey, don’t Yamaha actually make drums? Just kidding.)

Featured instruments include:

  • CFX piano
  • C7 grand piano (newly sampled)
  • Kino strings
    • Newly sampled movie orchestra
    • Violins hard-panned left and right
    • Violas, cellos and contrabass center
  • Revo drums (waveform cycling)

If rumors hold true, there should be a new Strat in there somewhere as well as Gibson and Martin steel guitars and a pedal steel guitar. The electric pianos have gotten the ambient noises from the Montage EPs.

The Live Control view is nicely done. Change a knob and the display shows the new assigned parameter value. Change a slide next and the display switches to the slider settings. Good, no button needed to switch displays while playing. The knobs and sliders are integrated with drawbar settings, making the Genos could be a worthy clone competition or a close substitute for a clone. The new rotary speaker effect (from the Montage?) sounds good. But, Yamaha, you left out the chorus (vibrato only). Don’t chuck your Reface YC.

The playlist feature looks to be a very useful addition. The playlist organizes registration banks for quick access. The PSR/Tyros registration concept is a very powerful one and I wish that Montage had a similar capability. I love registrations because, bang, in one button press, I have a song ready to play. (More about this another day.)

Having a USB device port hidden under the unit is a great idea. Ever have a drunken chucklehead at a bar try to pull out your USB drive? Ever be a chucklehead yourself? 🙂 More manufacturers should do this.

A new release of Yamaha Expansion Manager (version 2.5) is planned for November 2017, roughly in sync with first deliveries. YEM will have support for WAV, AIFF, SoundFont and REX formats.

A new release of MegaEnhancer (version 1.5) will be available in November, also. MegaEnhancer changes the MIDI data in a Standard MIDI File (SMF) to use Yamaha’s MegaVoices.

The iPad app SongBook+ is also on the way. SongBook+ organizes songs with lyrics, notation, and other information. A song may also be linked to a registration — a very handy feature for performers who need to home in on the complete set-up for a song during performance. I play with charts; I like this.

The USA manufacturer’s suggested retail price (MSRP) is $6,799 and MAP is expected to be $5499.

From a hardware guy’s point of view, there are a few things to think about. The 32-bit DAC is a first for Yamaha. Even Montage does not sport S/PDIF. No mention of Pure Analog Circuit, so the audio back-end must be new, new, new.

The polyphony spec is très intéressant: 128 for preset voices and 128 for expansion voices. Hmmm, how did Yamaha arrange (pun intended) the SWP70 tone generators and NAND flash memory?

So, Yamaha have 1.8GBytes of flash left over for voice expansion. There simply is not enough information to infer waveform memory size, so we’ll all be waiting for the service manual.

Speaking of manuals, there aren’t any available at the time of this writing. No owner’s manual, reference manual or data list. Nada. The early leaks forced Yamaha’s hand to launch the Genos two weeks early and now we will wait. First deliveries are anticipated for November. Déjà vu all over again.

I am literally weighing the Genos (13kg) versus the Montage (15kg) as my next ax. There is still a huge amount to learn about the Genos as it is revealed. Has the sequencer gotten an overhaul? Does the Genos support deep voice editing? The user interface does look inviting and I look forward to seeing more.

Sometimes a little bit of information just leads to more questions.

Copyright © 2017 Paul J. Drongowski

Take control of your music

With nine drawbar sliders, six knobs, three articulation buttons, and an assignable rotary speed button, I wonder if Yamaha are making a play against the Nord Stage?

Both products (will) command a premium price. However, with superior acoustic and electric pianos, drawbar organ using Reface technology, an incredibly expressive sample-based synth engine, and capacious expansion memory, the Genos could make a play. Might be some credibility to this assertion given the rumor of a 76-key only Genos offering. Perhaps Yamaha will eventually roll out a lighter 61-key model, if the demand is there and vocal.

We’ll see and hear. October 2.

Once the pictures hit Facebook…

I’m still not sure if we are seeing final units. Enjoy, anyway. [Please click images to enlarge.]

Copyright © 2017 Paul J. Drongowski

Genos teaser video three

Yamaha Genos™ teaser video number three: Alex Christensen & The Berlin Orchestra – Infinity

Treat yourself to the video first before reading. There is a spoiler ahead!

Another track with orchestra and the occasional driving four on the floor. The video follows up with the visual and musical themes established in the second teaser video.

Very good production values, of course!

The first commenter was kind enough to leave bookmarks for the Genos:

Was anything missed? Be sure to go over this video frame by frame. 🙂

The first snippet is the Style Control section. If you’re a Yamaha Tyros or PSR S-series player, no surprises here. We see the now well-known sliders and “cooling tower” knobs for real-time control. Was the finger hitting the MAIN D section button an important hit point in the music? Didn’t seem that way to me. [Please click images to enlarge.]

The big pan. This will be dissected in so many ways over the next week until the fourth teaser video drops. We do see Voice and Part selection buttons, One Touch Setting (OTS) buttons, Multi Pad Control buttons, six assignable buttons (A-F), six lighted navigation buttons, data wheel, INC, DEC and EXIT buttons — all to the right of a rather nice looking wide-screen touch panel. Can’t really tell if the panel tilts. The USB port for your jump drive also makes an appearance.

The lighted navigation buttons were a bit of a surprise. Leaked images did not show the button legends. I can just make out HOME, STYLE and VOICE in the teaser video. My guess is that these buttons are an alternative, fast way into the menu structure — very important for visually impaired musicians. I’ll let younger eyes or those with CIA image enhancement software make out the other legends (MENU? PLAY LIST? SET?)

The big pan got one enormous belly laugh: “USB device is disconnected.” The display shows a style selection page and what’s that? A pop-up alert box! All this money on a video and they disconnect the jump drive?

Five tabbed pages of Dance styles. About fifty dance styles? The exact number is not really significant at this stage.

What’s up with the saxophone? I hear horns. That better be Cubase!

The third video deepens the mystery created in the second teaser video. What is the exact relationship between the sounds that we hear and the Yamaha Genos digital workstation? There are quite a few repetitious musical phrases (ostinato). Did the Genos produce those sounds or were those sounds sampled as the basis for new audio styles which combine with MIDI? The same question could be asked about the melody lines. Are we hearing the Genos or were the musicians and their instruments sampled and turned into Genos voices? Stay tuned. (No pun intended.) The answer to all of these questions may be “Yes.”

That’s it for this week except for unbridled speculation. The Genos will be shown in New York City to select Yamaha dealers on September 22nd. Martin Harris will be one of the demonstrators. The fourth teaser video will be released on September 29th. Genos will finally (finally!) be announced on October 2nd.

Oh, that unverified image? It’s probably the real deal.

Update

At 02:23, we catch a glimpse of the Yamaha Genos™ in the lower right hand corner of the frame.

My European and sleepless North American colleagues on the PSR Tutorial Forum have worked out the six assignable button legends: HOME, MENU, STYLE, VOICE, SONG, and PLAYLIST. Someone should get a free Genos from Yamaha for working this out!

Copyright © 2017 Paul J. Drongowski

GENOS unverified image

The following unverified image has appeared on the Web. It seems to have been taken at a presentation.

Physical features are similar to other leaked images of GENOS™ and the teaser videos (one and two). The keyboard in this unverified image very much looks like a prototype — or at best, pre-production — model. Remember, sound developers need functional mock-ups for their work and even dealer demo units will not be available until October.

A huge warning. We are now in a phase when images and “specifications” are ricochetting around the Web. The Internet echo chamber is ringing like a bell! Plus, we have a number of individuals who are desperate and are trying to draw attention to their sites (advertising revenue, ca-ching) and Youtube videos (ca-ching). This site is independent and I do not receive money from advertising.

Beware while awaiting Yamaha’s official announcement on October 2nd! We still have two more teaser videos to survive on September 22nd and 29th.

Mega Voice in PSR/Tyros styles

Yes, this site still answers questions and doesn’t just publish rumors and FUD. 🙂

Recently, a member of the PSR Tutorial Forum needed help using a Megavoice in a custom Tyros style. My answer seemed to be useful to a broader audience, so I decided to post my answer here. The information applies to PSR arrangers, too, because the Tyros and PSR share the same SFF1 and SFF2 (SFF GE) style formats.

Megavoice guitars are very different than regular guitar voices.

Regular voices are the usual MIDI voice: 128 velocity levels and only one basic sound. For example, nylon guitar is just the pitched, melodic sound of the notes either louder or softer depending on note velocity.

Megavoice guitars (and other Megavoices) are different. Please look at the Megavoice Map starting on page 16 of the Tyros Data List PDF.

Let’s take a look at the Mega NylonGuitar voice. For MIDI notes B5 and below, the MIDI velocity is broken into eight (8) ranges:

    1- 20 Open soft
   21- 40 Open med
   41- 60 Open hard
   61- 75 Dead
   76- 90 Mute
   91-105 Hammer
  106-120 Slide
  121-127 Harmonics

Each range plays a different kind of sound. So, the MIDI velocity determines which guitar sound. Then, the velocity within that limited range determines how loud it will be.

Example 1: MIDI note A4, velocity 38 makes an Open Med guitar sound which is loud.

Example 2: MIDI note A4, velocity 2 makes an Open Med guitar sound which is quiet.

Example 3: MIDI note A4, velocity 110, makes a Slide guitar sound.

Now, let’s look at the last two columns in the Megavoice map, again, Mega NylonGuitar voice. For MIDI notes between C6 and B7, the Tyros plays a Strum noise. The velocity in this case determines the Strum noise loudness over the full range 1-127.

For MIDI notes above C8, the Tyros plays a Fret noise. The velocity determines the fret noise volume and is full range 1-127.

Example 4: MIDI note D8, velocity 127 plays a very loud fret noise.

The Megavoice mapping makes it more difficult to program (sequence) guitar parts than regular voices. The user needs to make sure that the MIDI note is in the desired range (B5 and under, above C6, etc.) and that the MIDI velocity controls what you want.

Yamaha’s proprietary CASM has a few settings to control Mega Voices. The bad news — you can’t change some of these settings.

When I program Megavoice into a style, I use two parts for each Megavoice:

    Part 1: Pitched notes -- all note B5 and below
            NTR: ROOT TRANS or GUITAR
            NTT: MELODY or CHORD
    Part 2: Noise notes -- all notes above C6
            NTR: ROOT FIXED
            NTT: BYPASS

You want the pitched notes to transpose. You don’t want the noise notes to transpose. (Please think of the noise notes like drum notes/sounds.)

I wrote a three part series of articles about capturing Motif/MOX arpeggios and converting them to PSR/Tyros styles:

If you don’t care about Motif/MOX, then skip part one. Parts two and three are more generally useful and describe the conversion of a MIDI file to a style. Part three concentrates on Megavoice conversion.

Copyright © 2017 Paul J. Drongowski

This is the place(ment)

Alex Christensen & the Berlin Orchestra, Classical remake of “Snap! Rhythm Is a Dancer.”

Now that’s what a big production budget and product placement will buy you!

Wot? It’s not an ad for Yamaha headphones?

This is the second teaser video for the new Yamaha GENOS™ Digital Workstation.

I found three video clips showing the GENOS. If you found more, congratulations! You have less of a life than I do. 🙂 [Please click images to enlarge.]

At least we know where the “Direct Access” button is.

A nice, clean, flat user interface. Too bad recent research shows that users navigate a flat interface 22% slower than an interface with shadows, etc.

Yep, looks like the knobs adjust parameters and the display shows the current value.

The second video does not reveal much more than the first “pixie dust” teaser video. However, you can rest assured that Yamaha means and sanctions these video snippets. Yes, it has sliders, knobs, a color touch panel, and a parameter display above the knobs.

The main editorial question, however, is what role did the Yamaha GENOS™ play in the actual musical production of Mr. Christensen’s album? Or, vice versa?

Back to the crass business of marketing, Yamaha clearly want to reach a younger customer base without offending the old folks. (I am an old folk, by the way.) That’s perfectly fine by me as the Yamaha innovation engine needs fuel from many sources. If indeed the GENOS has styles combining MIDI and audio phrases, the development cost of that content alone must be staggering. (Do not think GENOS will come cheaply.)

We await more. Always more.

Related posts:

Original material Copyright © 2017 Paul J. Drongowski

A hoax image?

An unverified image of the Genos™ surfaced on the Web overnight. I will not publish this image here until I’m sure of its veracity.

If this image is genuine, it confirms features seen in the teaser video. Although the image depicts familiar PSR/Tyros features (e.g., style/section control buttons, registration buttons, One Touch Setting buttons, and multi-pad buttons), it has many new features over the current Tyros:

  • Color touch panel
  • Six control knobs
  • Display above the knobs (showing parameters?)
  • Nine drawbars
  • Six assignable buttons

The Tyros voice select buttons (far right just above the keyboard) indicate RIGHT1, RIGHT2, RIGHT3 and LEFT voices — typical for Tyros. A USB host port is above and to right of the voice select section. That’s a lot of unused real estate between the six assignable buttons and the USB bay by the way.

Current PSR/Tyros models provide a matrix of style selection buttons and a matrix of voice selection buttons. The image does not show these button groups. This would imply that all voice and style selection is made through the touch panel.

The Montage user interface supports user actions through both the touch panel and physical front panel buttons. This “duality” accommodates musicians with certain perceptual disabilities; Yamaha were lauded for this accommodation. Judging from this image, the Genos would not support this kind of “duality.”

The lower left corner of the keyboard does not appear to have pitch bend or modulation wheels. It looks more like a joystick.

The keyboard has 76 keys. Given the layout of the panel buttons, the space used by the panel buttons, etc. would preclude a 61-key version. This would be a break with current Tyros and Montage product lines that always provide a 61-key model.

Well, folks, there’s the image. A well done hoax? I’d like to believe, but I strongly recommend waiting for Yamaha’s verification on this one. We’ll know for sure, soon. Three more teaser videos are due over the next few weeks.

Copyright © 2017 Paul J. Drongowski

Genos is coming soon

Well, it’s official. Yamaha have created a special web site for Genos™ related announcements. The first posting is the teaser video which was accidentally released over the weekend. New videos will appear on September 15, 22 and 29. Dealer previews are scheduled during the last two weeks of September. Of course, we’re all dying to see the manuals and the data list PDF!

There’s one key graphic in the Yamaha annual report with the goal: Develop Products with Distinctive Individuality: Add original value to excellent basic functions and develop products others cannot imitate.

That’s a direct quote.

So, please review my summaries of recent Yamaha patents:

This is Yamaha staking out its claim in synth and arranger technology. Patents are expensive and Yamaha do not seek patent protection frivolously.

Hey, hey, serious stuff, but exciting!

Yamaha have filed several patents on styles and style playback using both MIDI data and digital audio. Not just audio drums, but pitched, melodic instrument parts.

When you hear a cello in the demo, that may very well be a recording of a real human being playing a real cello.

The playback engine tracks left hand chords. With respect to audio parts, the engine selects the most appropriate audio phrase from its library of audio recordings according to chord type. Time-stretching (etc.) adjusts for tempo and pitch-shifting adjusts for transposition. Thus, the recorded audio phrase is pitch- and tempo-matched against the musical clock and MIDI. Sounds easy, but try to do it right and do it in real-time!

I’m making a leap from patent filings to product, but my gut feeling as an engineer is strong about this one. (Feel the force, Luke.)

Or, we’ll all have a good laugh.

Copyright © 2017 Paul J. Drongowski