Readme for Infrasound Remover BASH script

Markdown Uploaded Jan 27, 2026 12 views 4.61 KB
Readme for Infrasound Remover BASH script
Readme Markdown file for using the remove_low_freq.sh BASH script.
readme BASH script Infrasound Remover

Infrasound Removal Tool for Double-Blind EEG Study

Study Purpose

This script was created for a proposed double-blind study investigating the neurological effects of infrasound present in commercial television broadcasts on frontal lobe activity measured via electroencephalography (EEG).

Study Design

Objective: Determine whether infrasound frequencies (below 100Hz) in commercial television content produce measurable effects on the nervous system, specifically frontal lobe EEG patterns.

Methodology:

  • Commercial television segments are prepared in two versions:
    1. Original — Contains all audio frequencies including infrasound
    2. Filtered — Infrasound removed using this script (frequencies below 100Hz attenuated)
  • Clips are randomized and assigned neutral identifiers
  • Neither the participant nor the EEG technician knows which version contains infrasound (double-blind)
  • Frontal lobe EEG is recorded during participant exposure to each clip
  • Data is analyzed post-collection after unblinding

Controls:

  • Same visual content in both conditions
  • Audio above 100Hz remains identical
  • Randomized presentation order
  • Blinded analysis

Script Usage

Requirements

  • ffmpeg (with AAC and libopus support)
  • Bash shell

Installation

chmod +x remove_low_freq.sh

Basic Usage

./remove_low_freq.sh [options] input_file

Options

Option Description Default
-c Cutoff frequency in Hz 100
-o Output filename input_filtered.ext
-h Display help

Examples

# Process a commercial television recording (MTS from camcorder/capture card)
./remove_low_freq.sh commercial_segment_001.mts

# Process MP4 file
./remove_low_freq.sh tv_clip.mp4

# Custom cutoff frequency (e.g., 80Hz)
./remove_low_freq.sh -c 80 commercial.mp4

# Specify output filename
./remove_low_freq.sh -o segment_A.mp4 original_recording.mts

Supported Formats

Video (stream copy — no quality loss):

  • MP4, MTS, M2TS, MKV, AVI, MOV, WebM, WMV, FLV

Audio:

  • WAV, MP3, FLAC, AAC, M4A

Technical Details

Filter Specifications

Parameter Value Rationale
Filter type High-pass (Butterworth) Maximally flat passband response
Cutoff frequency 100Hz (default) Lower boundary of typical human hearing
Rolloff 12dB/octave (2-pole) Gentle slope preserves transients, minimizes artifacts
Q factor 0.707 Butterworth response — no resonance at cutoff

Processing Characteristics

  • Video streams: Copied without re-encoding (bit-perfect)
  • Subtitle streams: Preserved
  • Audio above cutoff: Unaffected (flat passband)
  • Audio below cutoff: Attenuated with gradual rolloff

Why 100Hz?

The 100Hz threshold represents:

  • The approximate lower limit of human conscious hearing perception
  • Frequencies below this are felt rather than heard
  • Infrasound (typically defined as <20Hz) is fully attenuated
  • Near-infrasound (20-100Hz) that may affect physiology is also removed

Study Protocol Preparation

Preparing Stimulus Materials

  1. Capture original broadcasts at highest available quality
  2. Create filtered versions:
    for file in originals/*.mts; do
        ./remove_low_freq.sh -o "filtered/$(basename "${file%.mts}.mp4")" "$file"
    done
  3. Randomize and blind:
    • Assign random identifiers to all clips
    • Create a sealed key linking identifiers to condition (original/filtered)
    • Key remains sealed until data collection complete

Suggested File Naming Convention

stimulus_001_A.mp4  # Randomized identifier
stimulus_001_B.mp4  # Paired condition (unknown to experimenter)
stimulus_002_A.mp4
stimulus_002_B.mp4
...

The mapping file (kept sealed):

stimulus_001_A: filtered
stimulus_001_B: original
stimulus_002_A: original
stimulus_002_B: filtered
...

Limitations

  • Script removes frequencies below cutoff; does not add infrasound
  • Cannot verify presence of infrasound in source material (use spectrum analyzer)
  • Audio re-encoding required for filtering (high-quality codecs used)
  • Study design assumes infrasound is present in original commercial broadcasts

License

This tool is provided for research purposes.


References

  • Leventhall, G. (2007). What is infrasound? Progress in Biophysics and Molecular Biology
  • Salt, A.N., & Hullar, T.E. (2010). Responses of the ear to infrasound and low frequency sound. Hearing Research
  • Weichenberger, M., et al. (2017). Altered cortical and subcortical connectivity due to infrasound. PLOS ONE
View Raw Markdown
MARKDOWN readme.md
# Infrasound Removal Tool for Double-Blind EEG Study

## Study Purpose

This script was created for a proposed double-blind study investigating the neurological effects of infrasound present in commercial television broadcasts on frontal lobe activity measured via electroencephalography (EEG).

### Study Design

**Objective:** Determine whether infrasound frequencies (below 100Hz) in commercial television content produce measurable effects on the nervous system, specifically frontal lobe EEG patterns.

**Methodology:**
- Commercial television segments are prepared in two versions:
  1. **Original** — Contains all audio frequencies including infrasound
  2. **Filtered** — Infrasound removed using this script (frequencies below 100Hz attenuated)
- Clips are randomized and assigned neutral identifiers
- Neither the participant nor the EEG technician knows which version contains infrasound (double-blind)
- Frontal lobe EEG is recorded during participant exposure to each clip
- Data is analyzed post-collection after unblinding

**Controls:**
- Same visual content in both conditions
- Audio above 100Hz remains identical
- Randomized presentation order
- Blinded analysis

---

## Script Usage

### Requirements

- `ffmpeg` (with AAC and libopus support)
- Bash shell

### Installation

```bash
chmod +x remove_low_freq.sh
```

### Basic Usage

```bash
./remove_low_freq.sh [options] input_file
```

### Options

| Option | Description | Default |
|--------|-------------|---------|
| `-c` | Cutoff frequency in Hz | 100 |
| `-o` | Output filename | `input_filtered.ext` |
| `-h` | Display help | — |

### Examples

```bash
# Process a commercial television recording (MTS from camcorder/capture card)
./remove_low_freq.sh commercial_segment_001.mts

# Process MP4 file
./remove_low_freq.sh tv_clip.mp4

# Custom cutoff frequency (e.g., 80Hz)
./remove_low_freq.sh -c 80 commercial.mp4

# Specify output filename
./remove_low_freq.sh -o segment_A.mp4 original_recording.mts
```

### Supported Formats

**Video (stream copy — no quality loss):**
- MP4, MTS, M2TS, MKV, AVI, MOV, WebM, WMV, FLV

**Audio:**
- WAV, MP3, FLAC, AAC, M4A

---

## Technical Details

### Filter Specifications

| Parameter | Value | Rationale |
|-----------|-------|-----------|
| Filter type | High-pass (Butterworth) | Maximally flat passband response |
| Cutoff frequency | 100Hz (default) | Lower boundary of typical human hearing |
| Rolloff | 12dB/octave (2-pole) | Gentle slope preserves transients, minimizes artifacts |
| Q factor | 0.707 | Butterworth response — no resonance at cutoff |

### Processing Characteristics

- **Video streams:** Copied without re-encoding (bit-perfect)
- **Subtitle streams:** Preserved
- **Audio above cutoff:** Unaffected (flat passband)
- **Audio below cutoff:** Attenuated with gradual rolloff

### Why 100Hz?

The 100Hz threshold represents:
- The approximate lower limit of human conscious hearing perception
- Frequencies below this are felt rather than heard
- Infrasound (typically defined as <20Hz) is fully attenuated
- Near-infrasound (20-100Hz) that may affect physiology is also removed

---

## Study Protocol Preparation

### Preparing Stimulus Materials

1. **Capture original broadcasts** at highest available quality
2. **Create filtered versions:**
   ```bash
   for file in originals/*.mts; do
       ./remove_low_freq.sh -o "filtered/$(basename "${file%.mts}.mp4")" "$file"
   done
   ```
3. **Randomize and blind:**
   - Assign random identifiers to all clips
   - Create a sealed key linking identifiers to condition (original/filtered)
   - Key remains sealed until data collection complete

### Suggested File Naming Convention

```
stimulus_001_A.mp4  # Randomized identifier
stimulus_001_B.mp4  # Paired condition (unknown to experimenter)
stimulus_002_A.mp4
stimulus_002_B.mp4
...
```

The mapping file (kept sealed):
```
stimulus_001_A: filtered
stimulus_001_B: original
stimulus_002_A: original
stimulus_002_B: filtered
...
```

---

## Limitations

- Script removes frequencies below cutoff; does not add infrasound
- Cannot verify presence of infrasound in source material (use spectrum analyzer)
- Audio re-encoding required for filtering (high-quality codecs used)
- Study design assumes infrasound is present in original commercial broadcasts

---

## License

This tool is provided for research purposes.

---

## References

- Leventhall, G. (2007). What is infrasound? *Progress in Biophysics and Molecular Biology*
- Salt, A.N., & Hullar, T.E. (2010). Responses of the ear to infrasound and low frequency sound. *Hearing Research*
- Weichenberger, M., et al. (2017). Altered cortical and subcortical connectivity due to infrasound. *PLOS ONE*
Download MD

← Back to all documents