BLOMEGA

The "32% to 79%" code-switching phoneme loss is one recognizer on two datasets, and the code is not out

Lab note · 9 October 2026 · BLOMEGA

Abstract technical illustration of two interleaved streams of small sound tiles in cyan and orange, where orange tiles near the seam are recoloured to cyan, on a dark navy ground

On 8 October 2026 researchers at Tel Aviv University and the University of Miami reported that two phone recognizers and a phoneme-conditioned TTS model "lose 32% to 79%" of the phonemes one language has and the other lacks when the input switches language. Recomputed from the paper's own Table 5, both ends of that range belong to the same model, PhoneticXeus: 78.6% on bilingual read speech (SwitchLingua) and 32.0% on spliced FLEURS clips. The effect itself checks out: shared phonemes lose only 3% to 24% in the same cells. What a dubbing or ASR team cannot do yet is rerun it: on 9 October 2026 the GitHub repository held a demo page and 63 MP3s, with code marked "coming soon".

Code-switched input costs every tested model 32% to 79% of its unshared-phoneme recall, and the range is set by the dataset more than the model

The paper's metric is unshared phoneme recall: of the phonemes that occur in one language of a pair and never in the other (English /ɹ/ next to French, Spanish /ɾ/ next to English), how many does the model keep? It scores each language span alone (SEP) and the whole utterance (TOG), takes the worse of the two spans, and reports the drop Δ. Table 5 gives Δ and Δ as a fraction of the SEP level for 4 model heads on 2 datasets. We back-solved the SEP and TOG recall from those two columns and checked them against Table 1 (SwitchLingua TOG recall) and Table 6 (spliced FLEURS SEP and TOG recall): all 11 overlapping values match within 0.001, and only two differ at all (PhoneticXeus 0.581 vs 0.582 and 0.395 vs 0.396, rounding). The tables are internally consistent.

Sorted, the eight relative losses are 32.0%, 42.4%, 44.3%, 71.8%, 73.0%, 75.4%, 76.9% and 78.6%. The minimum and maximum are both PhoneticXeus. On SwitchLingua, 288 recordings of bilingual speakers reading sentences with one switch, the four heads sit at 42% to 79%. On spliced FLEURS, two monolingual clips joined end to end, they sit at 32% to 73%. POWSM's two heads barely move between datasets (75% and 77% against 72% and 73%); PhoneticXeus drops from 79% to 32%. Our reading, marked as judgement: whatever the spliced condition lacks (natural coarticulation, a single speaker across the switch, a usually short English second span), it matters to PhoneticXeus far more than to POWSM.

Both ends of the "32% to 79%" range are PhoneticXeus Relative drop in recall of the worse span, SEP to TOG (Δ / r SEP), Table 5 of arXiv:2610.11275v1 SwitchLingua (human bilingual read speech) TTS (CosyVoice3) 42.4% 10.5% PhoneticXeus 78.6% (max) 24.4% POWSM, CTC head 75.4% 21.0% POWSM, attn. decoder 76.9% 20.2% Spliced FLEURS (two monolingual clips joined) TTS (CosyVoice3) 44.3% 6.2% PhoneticXeus 32.0% (min) 3.0% POWSM, CTC head 71.8% 19.5% POWSM, attn. decoder 73.0% 19.7% 0% 25% 50% 75% 100% relative loss of worse-span recall unshared phonemes shared phonemes
Relative loss per model head and dataset. Values are the Δ/rSEP columns of Table 5 in arXiv:2610.11275v1; the min and max labels and the SEP/TOG back-solve are our computation (headline.py).

The absolute levels are worth reading too. Even alone, the worse span keeps only 54% to 71% of its unshared phonemes (rSEP 0.538 to 0.712). Together, PhoneticXeus on SwitchLingua keeps 13.8% of them, POWSM's attention decoder 12.4%. For a pronunciation-sensitive pipeline, that is the number that matters: roughly 1 in 8 English-only phonemes survive in the worse span.

What Yanuka, Giryes and Alper published on 8 October 2026

arXiv:2610.11275v1, Phonological Interference in Multilingual Speech Models, by Moran Yanuka and Raja Giryes (Tel Aviv University) and Morris Alper (University of Miami), was submitted on 8 October 2026 (arXiv API published 2026-10-08T05:38:01Z) and is marked "under review". It tests POWSM (E-Branchformer encoder, attention decoder plus a CTC head), PhoneticXeus (XEUS encoder, CTC) and CosyVoice3 fine-tuned with LoRA to take IPA input across 16 languages, with no language tags.

Three claims sit on top of the measurement. First, unseen languages: across 43 DoReCo languages, recordings the probe assigns more confidently to a training language lose 0.053 (POWSM) and 0.060 (PhoneticXeus) more unshared recall, while shared recall rises 0.015 and 0.029. Second, cause: a 15-dimensional "language subspace", under 2% of hidden dimensions, built from 16 language centroids; overwriting it toward another language on monolingual speech removes 0.777 (POWSM), 0.728 (PhoneticXeus) and 0.346 (TTS) of unshared recall, while a random subspace of equal rank removes 0.025 to 0.062 (Table 9). Third, a fix: windowed language estimation (WLE) replaces only those 15 coordinates with values computed from a 2 s window, and removes "34% to 69%" of interference. The same subspace edit moves Whisper large-v3's language token by +0.201 toward the target (Table 11).

Every headline figure in the abstract recomputes from the tables, with two that need a footnote

ClaimPaperOur recomputationSource
Unshared-phoneme loss on code-switched input32% to 79%32.0% (PhoneticXeus, FLEURS) to 78.6% (PhoneticXeus, SwitchLingua)Abstract; Table 5, Δ/rSEP
Shared-phoneme loss, same cells"far fewer"3.0% to 24.4%Table 5, shared Δ/rSEP
Unshared exact-match drop over shared drop1.9 to 8.2 times1.93 to 8.23; the 8.2 spans 5.0 to 20.1 across the shared-drop CITable 5 ratio column and CI [.009, .036]
Back-solved rTOG, SwitchLingua0.410 / 0.138 / 0.1460.410 / 0.138 / 0.146Table 1 vs Table 5a
Back-solved rSEP, spliced FLEURS0.571 / 0.582 / 0.639 / 0.6100.571 / 0.581 / 0.639 / 0.610Table 6 vs Table 5b
WLE removes interference34% to 69%34.1% and 69.2% are both TTS (fixed vs span window); PhoneticXeus 57.8%, POWSM 35.7%Abstract; Table 1
WLE vs naive sliding window, SwitchLinguawindow degrades PER 1 to 3 ppwindow removes 60.2% (PX) and 65.8% (POWSM), WLE 57.8% and 35.7%Tables 2, 17
English-only phoneme types vs partnerlisted, not summarisedEnglish has more in 8 of 11 English pairs; English-Spanish 16 vs 6, English-Italian 10 vs 1Table 4; inventory.py
Per-language-pair interferencenot reportednot computable from the paperTables 5, 17
Codeproject page link"Code (coming soon)"; repo has 67 files, 63 MP3, 14 commits, no licence (9 Oct 2026)GitHub API, our check

Paper values from arXiv:2610.11275v1. Back-solves, ratio interval, WLE shares, Table 4 counts and release checks are BLOMEGA computations, 9 October 2026.

The first footnote is the 8.2× ratio. It divides PhoneticXeus's unshared exact-match drop on spliced FLEURS (0.181) by a shared drop of 0.022 whose 95% interval is 0.009 to 0.036. Holding the numerator fixed, the ratio could be anywhere from 5.0× to 20.1×. The direction is solid; the precise multiple at the top of the range is not. It is also the same cell that gives the 32% minimum, so the cell with the smallest relative loss carries the largest selectivity ratio, because its shared phonemes barely move.

The second is the WLE range. "34% to 69%" reads as a spread across models, but both ends are the TTS model under two window variants. On SwitchLingua the recognizers sit inside it (PhoneticXeus 57.8%, POWSM 35.7%). For POWSM a plain 2 s sliding window removes 65.8% against WLE's 35.7%; the paper's case for WLE there is the monolingual cost, where the window adds 0.96 to 2.14 pp PER on seen benchmarks and WLE adds at most 0.10 pp (Table 2). On spliced FLEURS, which the abstract does not quote, WLE removes 74.7% (PhoneticXeus) and 49.0% (POWSM).

How a whole-utterance language guess overwrites local phonemes

The paper's account is that each model forms one language estimate from the whole input and imposes that language's inventory. Its probe shows the estimate shifting: on SwitchLingua the score for a span's own language drops by 0.31 (POWSM), 0.29 (PhoneticXeus) and 0.53 (TTS) when the other language is present (Figure 5a, Appendix F). The substitutions are not near misses. In PanPhon feature distance the added replacements are 3.0 to 4.3 times farther than the other language's closest phoneme; English /ɹ/ next to French goes to /ʁ/ (distance 6.9) rather than /j/ (1.6) (Table 8).

One language guess for the whole utterance, imposed on every phoneme Sections 2 to 4 of arXiv:2610.11275v1; numbers from Figure 5a, Tables 1, 2 and 8 code-switched audio "C'est rare" + "right" French span | English span bidirectional encoder every frame sees the whole utterance language subspace 15 dims, under 2% of hidden own-language score drops 0.29 to 0.53 (SwitchLingua) output English ɹ → French ʁ PanPhon distance 6.9 Windowed language estimation (WLE), no language label needed re-encode in 2 s windows 1 s hop; each frame from the window where it is most central swap only the 15 coordinates POWSM blocks 6 to 8, PhoneticXeus blocks 14 to 18 interference removed PhoneticXeus 57.8%, POWSM 35.7% TTS 34.1% (fixed), 69.2% (span) Naive sliding window (all coordinates): removes 60.2% and 65.8% but adds 0.96 to 3.22 pp PER on seen benchmarks. WLE: at most +0.14 pp PER on the same benchmarks. Random 15-dim subspace: no change (Table 12). Shares of interference removed are our arithmetic from Tables 1 and 17.
Interference mechanism and WLE repair as described in Sections 3 and 4. Removal shares are BLOMEGA arithmetic from Table 1 (SwitchLingua) and Table 17; PER costs from Table 2.

We asked whether the size of the inventory gap could explain the per-pair picture. The paper does not report interference per language pair, so that test cannot be run from its tables. What we could compute is the gap itself, from Table 4, which lists every unshared phoneme with its count in the reference spans. In 8 of 11 English pairs, English has more unshared phoneme types than its partner. English-Spanish on spliced FLEURS has 16 English-only types (797 tokens: /ɪ ə ɹ z æ ð ʌ ʊ/ and more) against 6 Spanish-only (176 tokens: /ɾ r x ʝ ɲ ʎ/). English-Italian is 10 against 1, Italian keeping only trilled /r/. The exceptions are English-German on SwitchLingua (7 vs 8) and English-Hindi (9 vs 10, 11 vs 11), where Hindi aspirates and retroflexes balance English's vowels.

English carries most of the at-risk phonemes in its pairs Unshared phoneme types per side (tokens in brackets), counted from Table 4; spliced FLEURS unless marked English-only partner-only English-Spanish 16 (797) 6 (176) English-Italian 10 (642) 1 (111) English-Korean 10 (436) 5 (299) English-Hindi 11 (352) 11 (206) English-German 8 (267) 7 (214) English-French (SL) 6 (185) 4 (201) Scale: 16 px per phoneme type. Sets use eSpeak NG references and a 3-occurrence threshold, so they are data-dependent.
Unshared phoneme types and tokens per side, counted by BLOMEGA from Table 4 of arXiv:2610.11275v1 (inventory.py). English-French appears only in SwitchLingua.

These sets are small compared with reference inventories, and that is a choice worth knowing before you copy the method. Against PHOIBLE, which holds 3 to 9 inventories per language for these 7 languages, English-Spanish has 25 to 37 English-only and 11 to 35 Spanish-only segments depending on which pair of inventories you take. Stripping diacritics (dental /t̪/ to /t/, aspiration, length) brings that to 16 to 29 and 4 to 30. The paper's eSpeak-based, frequency-thresholded lists (16 and 6) sit at or near the bottom of both ranges. Hindi shows the widest spread: PHOIBLE inventories run from 55 to 94 segments. Our judgement: a team that builds its own unshared lists from a different G2P or inventory will get a different denominator, and the numbers will not be comparable to this paper's.

What this means for teams dubbing or transcribing Hinglish, Taglish and Spanglish

We also ran a small probe to see whether an older recognizer outside the paper behaves the same way. Allosaurus 1.0.2 (a 2020 universal phone recognizer, BiLSTM, CPU) transcribed macOS synthetic voices: 2 English sentences paired with 2 sentences each in Spanish, French, German and Italian, both orders, plus same-language splices as a control. Counting each span's language-only phones, English spans kept 168 alone and 137 next to another language (−18.5%); same-language splices went from 37 to 38 (+2.7%). The phone string of the same audio span changed by a mean normalised edit distance of 0.581 across languages against 0.380 within one language. That is 32 cross-language spans of synthetic speech: direction consistent with the paper, magnitude not to be quoted. German spans went the other way (6 to 11) and English next to German barely moved (42 to 43), which fits English /ɪ/ and /ʊ/ being shared with German.

Allosaurus probe, target phones keptAlone (SEP)Spliced (TOG)Source
English next to French / Italian / Spanish / German42 / 42 / 42 / 4229 / 27 / 38 / 43probe.py, BLOMEGA run 9 Oct 2026
Spanish / French / German / Italian next to English18 / 8 / 6 / 013 / 6 / 11 / 0probe.py
Same-language control splices (5 languages)3738probe.py

How to rerun the recount, the inventory count and the release check

The headline recount uses only values typed from Tables 1, 5, 6 and 17. The script and its output are in our work directory as headline.py and headline.out:

curl -sL https://arxiv.org/pdf/2610.11275 -o p.pdf
python3 -c "import pypdf;print('\n'.join(p.extract_text() for p in pypdf.PdfReader('p.pdf').pages))" > p.txt
python3 -I headline.py      # prints 32.0% (Spliced FLEURS PhoneticXeus) and 78.6% (SwitchLingua PhoneticXeus)
# by hand: 0.186 / 0.320 = 0.581 rSEP, 0.581 - 0.186 = 0.395 rTOG (Table 6: 0.582, 0.396)
#          0.507 / 0.786 = 0.645 rSEP, 0.645 - 0.507 = 0.138 rTOG (Table 1: 0.138)

The inventory asymmetry counts the subscripts in Table 4 and compares them with PHOIBLE:

curl -sL -o phoible.csv https://raw.githubusercontent.com/phoible/dev/master/data/phoible.csv
python3 -I inventory.py phoible.csv   # Table 4 types/tokens per side, PHOIBLE min-max per pair, diacritic-stripped

Release state, checked 9 October 2026:

curl -s https://api.github.com/repos/moranyanuka/phonological-interference | grep -E '"(created_at|pushed_at|license)"'
# created 2026-10-06T18:06:19Z, pushed 2026-10-09T07:13:58Z, license null
curl -s "https://api.github.com/repos/moranyanuka/phonological-interference/git/trees/HEAD?recursive=1" | grep -c '"blob"'
# 67 (63 .mp3, 2 .woff, index.html, .nojekyll); project page says "Code (coming soon)"
for r in models/espnet/powsm models/changelinglab/PhoneticXeus models/FunAudioLLM/Fun-CosyVoice3-0.5B-2512 datasets/Shelton1013/SwitchLingua_audio; do
  curl -s https://huggingface.co/api/$r | grep -o '"license:[^"]*"\|"gated":[^,]*'; done
# cc-by-4.0 | cc-by-nc-sa-4.0 | apache-2.0 | cc-by-nc-4.0, gated "auto"

The probe needs about 1.1 GB for torch: python3 -m venv .venv && .venv/bin/pip install allosaurus && .venv/bin/python -I probe.py. It writes the clips to probe_audio/ and every SEP and TOG transcript to probe.jsonl.

What would prove this reading wrong

Our claims are that the 32% to 79% range is driven by PhoneticXeus's sensitivity to the dataset, and that interference concentrates on the language with more unshared phonemes, usually English.

We would be wrong if, once the code is released, a per-pair breakdown on SwitchLingua shows the partner-language span (Spanish, Italian, Korean) losing a larger share of its unshared phonemes than the English span in most pairs, or if PhoneticXeus on a second natural code-switched corpus (CS-FLEURS read speech, for example) lands near its 32% spliced figure rather than near 79%. We predict that by 30 April 2027 an independent replication on natural code-switched speech will report at least 40% relative loss of unshared-phoneme recall for at least one of POWSM or PhoneticXeus, and that the authors' repository will by then contain runnable code; if it still holds only the demo page on that date, readers should treat the WLE numbers as unreproduced.

Sources

  1. Moran Yanuka, Raja Giryes, Morris Alper. Phonological Interference in Multilingual Speech Models. arXiv:2610.11275v1, submitted 8 October 2026 (Tel Aviv University; University of Miami). Abstract, Sections 2 to 4, Tables 1 to 18, Appendices A to K.
  2. github.com/moranyanuka/phonological-interference and its project page, checked via api.github.com on 9 October 2026: created 6 October 2026, 14 commits, 67 files, no licence, code "coming soon".
  3. changelinglab/PhoneticXeus (CC BY-NC-SA 4.0), espnet/powsm (CC BY 4.0), FunAudioLLM/Fun-CosyVoice3-0.5B-2512 (Apache 2.0), Hugging Face API, 9 October 2026.
  4. Shelton1013/SwitchLingua_audio, CC BY-NC 4.0, gated, 16,925 files, Hugging Face API, 9 October 2026. Xie et al., SwitchLingua, NeurIPS 38.
  5. Moran, S. and McCloy, D. (eds.). PHOIBLE, data/phoible.csv from the dev branch, fetched 9 October 2026.
  6. Xinjian Li et al. Allosaurus universal phone recognizer, version 1.0.2 via pip, model latest; ICASSP 2020.
  7. BLOMEGA computations, 9 October 2026: SEP/TOG back-solve and cross-checks (headline.py), Table 4 type and token counts and PHOIBLE comparison (inventory.py), allosaurus SEP/TOG probe (probe.py).

FAQ

Do multilingual phone recognizers and TTS really lose up to 79% of language-specific phonemes on code-switched speech?

The 79% is a relative drop in recall of the worse span's unshared phonemes, for one model on one dataset: PhoneticXeus on SwitchLingua falls from 0.645 recall with each span alone to 0.138 with both languages together. The 32% low end is the same model on spliced FLEURS (0.581 to 0.395). Across all eight model and dataset cells the relative loss is 32% to 79% for unshared phonemes and 3% to 24% for shared ones (Table 5, our recomputation).

Can I reproduce the paper or use its models commercially?

Not fully. On 9 October 2026 the GitHub repository held 67 files, 63 of them demo MP3s, and the project page marks code as coming soon; the IPA fine-tuned CosyVoice3 LoRA is not published. POWSM is CC BY 4.0 and CosyVoice3 is Apache 2.0, but PhoneticXeus, which is also the scorer for the TTS results, is CC BY-NC-SA 4.0, and the SwitchLingua audio is CC BY-NC 4.0 behind a gate.

What can a dubbing or ASR team do about code-switching interference today?

Process each language span on its own where the pipeline allows, because that is the paper's zero-interference baseline. Chunking alone is not enough: TTS generated span by span with shared context and no edit showed interference of 0.329 against 0.302 unchunked. Giving POWSM each span's language tag cut interference by 0.312 on SwitchLingua, and Whisper given the right language token transcribes nearly correctly, while with its own single pick it wrote nothing for the other span in 218 of 286 spliced clips.