Sound Design Live

Build Your Career As A Sound Engineer

  • Podcast
  • Training
    • My Courses
  • Archive

Are you still trying to align your subwoofers with an audio analyzer?

By Nathan Lively

The challenge of collecting and interpreting high-quality, low-frequency data with modern audio analyzers leads to user error and misaligned subwoofer crossovers. We need a simpler, more reliable approach.

tl;dr

  1. Crossover alignment is hard.
  2. We need a database and mobile app to make it easier.
  3. Fill out this survey: Should I build a sub alignment app?

Seeing actionable data in our audio analyzer for the main to subwoofer crossover frequency range is like seeing a shooting star. It’s rare and it never happens when someone else is looking.

…unless you’re at a workshop! Like me, you’ve probably learned how to create a phase-aligned crossover at a workshop under controlled conditions. It’s gratifying to measure two unmatched slopes and then manipulate delay and polarity until they are aligned. Almost anyone can do it! (One of my discoveries from building Phase Invaders is that with a couple of simple tools even my wife, who struggles to join Zoom meetings, could easily beat the game through random trial and error.) So at the workshop, everything goes well and we think, “Easy! All I have to do is make the pictures match.”

Then we get into the field and it doesn’t work, not because of the workshop’s teacher whose method was solid, but because the pictures literally cannot match. As smart as our modern audio analyzers have become, they can’t reject the room (resistance is futile) that has become an extension of the sound system in the frequency range where they share custody. You are stuck with an impossible puzzle.

I have tried many solutions to this problem. Let’s do a quick recap of my years of confusion and what I think we should do about it.

13 Things That Don’t Work

1 – Invert the polarity. Does it sound better?

This is what I learned in recording school. If you have a microphone on top and bottom of a snare drum or front and back of a guitar cabinet, you should try inverting the polarity to hear if any low end is restored.

This works fine for matched distances where the tonality of a single instrument is at stake, but not for larger distance offsets where large portions of the audience and frequency spectrum may be affected.

2 – Add delay while listening to a kick drum or reference track.

This doesn’t work because your hearing sensitivity changes by as much as 40dB through the operating range of the subwoofer (30-120Hz). Plus, a better sounding kick drum might not equal proper phase alignment. It might just be a cool sound.

I recently helped my friend Zeke with an alignment. The mains were initially set with 30ms of delay. Test tracks with lots of drum sounded, honestly, really cool. There was a really nice BOOoooming length that gave a super power to the low end.

After following a different alignment strategy (detailed below), we ended up with 9ms of delay in the sub instead. We were able to AB test the two results against each other and it was clear that one was an artistic choice (BOOoooom) and one was aligned (just Boom).

3 – Add delay while listening to a sine wave with the sub polarity inverted.

This is still the most common solution that people tell me they use in the field. The reason this one won’t work is that you are only listening to a single frequency. When perfectly aligned, it sounds the same at 0º, 360º, 720º and so on. Your alignment could be any number of cycles off and you wouldn’t know it. It is a tunnel vision solution that doesn’t tell you anything about the rest of the crossover region that typically takes place over a one octave wide frequency span, before main or sub once again becomes sole custodian over the remainder of the audible frequency range.

4 – Add delay while listening to a warble.

This is a step in the right direction, because now you are exposing yourself to the frequency spectrum where the main and sub share joint custody. It’s not a reliable solution for me, though, because I don’t hear the change. I remember when Merlijn van Veen first published a video about how to use the warble test. I was excited to try it. Unfortunately, I couldn’t hear the changes he demonstrated in the video and I have not been able to use it successfully in the field. That doesn’t mean that it might not work for you, though. The same is true for many of these tools, so don’t immediately discount them just because they didn’t work for me.

5 – Add delay while listening to band-limited pink noise.

This stimulus has definitely been more useful for me than the ones I’ve listed so far, but it won’t work for the same reasons I outlined related to the kick drum sound. If you want to try it, most audio analyzers allow you to band limit the pseudorandom pink noise generator.

6 – Add delay while listening to a tone burst.

This is the best stimulus I have found for listening tests. It’s great for doing an AB test of two different settings. My ears are not sensitive enough to dial in an exact delay value, though, so I wouldn’t try to use it alone.

distance offset

7 – Measure distance offset and convert to delay.

I discovered at a recent workshop that many of my students are using this method as a “get in the ballpark” or “better than nothing” strategy. While I agree that it may get you into the ballpark, you have a 33% chance of ending up on the cancellation side of the phase wheel. Sometimes being a half-step off sounds worse than several steps off. Imagine that you are perfectly in time, but the polarity is inverted. You’re in the ballpark, but getting hit in the back of the head with the ball.

8 – Ground plane microphone position.

This is another technique that can be helpful, but won’t remove reflections from the other 5 out of 6 boundaries/walls that typically constitute a room.

9 – Measure solo elements with a loud and long transfer function.

To get a highly coherent measurement (>95%), you need a good signal to noise ratio (>10dB). No problem. Turn up the signal generator. You can improve your coherence even more by using a higher number of averages. Great. Set the averages to infinity and let it run all day.

Both of these things may help, but can’t be confirmed until you energize the room and observe the results. If there’s a cancellation because of a detrimental reflection at 100Hz, you’ll never be able to get the coherence close to 100%. You can even get high average coherence with misleading data. This may be hard to believe until you realize that the lowest time record (for modern analyzers that make use of multiple time records) typically lasts about 1 second, which means that a 1,000ft reflection will still be considered coherent signal power. For a deeper dive on this subject, please see my workshop Getting Work Done with an Audio Analyzer.

10 – Measure average phase.

This one was a real eye opener for me. I had heard people mention measuring average phase a few times in the past, but it always sounded like a dumb idea for some reason. Then I tried it.

Holy shit. Amazing improvement in measurement quality. If you were previously measuring crossover alignment with a single microphone and then tried a three microphones deployed at strategic points through the audience, it’s like night and day.

Unfortunately, this technique falls apart for me in wide rooms with center subs. In this case, their phase response at each microphone is so different that they average into confusion.

Here’s one I struggled to decipher while at a hotel in New Orleans.

three mic average

11 – Measure an IR and filter it around the crossover frequency.

I love this one. It’s fun! It works…sometimes. Unfortunately, a band-limited subwoofer only transmits about 0.5% (-46dB) of the information it is being presented in comparison to a full-range speaker. Its IR has very little amplitude, leaving no prominent peak to track.

Here’s an IR of a full-range speaker.

full range IR

And here’s a sub.

sub IR

You can see how it would be challenging to compare their peaks.

Of course, you could view the ETC graph instead. Here’s the same full-range speaker, this time with the ETC graph filtered around 80Hz.

full-range ETC

And here’s the sub.

sub ETC

We’ve achieved actionable data at the expense of losing polarity information. 🤷‍♀️

12 – Play Phase Invaders.

I built Phase Invaders to not only get more practice reading the phase graph, but also to help me align systems in the field. It allows you to upload measurements and quickly several alignment options while observing summation against a target.

I was able to use it in the field a few times and sadly discovered that it doesn’t always work. Phase Invaders can only give you results that are as good as your data. If you’re measuring reflections, the result will be misleading. You can’t beat the room.

Here are the two speakers I used in the previous example. The best alignment I could find adds 13ms of delay to the Main, which is going in the wrong direction.

phase invaders

It’s hard to trust LF measurements in far-field. Who knows what they have been through?

13 – Add delay while observing combined systems.

Normally this would be one of the last steps in your alignment process to verify summation. Unfortunately, it suffers from the same problems as measuring solo elements above. If the solo element data is misleading, the combined systems data will be as well.

Remember the alignment I mentioned in #2 with my friend Zeke. That was done with an audio analyzer. Here’s why it didn’t work.

M10 groundplane

Check out the phase. How many wraparounds do you count between 50Hz and 150Hz. Maybe four? That’s not normal, is it? I might notice that coherence is low at 70Hz and 140Hz and therefore ignore those wraparounds. Or more likely, I’ll miss those details when I’m in a hurry.

(Spoiler alert: There should only be one wraparound, but that isn’t obvious until you have a reflection-free comparison.)

reflection comparison

[Bonus] Apply smoothing to make the graph easier to read

Some smoothing should clean up the graph and reveal the truth, right?

smoothing

Unfortunately, gratuitous amounts of smoothing do not necessarily reveal the near anechoic trace as you might expect.

Back to combined systems. You might say, “Look at the combined measurement. That will verify it.”

green = combined

Doesn’t look too bad to me. I don’t love what’s happening 83-100Hz, but if I were getting a show up, I would run with it.

But take a look at the room.

wizeta

And now the output delay.

output delay

I’m not sure how easy it is to tell from the photo above, but the main arrays are physically farther away from FOH. Pushing them back an extra 30ms seems excessive, but the combined measurement seems to indicate that we’re in the ball park.

Here it is again compared with the combined systems measurement with the alternative alignment I calculated.

Pre post

Although an improvement in summation is visible, I expected it to be much more significant because it sounded so different in the room (remember BOOooom).

You might be wondering how I created the alternative alignment. So far I’ve only covered what hasn’t worked. It may seem like I am criticizing you. I’m not. This is not about right and wrong. I always say that at the end of the day, if you can walk away happy and you got paid then you’re a success. No one is going to check your work and call the SPL Preservation Society to arrest you.

But, if you have already tried some of these methods and are nodding your head as you’re reading this, then you may be interested in a more efficient method that does work.

One thing that does work

I have only found one method that works every time: the relative/absolute method.

It goes like this:

  1. Create a relative alignment preset for a known distance offset.
  2. Modify that that preset in the field using the speaker’s absolute distance offset.

I first learned this method from Merlijn van Veen at one of his workshops 3 years ago (which inspired me to build Zoid) and have yet to find anything better. You can read Merlijn’s article here, listen to our discussion here, and watch my video here.

But, there’s a catch. 🤔

There’s always a catch. (no free lunch, etc.) 😐

Well, three of them. 😕

  1. Time: You need a block of unhurried focused time in a low-stakes environment so you can methodically work through each element and find the best relative alignment. The good news here is you only need to create each preset once.
  2. Practice: There are a handful of little details to get right. The first time you do it, it will make your brain melt. The second time, not so much. Chop wood, carry water.
  3. Resources: You need to be able to get your hands on those speakers.

Not all things are equal. If you are already well-practiced with the audio analyzer and creating phase aligned crossovers, then you might be able to get away with doing this in the field as speakers are being deployed. This has never worked for me. I’m always too nervous about being ready for soundcheck to dedicate time to set this up properly in the field.

At this point, you are probably starting to understand why this method hasn’t caught on like wildfire. It’s hard. It takes planning and forethought. It takes time and resources that you may not have access to. This is why most of us use one of the solutions mentioned above or just give up and do nothing at all. (Doing nothing at all does work, after all; you just don’t know where it worked.) Some of you may play the long game: spend years learning how to use an audio analyzer, track down the speakers you need to measure, and slowly build your own personal database of presets.

Of course, the solution is obvious: a magical warehouse in your backyard where you can pause time and experiment with any speaker in the world in any configuration you like. Oh, and at any SPL you please without bothering the neighbors.

Unfortunately, I’m not a wizard. 🧙🏼‍♂️

….yet. So until that happens, I have another idea. Maybe software can help.

What if a giant database of high-quality measurements could be consulted from anywhere in the world?

This would allow us to document pre-alignment values. Plus, you could compare real world data to near anechoic data to discern data from noise (reflection-full/free).

What if a mobile app could do some of the mathematical heavy lifting for quick results in the field?

This would allow you to use laser disto measurements or proxy loudspeakers to complete crossover alignment in about 30 seconds without getting out a calculator or audio analyzer.

What do you think?

Do you want to help me build it?

I’m still hesitant, though, because maybe there’s a reason there’s nothing like this, yet. Maybe people just prefer figuring out things on their own or feel like a mobile app won’t work for them.

I’ve started talking to a few other engineers about it and I think it might work. If we can combine a public database with an app for practical field work and a community where people can get answers, we might have something that would be helpful to a lot of live sound folks.

I don’t want to build something and then find out that nobody’s interested, though, so what do you think? Should we do it?

If yes, fill out this survey: Should I build a sub alignment app?

Acknowledgments: Thanks to Steve Smith, Lou Kohley, and Mike Reed for valuable feedback!

Is it better to face your subs at the wall?

By Nathan Lively

I worked on a show last month where I decided to face the subwoofers at the wall. People were looking at me funny and asking questions…and that was before they even saw the subs. 🥁

So I made a video to investigate the effects of path length differences in this binary scenario. One result is not necessarily better than another, but it’s good to make an informed choice.

You can use this formula to estimate the frequency of the first dip of the comb filter.

c / d / 2 = 1st dip

speed of sound / distance (aka total path length difference) / 2 = first dip of comb filter

Subs facing audience
1130ft/s / 13ft / 2 = 43.5Hz
345m/s / 3.96m / 2 = 43.5Hz

Subs facing wall
1130ft/s / 6ft / 2 = 94.2Hz
345m/s / 1.83m / 2 = 94.2Hz

Pick your poison.

sub wall comparison

Taking a look at the field measurements, it looks like the subs were probably closer to 5ft from the wall because of the dip at 112.8hz, indicating a 10ft round trip distance for the reflection.

reflection comb filter

One side benefit that I forgot to include in the video is that the QSC subs were polarity inverted compared to the Kara mains. Facing them away from the audience meant that I didn’t need the polarity inversion. Tiny victory. 👏

Check out Merlijn’s Low-frequency Acoustic Center Calculator.

Have you tried facing your subs at the wall? What were your results?

Does every output in the signal chain need a high-pass filter?

By Nathan Lively

For the first 8 years of my career as a live sound engineer I thought that the more high-pass filters I used, the better protected I would be. More is better, right?

I would put a high-pass filter on my console outputs, on my DSP, and on the speakers if they had built in processing.

I didn’t realize it at the time, but the result was a super steep roll-off into a gap crossover. All I knew was that it sounded strange, but at least I was playing it safe.

gap crossover

Why is this happening?

The filters you insert at each point in the signal chain get burned into the signal. They are permanent. Once you reduce a portion of the frequency response so low that it goes into the noise floor, you can’t get it back.

Witness the effect of a high-pass filter at 120Hz.

HPF 100Hz

Then when I try to reverse the effects with a low shelf.

HPF with low shelf

Sad face.

Here’s the result of two matching high-pass filters in line with each other.

two high pass filters in a row

And now three high-pass filters in a row.

three high pass filters in a row

And what if they are asymmetrical, as is probably the case between your console, DSP, and speaker from different brands?

Check out the result of a 24dB/oct Linkwitz-Riley into a 12dB/oct Butterworth into a 48dB/oct Chebyshev.

three asymmetrical filters

And that’s when they all have matching frequency settings. Many times in the past I had thought, for one reason or another, that one filter should be lower and another higher.

3 filters at different frequencies

For this reason it’s best to leave system calibration filters until the end of the signal chain, right before the speaker. That way you can get the job done without a bunch of unnecessary steepness and phase delay.

Some exceptions:

  • Input channels. I should make it clear here that I’m focusing on output channels. When it comes to input channels I am much more liberal with the HPF. Put’em on every channel and crank’em up as high as possible.
  • Either you don’t have access to the DSP or the filters are baked into the speaker (as they often are), but you want to change the filters. You can’t put sound back that’s been taken away, but you can make the filters steeper and/or raise the frequency in the example of a HPF. Proceed with caution and measure the acoustic results.
  • Either you are very experienced or you know what you’re doing, as with any rule.

Case Study

My friend David uses a common setup: DSP into a powered speaker with more onboard DSP. In this case it is the DBX Driverack into a Turbo IQ12 and Yamaha DXS15XLF.

Here’s how he has the crossover filters set up:

  • Out1: HPF 110Hz LR48
  • IQ12: HPF 120Hz LR24
  • Out2: LPF 100Hz LR48
  • DXS15: LPF 110Hz LR24

I didn’t measure each step in the chain individually. Let’s look at the result electrically instead.

asymmetrical stacked crossover filters

If a gap crossover is your goal, you acheived it, but in my case I was often doing this on accident.

I know the acoustical result is really what we care about here, which is what you saw at the beginning of this article.

After David and I had a chat about what he wanted to achieve he decided to remove some filters and move their crossover frequencies. Here’s the result. There’s still a gap, but now it’s less violent.

For more on how to identify crossover slopes, please read Spot Crossover Slopes in Smaart® and Avoid Falling Sharply.

Do ground stacked subwoofers really give you 6dB for free?

By Nathan Lively

+6dB
  • Any measurements made at ground plane will always be 6dB louder, despite subwoofer distance.
  • Flown subwoofers give you 6dB for free just like ground stacked as long as a maximum height is respected.

I have always thought that ground-stacked subs would produce 6dB more SPL because they are coupling with the ground. You’ve probably heard people say things like:

  • “Having subs next to a boundary gets you 6dB of additional sensitivity”
  • “The ground is like a mirror, doubling sub energy. “

I was just running a couple of tests for myself to confirm the reliability of this number, but I couldn’t. In fact, all of the models that I tested actually returned lower average level when the subwoofers were on the ground compared to flown in the air.

50ft Room

50ft room model
50ft room measurements

In the low range the flown sub dominates, but later the ground sub takes over.

150ft Room

150ft room model

I also thought that a corner placement would give you even more SPL, but I couldn’t prove that either.

Maybe the room gain from the walls is making the phenonenon harder to verify. Let’s try a bigger room.

300ft Room

300ft room model
300ft room measurements

Rats.

150ft – Outside

Surely if I turn off all of the walls, except for the floor, we’ll get that free 6dB.

150ft outside

Damn it. I want my free money back.

Why is this happening?

I have a two ideas:

  1. I put the mics in the wrong place.
  2. Flown subs get 6dB for free, too, baby!

The Mirror Effect

mirror effect

I had been taking ground plane measurements in the first models to remove the floor bounce, which made sense to me since I assumed an audience filled with people would have the same effect. There are two problems with this:

  1. Below 100 Hz human bodies have little absorption, which is mostly where our subwoofers live. Plus, it’s hard to predict exactly how the bodies will be distributed.
  2. If my measurement is coupled with the floor, it effectively shows half-space loading at any distance due to the mirror effect.

If the listener is located at the boundary he will hear a 6 dB louder direct signal than he would have heard if there was no floor regardless of where the subwoofer is located.

Comments On Half Space, David Gunness

If we zoom in on on the y-axis, it’s hard to tell which is which because any comb filtering is eliminated. No matter how far away the sub gets, measuring at the ground will show coupling.

ground plane only
Ground Sub
flown at ground plane
Flown Sub

If that’s the case then I should try measuring at head height.

Head Height

Let’s simplify the test by removing the walls and ceiling and using a single microphone position so that I can actually get this article done this year. I’ll move the mics up to head height, since that wasn’t working earlier.

Here’s the result from the same 300ft room, this time without walls, ceiling, or a 3-mic average.

Flown subs get 6dB for free, too, baby!

It is shown that a flown subwoofer [will] have a similar far-field efficiency to that of a ground-stacked subwoofer when a maximum subwoofer height is respected. This maximal height is linked to the venue depth via the DHER criterion, and depends on the listening height. For a standing audience, SPL efficiency is recovered for listening distances that are 5 times or more the subwoofer height. The audience benefits from a more homogeneous SPL distribution and an important SPL reduction close to the stage.

AES Convention Paper 10051, On the efficiency of flown vs. ground-stacked subwoofer configurations, Etienne Corteel, Hugo Coste-Dombre, Christophe Combet, Yoachim Horyn, and François Montignies

Pretty cool, right?

So if we want to recover SPL efficiency at ¾ audience depth, then the sub can be as high as 36.75ft and we get the added benefit of an improved front-to-back ratio.

5x rule for sub height

The real benefit of ground stacking has to with the fact that listeners’ ears are not typically on the floor, but four or five feet above it. If the speakers are elevated above the floor, 45 degrees above horizontal from the listeners perspective, the ground bounce will produce its first comb effect notch at about 80 Hz. If the elevation angle is 30 degrees, the first notch moves up to 113 Hz. If the subwoofers are on the floor, then propagation is parallel to the floor and there is no ground bounce. Hence, there is no comb effect.

Comments On Half Space, David Gunness

It’s interesting that our measurement position is less than 10º, putting the first dip from the comb filter at 297Hz, well out of the operational range of this subwoofer. If you wanted to create a null at 125Hz, you would measure at 72ft depth at 23.8º with the sub.

9.5º

The number isn’t black and white, of course. Even with the first null at 297Hz there is a 3dB drop at 140Hz.

floor bounce calculator
Merlijn Van Veen – Floor Bounce Calculator

So we can see that as we move closer to the sub, the difference in distance between direct and reflected sound will affect more of the operational range of the sub. At this time it is my understanding that with flown subwoofers we accept some amount of comb filtering in the front portion of the audience (anywhere before height of sub multiplied by five for standing head height) in exchange for improved front-to-back ratio, coupling with mains, and SPL efficiency in the rear portion of the audience.

What are your experiences on half-space loading? Comment below.

Merlijn’s Subwoofer Alignment Method Will Make You Feel like a Jedi Master

By Nathan Lively

merlijn jedi

Subscribe on iTunes, SoundCloud, Google Play or Stitcher.

Support Sound Design Live on Patreon.

In this episode of Sound Design Live I talk with the senior technical support and education specialist at Meyer Sound, Merlijn van Veen. We discuss subwoofer alignment, subwoofer spacing, and M-noise.

I ask:

  • In Subwoofer Alignment: The foolproof relative / absolute method you describe a process of comparing two sources in the near-field when they are side-by-side and measurement conditions are favorable, creating an alignment preset, and then deploying that in the far-field with complementary delay to correct for any distance offset caused by moving the speakers apart relative to the listening position. Unfortunately, most of us attend a seminar where we learn how to align two sources and it seems pretty straight forward. Then we get into the field and the whole thing falls apart. Why can it be so challenging to get actionable data in the field and how did you came to develop the relative/absolute method?
  • You published a series of articles on your site called Mind the Gap, in which you share the performance improvements in directional subwoofer arrays caused by adding an air gap between enclosures. You end the articles with this: “the challenge becomes to determine the minimum required gap size for improved rejection without a noticeable increase in lobing.” Do you have an update for us on this subject and any further information on the minimum gap size?
  • Could you give us a run down of the settings you use in your audio analyzer? smoothing, graph limits, averaging, etc.
  • What is M-noise? Do I need to start using it as my test signal in Smaart?
  • From FB
    • Dave Gammon: If he had hair…. would he have a mullet or ponytail…
    • Swapnil Wakodikar: Accessible software for all which provides stimulation of Line array and subwoofer configuration.
    • Ockert Marais: If you could only teach a single lesson about sound system optimisation for your entire life, What would it be?
    • Thorsten Bunz: Did having your own education site and writing articles help you get the job at meyer? How did it change your career?
sound-design-live-touring-foh-sound-engineer-job-Merlijn_van_Veen

If you ask a violin player to describe their violin, you’re going to get an 8-hour lecture because he knows his instrument intimately. He knows everything there is to know about that instrument because that’s how he makes his money. Ask an engineer to describe the phase response of the loudspeakers that he works with regularly and chances are you will hear crickets.

Merlijn van Veen

Notes

  1. All music in this episode by Derrick Bryant.
  2. Meyer Sound, MAPP XT, M-Noise
  3. Merlijn’s starting audio analyzer settings: 1/48oct resolution, ±30dB with 10dB divisions, MTW FFT resolution, Complex magnitude average type, 16 FIFO or 1sec average
  4. SC0403-A task group
  5. Sound system Design and Optimization: and em Español.
  6. Quotes
    1. It’s notoriously hard to absorb long wavelengths.
    2. If you have really unfavorable conditions, even using a gratuitous amount of smoothing, typically, will not rid you of those fake wraparounds.
    3. If you ask a violin player to describe their violin, you’re going to get an 8-hour lecture because he knows his instrument intimately. He knows everything there is to know about that instrument because that’s how he makes his money. Ask an engineer to describe the phase response of the loudspeakers that he works with regularly and chances are you will hear crickets.
    4. I don’t consider ripple a bad thing. It’s arguably the most important metric that there is in interpreting an analyzer because it gives you an understanding of the degree of interaction and direct to reverberant ratio.
    5. It’s not about wrong or right. If you know what you are doing, anything goes. If you want your analyzer to become an ally, then the analyzer should render the sound as crappy as it sounds, not paint a picture from a data sheet.
    6. It makes no difference which signal we use when it comes to obtaining a transfer function. M-noise does not change my calibration practice.
    7. Calibration is the process of making it sound the same everywhere. Voicing is the process of “How should the sound system ultimately sound?”.
    8. In the absence of a viable alternative, I think MAPP is still the ultimate sandbox to experiment with these things while looking at data that you will run into in the real world.
    9. Vince Lombardi: Excellence is achieved by the mastery of the fundamentals.
  • « Previous Page
  • 1
  • 2
  • 3
  • 4
  • Next Page »

Search 200 articles and podcasts

Copyright © 2022 Nathan Lively

 

Loading Comments...