This repository contains analysis code supporting the manuscript:
Independent Basal Ganglia Neural Populations Encode Speech Production and Ambient-Noise Levels
by Latané Bullock, Matteo Vissani, Alan Bush, Jackie S. Kim, Lori L. Holt, Julie Fiez, Robert S. Turner, Todd M. Herrington, Jeffrey Schweitzer, Frank H. Guenther, R. Mark Richardson, submitted to Nature Communications
You can find the manuscript here: https://www.biorxiv.org/content/10.1101/2025.11.18.689157v1.
This README file was partially generated by Claude Sonnet 4.6 and subsequently reviewed and edited by the authors.
The analysis pipeline has been tested on:
- macOS (Ventura / Sonoma)
- Windows 10 (via mapped network drives)
Linux compatibility is expected but has not been formally tested.
- R ≥ 4.2 (tested on R 4.2–4.4)
- tidyverse
- glue
- readr
- magrittr
- jsonlite
- RColorBrewer
- lme4
- lmerTest
- ggpubr
- plotly
- broom
- arrow
- testit
- boot
- No specialized hardware is required.
- ≥32 GB RAM recommended for large parquet files.
- Install R from https://cran.r-project.org
- Clone this repository:
git clone https://github.com/Brain-Modulation-Lab/Paper_Lombard-ambient-noise-GP-STN.git
- Install required packages:
install.packages(c( "tidyverse","glue","readr","magrittr","jsonlite", "RColorBrewer","lme4","lmerTest","ggpubr", "plotly","broom","arrow","testit","boot" ))
- Package installation: 5–15 minutes
- Repository setup: <1 minute
20230524-subctx-lfp-group-PLB/
└── A04v5_analyze_all_trials_bandpower_table.R
- Sections must be run and hand-tweaked according to the desired figure output.
- Figures and summary tables will be saved to the ./fig/ directory
- Demo data: 5–15 minutes
- Full dataset: 1–3 hours (depending on permutation settings)
20230524-subctx-lfp-group-PLB/
└── A04v5_analyze_all_trials_bandpower_table.R ← group-level bandpower & figures
- Update paths and parameters in the main script:
PATH_ROOTTASKSESSIONMODALITY
- Ensure required parquet and annotation files are present.
- Run the script as above.
20210922-beh-lombard-effect-PLB/
└── B01_group_analyze.R ← group-level Lombard effect statistics and figures
Run B01_group_analyze.R after ensuring group-level behavioral tables are present.
20220922-behavior-overview-PLB/
├── B00_combine_tables.R ← combine per-subject behavioral tables
├── B01_trials_sentences_distribution.R ← trial and sentence count distributions
├── B02_plot_sp_duration.R ← sentence duration plots
└── B03_plot_word_by_word_durations.R ← word-level duration plots
Run scripts in order (B00 → B01 → B02 → B03). B00 must be run first to produce the combined table consumed by downstream scripts.
Please contact the corresponding author listed in the manuscript for questions regarding code or data access.