OSCR

Dynamic acoustic-to-categorical representations of phonemes and prosody along ventral and dorsal speech streams.

Code ↔ Paper

18 matches between paragraphs of the paper and lines of its authors' code, computed by the harvester (lexical-v1). Click a colored paragraph or line to see its counterpart.

The 18 matches
  1. [1] § Methods › Time-resolved RSA ↔ code/python/create_model_rdms.py, lines 21–100 · score 0.86 · original morph steps, squared Euclidean, model RDMs, 0–1, categorical RDM, dissimilarities
  2. [2] § Results › Phonemic and prosodic representations in ventral and dorsal stream regions ↔ code/python/create_model_rdms.py, lines 21–100 · score 0.84 · sigmoid functions fitted, representational dissimilarity matrices, squared Euclidean, morph step, 0–1, categorial RDMs
  3. [3] § Methods › Source reconstructions ↔ code/python/run_rsa_rois.py, lines 64–126 · score 0.76 · cortical surface, noise covariance, fsaverage, epochs, volume, vertices
  4. [4] § Methods › mTE analysis ↔ code/python/run_mte_rois.py, lines 384–468 · score 0.74 · standard deviation, normalised mTE, directed connection, mTEn, lag, prosody
  5. [5] § Methods › mTE analysis ↔ code/python/mte_func.py, lines 72–128 · score 0.71 · neutral weighting, source ROI, target ROI, events, kernel, mTE
  6. [6] § Methods › Time-resolved RSA ↔ code/python/rsa_func.py, lines 47–105 · score 0.69 · nested model comparison, unique variance explained, reduced model, model RDMs, RSA
  7. [7] § Results › Phonemic and prosodic representations in ventral and dorsal stream regions ↔ figs/Fig3.ipynb, lines 56–67 · score 0.68 · 464–500 ms, 26–62 ms, stimulus offset, 464 ms, 26 ms, voice
  8. [8] § Results › Phonemic and prosodic representations in ventral and dorsal stream regions ↔ figs/Fig5.ipynb, lines 56–67 · score 0.68 · 464–500 ms, 26–62 ms, stimulus offset, 464 ms, 26 ms, voice
  9. [9] § Methods › Time-resolved RSA ↔ code/python/rsa_func.py, lines 175–285 · score 0.63 · triangular entries, linear models, neural RDM, NNLS, squares, weights
  10. [10] § Methods › mTE analysis ↔ code/python/mte_func.py, lines 47–69 · score 0.63 · Gaussian kernel function, Gram matrix, mTE
  11. [11] § Methods › Analysis of task-modulation effect ↔ code/python/run_rsa_rois.py, lines 64–126 · score 0.57 · noise covariance, whitening matrix, resolved RSA, model RDMs, ROIs, prosody
  12. [12] § Methods › Analysis of task-modulation effect ↔ code/python/analysis_pipeline.py, lines 46–102 · score 0.57 · task agnostic, task modulation, model RDMs, resolved RSA, subset, ROI
  13. [13] § Methods › Time-resolved RSA ↔ code/python/cluster_stats.py, lines 26–163 · score 0.56 · square rooted, baseline correction, transformed, Fisher, inference, acoustic
  14. [14] § Results ↔ code/matlab/fit_linear_and_sigmoid.m, lines 42–121 · score 0.56 · sigmoid fits, Sigmoid functions, Behavioural responses, linear, squares
  15. [15] § Results › Phonemic and prosodic representations in ventral and dorsal stream regions ↔ figs/Fig3.ipynb, lines 150–238 · score 0.53 · stimulus offset, stimulus onset, searchlight, axis, intervals, hemispheric
  16. [16] § Methods › Time-resolved RSA ↔ code/python/rsa_func.py, lines 108–159 · score 0.52 · dependent variable, subtraction, neural RDM, NNLS, weight, fitting
  17. [17] § Results › Transfer of phonemic and prosodic representations along ventral and dorsal streams ↔ code/python/run_mte_rois.py, lines 384–468 · score 0.51 · standard deviation, mTEn, lagging, MEG, ROIs, prosody
  18. [18] § Results › Phonemic and prosodic representations in ventral and dorsal stream regions ↔ code/python/cluster_stats.py, lines 26–163 · score 0.50 · cluster forming threshold, baseline corrected, transformed, permutation, error, temporal

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

Python · 309 lines · 12 KB · GPL-3.0 · 3 matches

  1. ## functions for RSA.
  2. #
  3. # written by S-C. Baek
  4. # update: 16.12.2024
  5. #
  6. """
  7. Collection of functions to implement representational similarity analysis (RSA).
  8. The code below is customized based on 'mne-rsa 0.8dev (https://users.aalto.fi/~vanvlm1/mne-rsa/#development).'
  9. """
  10. import numpy as np
  11. from scipy.spatial import distance
  12. from sklearn.linear_model import LinearRegression
  13. import contextlib
  14. import joblib
  15. from joblib import Parallel, delayed
  16. from tqdm import tqdm
  17. def _ensure_condensed(rdm, var_name):
  18. """
  19. This function is taken from mne-rsa 0.8dev.
  20. It converts a single RDM to a condensed form if needed.
  21. """
  22. if type(rdm) is list:
  23. return [_ensure_condensed(d, var_name) for d in rdm]
  24. if not isinstance(rdm, np.ndarray):
  25. raise TypeError('A single RDM should be a NumPy array. '
  26. 'Multiple RDMs should be a list of NumPy arrays.')
  27. if rdm.ndim == 2:
  28. if rdm.shape[0] != rdm.shape[1]:
  29. raise ValueError(f'Invalid dimensions for "{var_name}" '
  30. '({rdm.shape}). The RDM should either be a '
  31. 'square matrix, or a one dimensional array when '
  32. 'in condensed form.')
  33. rdm = distance.squareform(rdm)
  34. elif rdm.ndim != 1:
  35. raise ValueError(f'Invalid dimensions for "{var_name}" ({rdm.shape}). '
  36. 'The RDM should either be a square matrix, or a one '
  37. 'dimensional array when in condensed form.')
  38. return rdm
  39. def _nested_comp_uvar_nnls(neural_rdm, rdm_model, weighting=None):
  40. """
  41. Compute unique variance explained by each model using nested model comparison.
  42. Linear regression is performed based on non-negative least squares (NNLS).
  43. Full model is based on all model RDMs available.
  44. Reduced model is based on all model RDMs except for on being tested.
  45. More than one model RDMs are required.
  46. If a weight matrix is specified, whitening distance estimates is performed.
  47. """
  48. if len(rdm_model) == 1:
  49. raise ValueError('Need more than one model RDM to use '
  50. 'nested-comp-uvar-nnls as metric.')
  51. n_models = len(rdm_model)
  52. # number of distances
  53. n_dists = len(neural_rdm)
  54. # if a weight matrix is specified
  55. if weighting is not None:
  56. # to make sure a weight matrix is ndarray
  57. V = np.array(weighting)
  58. # compute whitening matrix
  59. L, K = np.linalg.eigh(V)
  60. inv_l = 1 / np.sqrt(np.abs(L))
  61. W = K @ np.diag(inv_l) @ K.T # V^-1/2 for whitening
  62. else:
  63. W = np.eye(n_dists)
  64. # ---------- full model ---------- #
  65. X = np.atleast_2d(np.array([np.ones(n_dists)] + rdm_model)).T # design metrix including intercept
  66. Y = np.atleast_2d(np.array(neural_rdm)).T # dependent variable
  67. # weighting X and Y with decorrelation matrix
  68. wX = np.array(W @ X)
  69. wY = np.array(W @ Y)
  70. # main functionality
  71. reg_nnls_full = LinearRegression(fit_intercept=False, positive=True).fit(wX, wY)
  72. rsq_full = reg_nnls_full.score(wX, wY) # r_squared of full model
  73. # init output array
  74. rsq_reduceds = np.empty( (n_models, ) )
  75. # loop over rdm_model
  76. for i in range(n_models):
  77. # Reduced model
  78. reduced_model = rdm_model[:i] + rdm_model[i + 1:]
  79. X_reduced = np.atleast_2d(np.array([np.ones(n_dists)]+reduced_model)).T # design metrix including intercept
  80. wX_reduced = np.array(W @ X_reduced) # weighting X_reduced with decorrelation matrix
  81. reg_nnls_reduced = LinearRegression(fit_intercept=False, positive=True).fit(wX_reduced, wY)
  82. rsq_reduceds[i] = reg_nnls_reduced.score(wX_reduced, wY) # r_squared of reduced model
  83. # specify the output
  84. rsq_reduceds[rsq_reduceds < 0] = 0
  85. out = rsq_full - rsq_reduceds # unique variance explained by each parameter
  86. return out
  87. def _linear_regression_rsq_nnls(neural_rdm, rdm_model, weighting=None):
  88. """
  89. Compute r-squared by linear regression based on NNLS (with an effect of intercept excluded).
  90. A linear regression model takes a single neural RDM as a dependent variable,
  91. and one or multiple model RDMs as independent variable.
  92. If a weight matrix is specified, whitening distance estimates is performed.
  93. """
  94. # number of distances
  95. n_dists = len(neural_rdm)
  96. # number of models
  97. n_models = len(rdm_model)
  98. # if a weight matrix is specified
  99. if weighting is not None:
  100. # to make sure a weight matrix is ndarray
  101. V = np.array(weighting)
  102. # compute whitening matrix
  103. L, K = np.linalg.eigh(V)
  104. inv_l = 1 / np.sqrt(np.abs(L))
  105. W = K @ np.diag(inv_l) @ K.T # V^-1/2 for whitening
  106. else:
  107. W = np.eye(n_dists)
  108. # ---------- full model ---------- #
  109. X = np.atleast_2d(np.array([np.ones(n_dists)] + rdm_model)).T # design metrix including intercept
  110. Y = np.atleast_2d(np.array(neural_rdm)).T # dependent variable
  111. # weighting X and Y with decorrelation matrix
  112. wX = np.array(W @ X)
  113. wY = np.array(W @ Y)
  114. # main functionality
  115. reg_nnls = LinearRegression(fit_intercept=False, positive=True).fit(wX, wY)
  116. rsq = reg_nnls.score(wX, wY) # r_squared of full model
  117. # ---------- null model ---------- #
  118. X0 = np.atleast_2d(np.array([np.ones(n_dists)])).T # intercept only model
  119. # weighting X0 with decorrelation matrix
  120. wX0 = np.array(W @ X0)
  121. # main functionality
  122. reg_nnls = LinearRegression(fit_intercept=False, positive=True).fit(wX0, wY)
  123. rsq0 = reg_nnls.score(wX0, wY) # r_squared of null model
  124. # subtract rsq0 from rsq if rsq0 is larger then 0
  125. if rsq0 > 0:
  126. rsq = rsq - rsq0
  127. return rsq * np.ones( (n_models,) ) # to meet the shape criteria
  128. def _rsa_single_rdm(neural_rdm, rdm_model, metric, weighting=None):
  129. """Compute RSA between a single neural RDM and model RDMs."""
  130. if metric == 'regression-rsq-nnls':
  131. rdm_model = [rdm for rdm in rdm_model]
  132. rsa_vals = _linear_regression_rsq_nnls(neural_rdm, rdm_model, weighting)
  133. elif metric == 'nested-comp-uvar-nnls': # added by S-C. Baek
  134. rdm_model = [rdm for rdm in rdm_model]
  135. rsa_vals = _nested_comp_uvar_nnls(neural_rdm, rdm_model, weighting)
  136. else:
  137. raise ValueError("Invalid RSA metric, must be one of: 'nested-comp-uvar-nnls' or 'regression-rsq-nnls' ")
  138. return rsa_vals
  139. def rsa_array(rdm_array, rdm_model, rsa_metric='regression-rsq-nnls', weights=None, n_jobs=1, verbose=True):
  140. """
  141. This function is adapted from rsa_arry in mne-rsa 0.8dev.
  142. It Performs RSA on an array of data.
  143. Input
  144. ----------
  145. rdm_array : ndarray, shape (n_vertices, n_times, n_features)
  146. An array of precomputed neural RDMs.
  147. rdm_model : ndarray, shape (n_cond, n_cond) | (n_cond * (n_cond - 1) // 2,) | list of ndarray
  148. The model RDM(s). Both square (`scipy.spatial.distance.squareform`) and condensed forms are possible.
  149. A condensed form corresponds to the upper triangualr entries of a square form.
  150. For using multiple model RDMs, they should be provided as list.
  151. rsa_metric : str
  152. The RSA metric to use to compare neural and model RDMs.
  153. Valid options are:
  154. * 'regression-rsq-nnls' for r-squared by all models using linear regression based on NNLS.
  155. * 'nested-comp-uvar-nnls' for unique variance explained by each model using nested linear modeling based on NNLS.
  156. Defaults to 'regression-rsq-nnls'.
  157. weights : ndarry, shape (n_cond, n_cond) | list of ndarray
  158. A weight matrix or list of weight matrices to whiten distance estimates.
  159. If specified, a precomputed weight matrix should be provided.
  160. It can be computed by either assuming the independence of noise between conditions,
  161. or by estimating the noise corvariance structure between conditions.
  162. If provided as list, the length should match the first dimension of a rdm_array.
  163. Defaults to None.
  164. see also:
  165. Diedrichsen, J. et al. Comparing representational geometries using whitened unbiased-distance-matrix similarity.
  166. Neuron Behav Data Anal Theory 5, 1–31 (2020).
  167. n_jobs : int
  168. The number of processes (=number of CPU cores) to use. Specify -1 to use all available cores.
  169. Defaults to 1.
  170. verbose : bool
  171. If specified, a progress bar appears at the prompt.
  172. Returns
  173. -------
  174. rsa_vals : ndarray, shape ([n_vertices,] [n_times,] [n_rdm_models])
  175. The RSA value for each data point in input array.
  176. When multiple models have been supplied, the last dimension will contain RSA results for each model
  177. (also true for regression-rsq-nnls).
  178. """
  179. # reshape rdm_array
  180. n_rois, n_times, n_dists = rdm_array.shape
  181. rdm_array = np.reshape(rdm_array, (-1, n_dists)) # to (n_rois * n_times) X n_dists
  182. # reshape covariance matrix if any
  183. n_loop = n_rois * n_times
  184. if isinstance(weights, list) and len(weights) > 1:
  185. assert len(weights) == n_rois
  186. weightings = [weights[i] for i in range(n_rois) for j in range(n_times)]
  187. else:
  188. weightings = [None for i in range(n_loop)]
  189. # rdm_model into a condensed form
  190. if type(rdm_model) == list:
  191. rdm_model = [_ensure_condensed(rdm, 'rdm_model') for rdm in rdm_model]
  192. else:
  193. rdm_model = [_ensure_condensed(rdm_model, 'rdm_model')]
  194. # define a function for running rsa at a single point
  195. def rsa_single_rdm(neural_rdm, weighting):
  196. """
  197. Compute RSA for at a single roi and time point.
  198. Input
  199. ----------
  200. neural_rdm : ndarray, shape (n_dists,)
  201. A subset of rdm_array. Specifically, neural rdm at a single roi and time point.
  202. weighting : ndarray, shape (n_cond, n_cond)
  203. A weight matrix correspond to neural_rdm (for each roi and time point).
  204. """
  205. return _rsa_single_rdm(neural_rdm, rdm_model, rsa_metric, weighting)
  206. if verbose:
  207. @contextlib.contextmanager
  208. def tqdm_joblib(tqdm_object):
  209. """
  210. Context manager to patch joblib to report into tqdm progress bar given as argument
  211. Taken from here:
  212. https://stackoverflow.com/questions/37804279/how-can-we-use-tqdm-in-a-parallel-execution-with-joblib.
  213. """
  214. class TqdmBatchCompletionCallback(joblib.parallel.BatchCompletionCallBack):
  215. def __call__(self, *args, **kwargs):
  216. tqdm_object.update(n=self.batch_size)
  217. return super().__call__(*args, **kwargs)
  218. old_batch_callback = joblib.parallel.BatchCompletionCallBack
  219. joblib.parallel.BatchCompletionCallBack = TqdmBatchCompletionCallback
  220. try:
  221. yield tqdm_object
  222. finally:
  223. joblib.parallel.BatchCompletionCallBack = old_batch_callback
  224. tqdm_object.close()
  225. with tqdm_joblib(tqdm(desc="ROIs", total=len(rdm_array))) as pbar:
  226. # Call RSA multiple times in parallel for each ROI patch
  227. data = Parallel(n_jobs)(delayed(rsa_single_rdm)(neural_rdm, weighting)
  228. for neural_rdm, weighting in zip(rdm_array, weightings) )
  229. else: # without progress bar
  230. data = Parallel(n_jobs)(delayed(rsa_single_rdm)(neural_rdm, weighting)
  231. for neural_rdm, weighting in zip(rdm_array, weightings))
  232. # Figure out the desired dimensions of the resulting array
  233. dims = (n_rois, n_times)
  234. if len(rdm_model) > 1:
  235. dims = dims + (len(rdm_model),)
  236. return np.array(data).reshape(dims)
  237. def rsa_stcs_rois(rdm_array, rdm_model, rsa_metric='regression-rsq-nnls', weights=None, n_jobs=1, verbose=True):
  238. """This function checks the data compatibility before performing RSA."""
  239. # if a single model RDM, wrap it in list
  240. one_model = type(rdm_model) is np.ndarray
  241. if one_model:
  242. rdm_model = [rdm_model]
  243. # Check for compatibility of the rdm_array and the model features
  244. for model in rdm_model:
  245. if model.ndim == 2:
  246. model = _ensure_condensed(model, 'rdm_model')
  247. if rdm_array.shape[-1] != model.shape[0]:
  248. raise ValueError(
  249. 'The number of distance in rdm_array (%d) should be equal to the '
  250. 'number of distance in `rdm_model` (%d). '
  251. % (rdm_array.shape[-1], model.shape[0]))
  252. # Perform the RSA
  253. data = rsa_array(rdm_array=rdm_array, rdm_model=rdm_model, rsa_metric=rsa_metric,
  254. weights=weights, n_jobs=n_jobs, verbose=verbose)
  255. return data

rsa_func.py at commit 70a0853, under GPL-3.0 · at the source

Overview

  1. Research Group Neurocognition of Music and Language, Max Planck Institute for Empirical Aesthetics, Frankfurt am Main, Germany
  2. Institute of German Linguistics, Philipps-University Marburg, Marburg, Germany
  3. Center for Mind, Brain and Behavior, Universities of Marburg and Gießen, Marburg, Germany
  4. Methods and Development Group Brain Networks, Max Planck Institute for Human Cognitive and Brain Sciences, Leipzig, Germany
  5. Department of Neuropsychology, Max Planck Institute for Human Cognitive and Brain Sciences, Leipzig, Germany
Journal: Nature communications, volume 17, issue 1, article 6082
Dates: received 27 January 2025; accepted 22 June 2026; published online 10 July 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1038/s41467-026-75240-0 · PMID 42431896 · PMCID PMC13354773 · OpenAlex W7167904920
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: MEG (modality), human (organism), cognitive (subfield)
Methods: Connectivity, Statistics, Smoothing, state filtering, decompositions, Machine learning, Preprocessing, Spectral & time-frequency, fMRI & imaging
Keywords: Language, Human behaviour
MeSH: Phonetics*, Speech*, Speech Acoustics*, Speech Perception*, Acoustic Stimulation, Brain Mapping, Female, Humans, Magnetoencephalography, Male (* major topic)
Topic: Phonetics and Phonology Research (Experimental and Cognitive Psychology, Psychology), according to OpenAlex
Citations: cited by 1 paper (Europe PMC); 71 references in the paper

Abstract

Phonemes and prosodic contours are fundamental elements of speech used to convey complementary meanings. Perceiving these elements requires mapping variable acoustic cues onto discrete categories along ventral and dorsal speech streams. While traditional models make clear predictions, exactly where and when this acoustic-to-categorical mapping occurs remains unclear. Using magnetoencephalography and behavioural psychophysics, combined with time-resolved representational similarity and multivariate transfer entropy analyses, we show how phonemes and prosody propagate along the dual streams and how their categorical representations are gradually formed. Contrary to theoretical predictions, acoustic and categorical representations occur in parallel, rather than serially, across time and space for both elements. Moreover, prosody categories extend further along both streams than phoneme categories, with differently weighted contributions of posterior temporal areas. These results highlight a shared principle of parallel acoustic and categorical processing, yet partially distinct abstraction mechanisms for phonemes and prosody, key to access the multilayered meaning of speech.

Reproduced under the paper's license (CC BY), from the paper cited above.

Repositories

Its files are read in the Code ↔ Paper reader above, with 18 matches between paragraphs and lines of code.

SeungCheolBaek/representation_dynamics_phonemes_prosody

License: GPL-3.0
State: the link answers, verified on 27 September 2026
Evidence: files inventoried
Commit: 70a0853e985ba82593b4f01429a34cfb216dca74, 12 July 2026
Languages: Python (8), Jupyter (6), MATLAB (1)
Size: 3,270 files, 15 scripts
Software Heritage: not archived
Found in: “Code availability”
Holds: README, license file, environment (requirements.txt), 6 notebooks
Not found: CITATION.cff, tests, continuous integration, documentation
Tools: NumPy (13 files), SciPy (8 files), Matplotlib (6 files), MNE-Python (6 files), pandas (5 files), Curve Fitting Toolbox (1 file), scikit-learn (1 file), seaborn (1 file)
Availability: 1 check, the latest on 27 September 2026: the link answers
  • 27 September 2026: the link answers
17 files

Zenodo 20509067

License: GPL-3.0
State: the link answers, verified on 27 September 2026
Evidence: files inventoried
Size: 1 file
Software Heritage: not checked
Found in: “Code availability”
Not found: README, license file, CITATION.cff, environment file, tests, continuous integration, documentation
Availability: 1 check, the latest on 27 September 2026: the link answers (HTTP 200)
  • 27 September 2026: the link answers (HTTP 200)
At the source:

Code availability

The code to replicate the ROI-based RSA and mTE analysis, as well as the main figures, is publicly available in the following repository71: https://github.com/SeungCheolBaek/representation_dynamics_phonemes_prosody (10.5281/zenodo.20509067).

Reproduced under the paper's license (CC BY), from the paper cited above.

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:

  • 2 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
  • 15 scripts, each with its path and the digest of its content;
  • 18 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

No dataset and no data link were found in the paper.

Data Availability Statement

The raw data are protected and are not available due to data privacy laws. The stimuli presented, and the behaviour responses of individual participants collected during the MEG experiment, as well as the processed neural data—including the neural RDMs and time-resolved RSA and mTE results based on the ROIs—are publicly available at the following repository71: https://github.com/SeungCheolBaek/representation_dynamics_phonemes_prosody (10.5281/zenodo.20509067).

The code to replicate the ROI-based RSA and mTE analysis, as well as the main figures, is publicly available in the following repository71: https://github.com/SeungCheolBaek/representation_dynamics_phonemes_prosody (10.5281/zenodo.20509067).

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 2, 28 September 2026

  • Funding: added Max-Planck-Gesellschaft

Version 1, 27 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 5 authors, 2 keywords, 10 MeSH terms, 60 references.

Cite

This paper

Baek, S.-C., Kim, S.-G., Maess, B., Grigutsch, M., & Sammler, D. (2026). Dynamic acoustic-to-categorical representations of phonemes and prosody along ventral and dorsal speech streams. Nature communications, 17(1), 6082. https://doi.org/10.1038/s41467-026-75240-0

BibTeX

@article{baek2026dynamic,
author = {Baek, Seung-Cheol and Kim, Seung-Goo and Maess, Burkhard and Grigutsch, Maren and Sammler, Daniela},
title = {{Dynamic acoustic-to-categorical representations of phonemes and prosody along ventral and dorsal speech streams}},
journal = {Nature communications},
year = {2026},
month = jul,
volume = {17},
number = {1},
pages = {6082},
publisher = {Nature Publishing Group},
issn = {2041-1723},
doi = {10.1038/s41467-026-75240-0},
url = {https://doi.org/10.1038/s41467-026-75240-0},
pmid = {42431896},
pmcid = {PMC13354773}
}

RIS

TY - JOUR
AU - Baek, Seung-Cheol
AU - Kim, Seung-Goo
AU - Maess, Burkhard
AU - Grigutsch, Maren
AU - Sammler, Daniela
TI - Dynamic acoustic-to-categorical representations of phonemes and prosody along ventral and dorsal speech streams
T2 - Nature communications
J2 - Nat Commun
PY - 2026
DA - 2026/07/10
VL - 17
IS - 1
SP - 6082
SN - 2041-1723
PB - Nature Publishing Group
DO - 10.1038/s41467-026-75240-0
UR - https://doi.org/10.1038/s41467-026-75240-0
LA - en
ER -

CSL-JSON

{
"id": "10.1038/s41467-026-75240-0",
"type": "article-journal",
"title": "Dynamic acoustic-to-categorical representations of phonemes and prosody along ventral and dorsal speech streams",
"container-title": "Nature communications",
"author": [
{
"family": "Baek",
"given": "Seung-Cheol"
},
{
"family": "Kim",
"given": "Seung-Goo"
},
{
"family": "Maess",
"given": "Burkhard"
},
{
"family": "Grigutsch",
"given": "Maren"
},
{
"family": "Sammler",
"given": "Daniela"
}
],
"container-title-short": "Nat Commun",
"volume": "17",
"issue": "1",
"page": "6082",
"DOI": "10.1038/s41467-026-75240-0",
"PMID": "42431896",
"PMCID": "PMC13354773",
"ISSN": "2041-1723",
"publisher": "Nature Publishing Group",
"URL": "https://doi.org/10.1038/s41467-026-75240-0",
"language": "en",
"issued": {
"date-parts": [
[
2026,
7,
10
]
]
}
}

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.1073/pnas.2422097122
Hierarchical dynamic coding coordinates speech comprehension in the human brain
Journal: n/a
In common: MEG, cognitive, 8 references
[2] doi:10.1162/imag.a.1227 [code]
Large language models reveal the neural tracking of linguistic context in attended and unattended multi-talker speech.
Journal: Imaging neuroscience (Cambridge, Mass.)
In common: MNE-Python, seaborn, scikit-learn, 4 other tools, cognitive, 4 references
[3] doi:10.1523/eneuro.0041-26.2026 [code]
Ocular Speech Tracking Persists in Blindness, but Its Dynamics and Oculo-Cerebral Connectivity Depend on Visual Status.
Journal: eNeuro
In common: MNE-Python, seaborn, scikit-learn, 4 other tools, MEG, cognitive, 3 references
[4] doi:10.1038/s41598-026-41532-0 [code]
Prediction, syntax and semantic grounding in the brain and large language models.
Journal: Scientific reports
In common: MNE-Python, seaborn, scikit-learn, 4 other tools, MEG, cognitive, 2 references
[5] doi:10.1038/s41467-026-75662-w [code]
Distinct Roles of Deep and Superficial Cortical Layers in Tone Prediction, Comparison, and Adaptation in Human Auditory Cortices.
Journal: Nature communications
In common: MNE-Python, seaborn, scikit-learn, 4 other tools, cognitive, 2 references
[6] doi:10.1073/pnas.2536563123 [code]
Temporally structured motor and auditory representations in covert syllable production.
Journal: Proceedings of the National Academy of Sciences of the United States of America
In common: MNE-Python, scikit-learn, pandas, 3 other tools, MEG, cognitive, 2 references
[7] doi:10.1038/s41597-025-05174-7 [code]
A large-scale MEG and EEG dataset for object recognition in naturalistic scenes
Journal: n/a
In common: MNE-Python, seaborn, scikit-learn, 4 other tools, MEG, 2 references
[8] doi:10.1162/nol.a.249 [code]
How Low-Frequency Neural Activity Structures Language in Time.
Journal: Neurobiology of language (Cambridge, Mass.)
In common: cognitive, 3 references, author Burkhard Maess
[9] doi:10.1523/eneuro.0069-26.2026 [code]
Electrophysiological Indices of Hierarchical Speech Processing Differentially Reflect the Comprehension of Speech in Noise.
Journal: eNeuro
In common: cognitive, 6 references
[10] doi:10.1038/s41598-026-50946-9 [code]
Fixation-related potentials reveal that confusing program code elicits a late frontal positivity.
Journal: Scientific reports
In common: MNE-Python, seaborn, scikit-learn, 4 other tools, 2 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.

Request its removal

To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).

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.