How Low-Frequency Neural Activity Structures Language in Time.
The 7 matches
- [1] § MATERIALS AND METHODS › Source-Level Analysis ↔ MATLAB/tcrc_sourceReconstruction_fixedOri.m, lines 142–232 · score 0.95 · unit noise gain, depth bias, Hilbert transformed, source reconstruction, source space, LCMV
- [2] § MATERIALS AND METHODS › Source-Level Analysis ↔ MATLAB/tcrc_sourceStatistic_templategrid.m, lines 72–93 · score 0.79 · MNI space, individual space, individual MRI, source reconstruction, warped, template
- [3] § MATERIALS AND METHODS › Sensor-Level Analysis ↔ MATLAB/tcrc_sourceReconstruction_fixedOri.m, lines 142–232 · score 0.70 · inter trial phase, Hilbert transform, coherence, activity, filtered, window
- [4] § MATERIALS AND METHODS › Electrophysiological Analysis ↔ MATLAB/tcrc_artefacts.m, lines 1–48 · score 0.68 · SQUID jump, artifact rejection, segmented, rejected, channel, FieldTrip
- [5] § MATERIALS AND METHODS › Sensor-Level Analysis ↔ R/tcrc_regression_ITPC_ERF.Rmd, lines 76–167 · score 0.64 · baseline model, Bonferroni corrected, intercepts, mixed, timepoint, magnetometers
- [6] § MATERIALS AND METHODS › Source-Level Analysis ↔ MATLAB/tcrc_prepareSouce.m, lines 162–189 · score 0.60 · head surface, MNE, vertices, BEMs, MEG
- [7] § MATERIALS AND METHODS › Sensor-Level Analysis ↔ MATLAB/tcrc_itpc_delta.m, lines 63–90 · score 0.53 · inter trial phase, coherence, signal, duration, ITPC
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
MATLAB · 232 lines · 9.6 KB · no license · 2 matches
- %% TCRC perform source reconstruction
- clear; close all;
- restoredefaultpath;
- %addpath '/Fieldtrip/fieldtrip-20210807/';
- addpath '/Fieldtrip/fieldtrip-20230125/';
- ft_defaults
- addpath '/Fieldtrip/fieldtrip-20230125/external/mne/';
- addpath '/Fieldtrip/fieldtrip-20230125/external/freesurfer/';
- subjects = table2cell(readtable('/tcrc/cfg/list_of_subjects_all.lst', 'FileType', 'text', 'ReadVariableNames', false));
- blocks = {'2' '3' '4' '5' '6' '7'}; % only experimental blocks
- rawDIR = '/tcrc/';
- proDIR = '/prepro/';
- % load ITPC Stats
- load([proDIR 'stats/ITPCStats_0.2_4.mat']);
- % get on and offset time across both clusters
- onOff = ITPCStats.time([find(any(ITPCStats.mask),1,'first') find(any(ITPCStats.mask),1,'last')]);
- for s = 1:length(subjects)
- SUBJECT = subjects{s};
- %% directories
- % input
- headmodelFILE = [proDIR SUBJECT filesep SUBJECT '-headmodel.mat'];
- sourcespaceFILE = [proDIR SUBJECT filesep SUBJECT '-sourcespace.mat'];
- realignedmriFILE = [proDIR SUBJECT filesep SUBJECT '-realignedMRI.mat'];
- mnePath = [rawDIR 'freesurfer/' SUBJECT '/surf/'];
- concatFILE = [proDIR SUBJECT filesep SUBJECT '_concat_0.2_30_7.mat'];
- artfFILE = [proDIR SUBJECT filesep SUBJECT '_rejectedTrials_0.2_30_7_manualRemoval_2.mat'];
- templategridFILE = [proDIR SUBJECT filesep SUBJECT '-templateGRID_5mm.mat'];
- % output
- sourceITPCFILE = [proDIR SUBJECT filesep SUBJECT '_sourceITPC_cluster_2s_lambda5_fixedOri_noNormal_ung_templateGrid_5mm.mat']; % itpc
- % loading
- load(headmodelFILE); % headmodel
- load(sourcespaceFILE); % sourcespace
- load(realignedmriFILE); % realignedmri
- load(templategridFILE); % templategrid
- disp('Loading headmodel, sourcespace and aligned MRI.')
- %% Prepare data
- load(concatFILE); % concatenated data
- % downsample
- cfg = [];
- cfg.resamplefs = 100;
- downDATA = ft_resampledata(cfg, concatDATA);
- % remove trials maked as artf
- load(artfFILE);
- fullTrials = 1:length(downDATA.trialinfo);
- fullTrials(trialIdx_art) = [];
- cfg = [];
- cfg.trials = fullTrials;
- downDATA = ft_selectdata(cfg, downDATA);
- % removed Trials across all blocks
- removedFILE = [proDIR SUBJECT filesep SUBJECT '_removedTrials_acrossBlocks.mat'];
- load(removedFILE, 'allTrials');
- % low-pass filter at 4 Hz
- srate = downDATA.fsample;
- for t = 1:length(downDATA.trial)
- % Padding with reflection
- len = length(downDATA.trial{t});
- pad = fliplr(downDATA.trial{t});
- pad_data = [pad downDATA.trial{t} pad];
- [b,a] = butter(8, 4/(srate/2), 'low');
- lp_data = filtfilt(b, a, pad_data')';
- downDATA.trial{t} = lp_data(:, 1+len:end-len);
- end
- %% Compute solution for each block individually
- activity_across_blocks = cell(6,1);
- for b = 1:6
- BLOCK = blocks{b};
- % output
- leadfieldFILE = [proDIR SUBJECT filesep SUBJECT BLOCK '-leadfield_noNormal_templateGrid_5mm.mat'];
- % sensors
- sensorFILE = [rawDIR SUBJECT filesep SUBJECT BLOCK '_ts.fif'];
- sens = ft_read_sens(sensorFILE, 'senstype', 'meg');
- sens = ft_convert_units(sens, 'cm');
- %% Compute forward solution in Fieldtrip - Sensors for each block individually
- % plotting as test
- % figure;
- % ft_plot_headmodel(headmodel, 'edgecolor', 'none', 'facecolor', 'cortex'); alpha 0.5;
- % ft_plot_sens(sens, 'coilshape', 'point', 'style', 'r.');
- % ft_plot_mesh(templategrid.pos(templategrid.inside,:));
- % view([0 90 0]);
- % needs sourcespace & volume conductor & timelock data
- % make leadfield for magnetometers only
- if ~exist(leadfieldFILE, 'file')
- cfg = [];
- cfg.grad = sens; %data.grad
- cfg.channel = {'*1'}; % magnetometers only
- cfg.sourcemodel = templategrid; %sourcespace;
- cfg.headmodel = headmodel;
- cfg.method = 'singleshell';
- cfg.normalize = 'no'; % EITHER leadfield normalisation OR beamformer; to remove depth bias (Q in eq. 27 of van Veen et al, 1997)
- leadfield = ft_prepare_leadfield(cfg);
- % Save Leadfield
- save(leadfieldFILE, 'leadfield');
- else
- load(leadfieldFILE) % load if exists
- disp('Loading existing leadfield file.')
- end
- % make a figure of the single subject headmodel, and grid positions
- % figure;
- % ft_plot_headmodel(headmodel, 'edgecolor', 'none'); alpha 0.4;
- % ft_plot_mesh(leadfield.pos(leadfield.inside,:), 'facecolor', 'cortex'); hold off;
- % rotate3d
- %% Apply a common filter in beamforming - to make comparisons across conditions
- % Differences in source activity can then be ascribed to
- % differences in conditions, not to differences between the filters.
- % add condition to allTrials
- if length(allTrials) ~= length(downDATA.trialinfo)
- disp(['CAUTION: Something in the trials does not match for ' SUBJECT])
- pause;
- else
- allTrials(:,4) = downDATA.trialinfo;
- end
- % select trials for one block !
- cfg = [];
- cfg.trials = allTrials(find(allTrials(:,2) == b),3);
- trials = ft_selectdata(cfg, downDATA);
- %% (1) calculate the cross-spectral density matrix of the combined conditions
- % (1) GA ERF
- % https://brittas-summerofcode.blogspot.com/2017/08/the-hilbert-beamformer-pipeline_29.html
- cfg = [];
- % covariance required for later source localisation
- cfg.covariance = 'yes';
- cfg.covariancewindow = [onOff(1)-1 onOff(2)+1];
- cfg.latency = [onOff(1)-1 onOff(2)+1]; % define time window of interest based on ITPC
- timelock{s,b} = ft_timelockanalysis(cfg, trials);
- % (2) compute the spatial filters on GA
- % create spatial filter using the lcmv beamformer
- cfg = [];
- cfg.method = 'lcmv';
- cfg.sourcemodel = leadfield;
- cfg.headmodel = headmodel;
- cfg.lcmv.keepfilter = 'yes'; % keep spatial filter, can be used to reconstruct single trial time servies as virtual channel
- cfg.lcmv.fixedori = 'yes'; % project on axis of most variance
- cfg.lcmv.lambda = '5%'; % 1 or 5 % changes the filter
- cfg.lcmv.weightnorm = 'unitnoisegain'; % unit-noise-gain beamfomrmer (weight normalization) against depth bias
- sourceAll = ft_sourceanalysis(cfg, timelock{s,b});
- % (3) Hilbert transform raw data
- for t = 1:length(trials.trial)
- trials.trial{t} = hilbert(trials.trial{t}').'; % single-trial data in hilbert format
- end
- % (4) Beamforming: get single-trial source-space time courses
- % project all single trials through these filters
- beamformer = sourceAll.avg.filter;
- n_nodes = length(beamformer);
- activity_in_node = cell(1, length(trials.trial));
- % trial loop
- for t = 1:length(trials.trial)
- megtrldata = trials.trial{t}; % single-trial data
- datalen = size(megtrldata, 2); % number of data points
- trldata_in_node = zeros(n_nodes, datalen);
- % node loop
- for nodei = 1:n_nodes
- node = beamformer{nodei};
- mom = node*megtrldata;
- trldata_in_node(nodei,:) = mom;
- end
- activity_in_node{t} = trldata_in_node;
- fprintf('node time course: %s, trial %d/%d... \n', [SUBJECT BLOCK], t, length(trials.trial));
- end
- activity_across_blocks{b} = activity_in_node;
- end
- % (5) Compute ITPC for each level across blocks
- % combine activity across blocks
- trialSourceDATA = cat(2, activity_across_blocks{:});
- for duration = 1:7
- % select trials for duration
- durTrials = find(floor(allTrials(:,4)./10) == duration);
- itpc_data = trialSourceDATA(durTrials);
- % transform data dimensions
- tmp = cat(3, itpc_data{:}); % source x duration x trials
- fourierspctrm = permute(tmp, [3,1,2]); % trials x source x duration
- % put into fieldtrip structure
- itpc = [];
- itpc.pos = sourceAll.pos;
- itpc.inside = sourceAll.inside;
- itpc.time = trials.time{1};
- % compute inter-trial phase coherence (itpc)
- itpc.itpc = fourierspctrm./abs(fourierspctrm); % divide by amplitude
- itpc.itpc = sum(itpc.itpc,1); % sum angles
- itpc.itpc = abs(itpc.itpc)/size(fourierspctrm,1); % take the absolute value and normalize
- itpc.itpc = squeeze(itpc.itpc);
- itpc.avg = itpc.itpc;
- sourceITPC{s, duration} = itpc;
- clear itpc fourierspctrm tmp durTrials itpc_data;
- % plot itpc timecourse across conditions for random node
- % figure(s);
- % plot(sourceITPC{s, duration}.itpc(1,:)); hold on;
- end
- % save individual ITPC source
- indITPC = sourceITPC(s,:);
- save(sourceITPCFILE, 'indITPC');
- end
tcrc_sourceReconstruction_fixedOri.m, no license · at the source
Overview
- Max Planck Research Group Language Cycles, Max Planck Institute for Human Cognitive and Brain Sciences, Leipzig, Germany
- Methods and Development Group Brain Networks, Max Planck Institute for Human Cognitive and Brain Sciences, Leipzig, Germany
- Clinic for Phoniatrics and Pediatric Audiology, University Hospital Münster, Münster, Germany
Abstract
The integration of sensory information in humans may be confined to a time window of 2–3 s. In language, this time window constrains the grouping of words into multi-word chunks, required for comprehension. Chunk boundaries are known to elicit a characteristic event-related brain potential, the Closure Positive Shift (CPS). The likelihood of a CPS increases with the duration of the chunk. In the frequency-domain, boundaries have been associated with neural oscillations in the delta band (<4 Hz). Here, we assessed whether the pace for chunking might be imposed by electrophysiological processing cycles of the brain with phase-locking of such activity underlying the CPS. We recorded participants’ magnetoencephalogram while they listened to globally ambiguous sentences allowing for two alternative ways of chunking. Chunking was not externally imposed, but the temporal limits of integration windows influenced chunk termination. Phase-locking of narrow-band low-frequency neural activity (i.e., <4 Hz) at the boundaries of multi-word chunks increased with sentence duration, and covaried with event-related fields. Behavioral data further indicate subtle interindividual differences in the duration of the integration time window. Source localization revealed neural generators in bilateral posterior temporal and right anterior regions. The brain appears to project duration-limited integration windows onto the incoming auditory speech signal, thus structuring language comprehension in time.
Reproduced under the paper's license (CC BY), from the paper cited above.
Repository
Its files are read in the Code ↔ Paper reader above, with 7 matches between paragraphs and lines of code.
OSF h3c9j
Availability: 1 check, the latest on 28 September 2026: the link answers (HTTP 200)
- 28 September 2026: the link answers (HTTP 200)
18 files
- MATLAB/
createConnectivityMatrix , MATLAB, 63 lines.m - MATLAB/
tcrc_artefacts.m , MATLAB, 130 lines, 1 match - MATLAB/
tcrc_checkArtfRej.m , MATLAB, 77 lines - MATLAB/
tcrc_erf_broadband.m , MATLAB, 258 lines - MATLAB/
tcrc_erf_delta.m , MATLAB, 245 lines - MATLAB/
tcrc_hp.m , MATLAB, 100 lines - MATLAB/
tcrc_ica.m , MATLAB, 55 lines - MATLAB/
tcrc_ica_rm_comps.m , MATLAB, 95 lines - MATLAB/
tcrc_itpc_delta.m , MATLAB, 302 lines, 1 match - MATLAB/
tcrc_prepareSouce.m , MATLAB, 234 lines, 1 match - MATLAB/
tcrc_removedTrials_acros , MATLAB, 47 linessBlocks.m - MATLAB/
tcrc_secondArtfRemoval.m , MATLAB, 112 lines - MATLAB/
tcrc_segmentation.m , MATLAB, 67 lines - MATLAB/
tcrc_sourceReconstructio , MATLAB, 232 lines, 2 matchesn_fixedOri.m - MATLAB/
tcrc_sourceStatistic_tem , MATLAB, 460 lines, 1 matchplategrid.m - R/
tcrc_regression_ITPC_ERF , R, 661 lines, 1 match.Rmd - R/
tcrc_singleTrialBehav.Rm , R, 71 linesd - README.txt, Text, 32 lines
The paper's code and data availability statement is in the Data section.
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 17 scripts, each with its path and the digest of its content;
- 7 matches between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
Datasets cited
- zenodo:18742644, at Zenodo; found in “DATA AVAILABILITY STATEMENT”
Data availability statement
Raw data cannot be made publicly available due to ethical permissions and legal restrictions. Aggregated data to evaluate the conclusions in the paper are available on Zenodo (https://
Reproduced under the paper's license (CC BY), from the paper cited above.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 1, 28 September 2026: the first record
Recorded: type, language, journal, volume, pages, dates, 3 authors, 5 keywords, 1 funder, 110 references.
Cite
This paper
Henke, L., Maess, B., & Meyer, L. (2026). How Low-Frequency Neural Activity Structures Language in Time. Neurobiology of language (Cambridge, Mass.), 7, NOL.a.249. https://
BibTeX
@article{henke2026how,
author = {Henke, Lena and Maess, Burkhard and Meyer, Lars},
title = {{How Low-Frequency Neural Activity Structures Language in Time}},
journal = {Neurobiology of language (Cambridge, Mass.)},
year = {2026},
month = may,
volume = {7},
pages = {NOL.a.249},
publisher = {MIT Press},
issn = {2641-4368},
doi = {10.1162/
url = {https://
pmid = {42137739},
pmcid = {PMC13171203}
}
RIS
TY - JOUR
AU - Henke, Lena
AU - Maess, Burkhard
AU - Meyer, Lars
TI - How Low-Frequency Neural Activity Structures Language in Time
T2 - Neurobiology of language (Cambridge, Mass.)
J2 - Neurobiol Lang (Camb)
PY - 2026
DA - 2026/
VL - 7
SP - NOL.a.249
SN - 2641-4368
PB - MIT Press
DO - 10.1162/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1162/
"type": "article-journal",
"title": "How Low-Frequency Neural Activity Structures Language in Time",
"container-title": "Neurobiology of language (Cambridge, Mass.)",
"author": [
{
"family": "Henke",
"given": "Lena"
},
{
"family": "Maess",
"given": "Burkhard"
},
{
"family": "Meyer",
"given": "Lars"
}
],
"container-title-short":
"volume": "7",
"page": "NOL.a.249",
"DOI": "10.1162/
"PMID": "42137739",
"PMCID": "PMC13171203",
"ISSN": "2641-4368",
"publisher": "MIT Press",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
5,
5
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.1016/j.isci.2026.116458 [code]
- Neural tracking of prosodic and statistical rhythms jointly supports artificial language learning.Journal: iScienceIn common: FieldTrip, emmeans, lme4, 2 other tools, cognitive, 13 references
- [2] doi:10.1093/braincomms/fcag261 [code]
- Cortical speech envelope tracking reflects lesion-symptom profiles in post-stroke aphasia.Journal: Brain communicationsIn common: emmeans, lme4, tidyverse, cognitive, 8 references
- [3] doi:10.1371/journal.pbio.3003924
- Endogenous auditory and motor brain rhythms predict individual speech tracking.Journal: PLoS biologyIn common: cognitive, 11 references
- [4] doi:10.1111/ejn.70481 [code]
- Neural and Behavioral Tracking of Musical Phrases Occurs Without Temporal Regularity.Journal: The European journal of neuroscienceIn common: FieldTrip, lme4, ggpubr, 3 other tools, cognitive, 5 references
- [5] doi:10.7554/elife.107088 [code]
- Development of auditory and spontaneous movement responses to music over the first postnatal year.Journal: eLifeIn common: easystats, FieldTrip, emmeans, 5 other tools, 2 references
- [6] doi:10.64898/2026.05.08.26348885 [code]
- Insights from nine nights of self-applied, low-density sleep EEG during sleep restriction therapy: a proof-of-concept evaluationJournal: medRxiv (preprint)In common: easystats, FieldTrip, emmeans, 5 other tools, 1 reference
- [7] doi:10.1038/s41598-026-57256-0 [code]
- Pupil- and gaze dynamics track emotion content in naturalistic speech.Journal: Scientific reportsIn common: FieldTrip, cognitive, 6 references
- [8] doi:10.1093/cercor/bhag077 [code]
- The longitudinal development of intrinsic timescales in infancy and their relation to alpha brain rhythm.Journal: Cerebral cortex (New York, N.Y. : 1991)In common: easystats, FieldTrip, lme4, 3 other tools, 2 references
- [9] doi:10.1038/s41467-026-75799-8 [code]
- Behaviourally driven closed-loop beta-tACS enhances beta activity and motor behaviour.Journal: Nature communicationsIn common: easystats, FieldTrip, emmeans, 3 other tools, 2 references
- [10] doi:10.1162/imag.a.1305
- Can you &
lt;i& gt;feel& lt;/ i& gt; what I am saying? Speech-based vibrotactile stimulation enhances the cortical tracking of attended speech in a multi-talker background. Journal: Imaging neuroscience (Cambridge, Mass.)In common: cognitive, 7 references
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 1 repository of the authors' code, each at its verified commit and with its license, 17 scripts, and 7 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:c4639a7c327a8dd1…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[.
Discussion, reproductions, activity
Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
