3 session plan for spasmodic dysphonia type w MTD voice therapy exercise

Reading File
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Searching PubMed

spasmodic dysphonia voice therapy

Searching the Web

spasmodic dysphonia with muscle tension dysphonia voice therapy exercise session plan

Reading File
Reading Article

PMID: 34389220

Context first: why this combination needs a modified plan

Spasmodic dysphonia (SD, laryngeal dystonia) and muscle tension dysphonia (MTD) frequently coexist, and their laryngoscopic/perceptual findings overlap enough that they are often hard to tell apart - - Scott-Brown's Otorhinolaryngology, and K.J. Lee's Essential Otolaryngology. Important caveat backed by evidence: a 2024 retrospective pilot study (Kodama et al., J Voice, PMID 34389220) found voice therapy produced significant improvement in MTD scores, pitch range, strangulation ratings, and VHI-10 in the MTD group, but had a poor effect on the true dystonic (AdSD) component even though secondary MTD scores improved. In practice this means: voice therapy in a mixed SD+MTD patient should target the compensatory muscle tension/hyperfunction layered on top of the dystonia, not the dystonia itself - the dystonic component usually still needs botulinum toxin (or, in some centers, surgical) management run in parallel. Frame therapy goals with the patient accordingly so expectations are realistic.
Per Scott-Brown's, standard MTD voice therapy aims to: find a voice that is stable, reliable, and less effortful; improve resonance/tone; increase pitch/loudness flexibility without strain; and build vocal stamina - achieved through vocal exercises, tension-reduction/awareness work, posture and breath-support coaching, and laryngeal massage (Scott-Brown's, "Voice therapy," ENT).
Below is a practical 3-session outpatient plan built on those pillars plus current evidence-based MTD techniques (manual circumlaryngeal therapy, semi-occluded vocal tract exercises/SOVTE, resonant voice therapy, vocal function exercises, and conversation training).

Session 1 - Reduce hyperfunction, establish awareness and relaxation (45-60 min)

Goals: Lower extrinsic laryngeal/neck tension, establish diaphragmatic breath support, give patient insight into the tension pattern.
  1. Education (5-10 min): Explain SD vs. MTD in plain terms - "your larynx has an involuntary spasm component that therapy can't fully fix, but the extra muscle bracing your body has built around it, we can reduce." This reframes goals and improves adherence.
  2. Laryngeal palpation and manual circumlaryngeal therapy (10 min): Palpate thyrohyoid space, suprahyoid muscles, and larynx height; apply gentle circumlaryngeal massage/manipulation to reduce hyoid elevation and thyrohyoid squeeze while patient sustains an "um-hm" or vowel.
  3. Relaxation/tension-awareness exercises (10 min): Shoulder rolls, neck stretches, jaw-release ("chewing" method), yawn-sigh technique to shift laryngeal position downward.
  4. Diaphragmatic breathing and breath-voice coordination (10 min): Supine/seated belly breathing, then coordinate an easy exhale with onset of phonation (avoid breath-holding before phonation, common in both SD and MTD).
  5. Baseline data: Record maximum phonation time, perceptual voice sample (sentences with adductor-loaded /p,t,k/ vs. easier voiced sounds), and VHI-10 or CAPE-V rating for tracking.
Home program: Twice-daily yawn-sigh + breath-voice coordination drill (5 min), neck/jaw stretches, vocal hygiene (hydration, reduce throat clearing/whispering).

Session 2 - Build efficient phonation (resonant voice / SOVTE) (45-60 min)

Goals: Shift phonation toward easy, forward-focused voicing that reduces adductory strain; begin flexibility work.
  1. Warm-up: Repeat yawn-sigh and breath coordination from Session 1 (2-3 min) to re-establish the reduced-tension baseline.
  2. Semi-occluded vocal tract exercises (SOVTE) - straw phonation and lip trills (10-15 min): Sustained tones and glides through a straw into water or air; these lower vocal fold collision forces and are well tolerated even with dystonic spasms, making them a good bridge exercise.
  3. Resonant voice therapy (Lessac-Madsen or Stemple protocol) (10-15 min): Move from nasal "mmm" hums to /m/-initiated words, then phrases, focusing on forward oral resonance and easy onset rather than hard glottal attacks (glottal attacks tend to trigger spasms in adductor SD).
  4. Vocal function exercises - pitch/loudness flexibility (10 min): Gentle pitch glides on /o/ or /u/ with warm-up/stretch/contract/power steps at low effort, monitoring for spasm triggers; scale back range if strangulation increases.
  5. Easy onset drills on adductor-heavy words: Practice words/phrases starting with vowels or continuant consonants before progressing to plosive-loaded speech, since hard consonant onsets are common spasm triggers in adductor SD.
Home program: Straw phonation 5 min x2/day, resonant "mmm" carryover into 5-10 functional phrases, log which words/situations trigger spasms for review.

Session 3 - Carryover, conversation training, and maintenance plan (45-60 min)

Goals: Transfer gains into spontaneous speech, set realistic long-term expectations, coordinate with medical management.
  1. Re-assess: Repeat MPT, perceptual sample, and VHI-10; compare to Session 1 baseline to show the patient (and document) the tension-reduction gains versus the residual dystonic breaks.
  2. Conversation Training Therapy (CTT) (15-20 min): Use the patient's own conversational speech (not drilled sentences) to reinforce resonant/easy-onset voice in real time, since MTD gains often collapse under spontaneous speech demand if not trained there directly.
  3. Trigger management strategies: Rehearse pacing, phrasing/pausing before adductor-heavy words, and slight pitch/loudness shifts patients with SD often use as compensatory strategies to get through a spasm.
  4. Discuss maintenance and medical coordination: Reinforce that voice therapy gains here primarily reflect reduced secondary muscle tension; if strangulation/breaks in phonation persist (the dystonic core), refer back to ENT/laryngology for botulinum toxin titration or re-injection, which remains the primary evidence-based treatment for the SD component itself.
  5. Relapse-prevention plan: Give a written home maintenance program (daily SOVTE + resonant voice warm-up, stretch/relaxation routine), criteria for when to return to therapy (e.g., increasing effort, VHI-10 rising), and timeline to recheck with ENT for BoNT re-dosing (typically every 3-4 months for AdSD).

Key clinical point to keep flagging to the patient/team

Because this is a mixed presentation, track outcomes separately: expect meaningful improvement in effort, resonance, and the MTD-driven components (this matches the significant MTD-score, pitch-range, and VHI-10 improvements reported by Kodama et al.), but expect the strangulation/voice-break spasms tied to the dystonia to respond much less to therapy alone - that residual component is the signal to loop back to laryngology for botulinum toxin management rather than extending voice therapy indefinitely.
Sources:
  • Scott-Brown's Otorhinolaryngology Head & Neck Surgery, "Voice therapy" section (MTD management), and "Spasmodic Dysphonia" chapters
  • K.J. Lee's Essential Otolaryngology, "Spasmodic Dysphonia: Focal Dystonia of the Larynx"
  • Kodama N, Sanuki T, Miyamoto T, Tashiro J. Effects and Differences of Voice Therapy on Spasmodic Dysphonia and Muscle Tension Dysphonia: A Retrospective Pilot Study. J Voice. 2024. PMID 34389220

Create a printable patient handout for the 3-session home program

Reading File
Running Command

mkdir -p /tmp/workspace/voice-therapy-handout && ls -la /tmp/workspace/

Writing File

~/voice-therapy-handout/build_handout.py

from docx import Document
from docx.shared import Pt, Inches, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.enum.table import WD_TABLE_ALIGNMENT
from docx.oxml.ns import qn
from docx.oxml import OxmlElement

doc = Document()

# ---- default styles ----
style = doc.styles["Normal"]
style.font.name = "Arial"
style.font.size = Pt(11)

for section in doc.sections:
    section.left_margin = Inches(0.7)
    section.right_margin = Inches(0.7)
    section.top_margin = Inches(0.6)
    section.bottom_margin = Inches(0.6)

NAVY = RGBColor(0x1F, 0x3A, 0x5F)
TEAL = RGBColor(0x0E, 0x6E, 0x6E)
GRAY = RGBColor(0x55, 0x55, 0x55)


def add_hr(paragraph):
    p = paragraph._p
    pPr = p.get_or_add_pPr()
    pBdr = OxmlElement('w:pBdr')
    bottom = OxmlElement('w:bottom')
    bottom.set(qn('w:val'), 'single')
    bottom.set(qn('w:sz'), '8')
    bottom.set(qn('w:space'), '1')
    bottom.set(qn('w:color'), '1F3A5F')
    pBdr.append(bottom)
    pPr.append(pBdr)


def shade_cell(cell, hex_color):
    tcPr = cell._tc.get_or_add_tcPr()
    shd = OxmlElement('w:shd')
    shd.set(qn('w:val'), 'clear')
    shd.set(qn('w:color'), 'auto')
    shd.set(qn('w:fill'), hex_color)
    tcPr.append(shd)


def set_cell_text(cell, text, bold=False, size=10.5, color=None, align=None):
    cell.text = ""
    p = cell.paragraphs[0]
    if align:
        p.alignment = align
    run = p.add_run(text)
    run.font.size = Pt(size)
    run.font.bold = bold
    run.font.name = "Arial"
    if color:
        run.font.color.rgb = color


# ================= TITLE BLOCK =================
title = doc.add_paragraph()
title.alignment = WD_ALIGN_PARAGRAPH.CENTER
r = title.add_run("Voice Therapy Home Program")
r.font.size = Pt(22)
r.font.bold = True
r.font.color.rgb = NAVY

sub = doc.add_paragraph()
sub.alignment = WD_ALIGN_PARAGRAPH.CENTER
r = sub.add_run("For Spasmodic Dysphonia with Muscle Tension Dysphonia (MTD)")
r.font.size = Pt(13)
r.font.bold = True
r.font.color.rgb = TEAL

sub2 = doc.add_paragraph()
sub2.alignment = WD_ALIGN_PARAGRAPH.CENTER
r = sub2.add_run("A 3-Session Voice Therapy Companion Guide")
r.font.size = Pt(10.5)
r.font.italic = True
r.font.color.rgb = GRAY
add_hr(sub2)

# Patient info line
pinfo = doc.add_paragraph()
pinfo.paragraph_format.space_before = Pt(10)
pinfo.paragraph_format.space_after = Pt(10)
r = pinfo.add_run("Patient Name: ______________________________          Start Date: _____________")
r.font.size = Pt(10.5)

# ================= UNDERSTANDING YOUR VOICE =================
h = doc.add_heading("Understanding Your Voice Condition", level=1)
h.runs[0].font.color.rgb = NAVY

p = doc.add_paragraph(
    "Your voice difficulty has two parts working together. Spasmodic dysphonia (SD) causes "
    "involuntary spasms in your voice box that you cannot control with exercise alone; this part "
    "is usually managed by your ENT/laryngologist with treatments such as botulinum toxin injections. "
    "Muscle tension dysphonia (MTD) is the extra muscle bracing your body has built up around your "
    "larynx, neck, and jaw in reaction to the spasms; this part responds very well to voice therapy."
)
p2 = doc.add_paragraph()
r = p2.add_run("Realistic goal of this program: ")
r.bold = True
r2 = p2.add_run(
    "reduce strain and tension so your voice is easier and less effortful to produce. Voice breaks "
    "from the spasms themselves may not fully go away with exercises alone; keep your ENT follow-up "
    "appointments for the medical (dystonic) side of treatment."
)

# ================= HOW TO USE =================
h = doc.add_heading("How to Use This Guide", level=1)
h.runs[0].font.color.rgb = NAVY
bullets = [
    "Practice in a quiet space, seated or standing tall, both morning and evening.",
    "Go slowly and gently. If an exercise increases strain or triggers spasms, stop and rest, then try again more softly.",
    "Use the tracking log at the end of each session to note effort level and any triggers.",
    "This handout supports, but does not replace, your one-on-one sessions with your speech-language pathologist (SLP).",
]
for b in bullets:
    bp = doc.add_paragraph(b, style="List Bullet")

# ================= SESSION 1 =================
def session_heading(num, title_text, focus):
    h = doc.add_heading(f"Session {num}: {title_text}", level=1)
    h.runs[0].font.color.rgb = NAVY
    fp = doc.add_paragraph()
    r = fp.add_run(f"Focus: {focus}")
    r.italic = True
    r.font.color.rgb = TEAL
    r.font.size = Pt(11)

def add_exercise_table(rows):
    table = doc.add_table(rows=1, cols=3)
    table.alignment = WD_TABLE_ALIGNMENT.CENTER
    table.style = "Table Grid"
    hdr = table.rows[0].cells
    headers = ["Exercise", "How To Do It", "Dose"]
    for i, htext in enumerate(headers):
        set_cell_text(hdr[i], htext, bold=True, size=10.5, color=RGBColor(0xFF, 0xFF, 0xFF))
        shade_cell(hdr[i], "1F3A5F")
    widths = [Inches(1.6), Inches(3.6), Inches(1.3)]
    for row_data in rows:
        cells = table.add_row().cells
        for i, val in enumerate(row_data):
            set_cell_text(cells[i], val, size=10)
    for row in table.rows:
        for i, cell in enumerate(row.cells):
            cell.width = widths[i]
    doc.add_paragraph()
    return table

# --- Session 1 ---
session_heading(1, "Calm the Tension", "Lower muscle bracing around the voice box and build breath support.")

doc.add_paragraph("Home Practice Exercises (twice daily, ~10 minutes):")
add_exercise_table([
    ["Neck & shoulder stretch", "Slowly roll shoulders back 5 times; tilt ear to shoulder and hold 10 sec each side.", "1 set, 2x/day"],
    ["Jaw release", "Let jaw hang loose, gently massage the muscle under cheekbones in a circular motion.", "3 reps, 2x/day"],
    ["Yawn-sigh", "Start a yawn, then let the air fall out into a relaxed, sighing tone on 'ahh'.", "5 reps, 2x/day"],
    ["Belly breathing", "Lie down or sit; place a hand on your belly. Breathe in so the belly rises, out slowly and evenly.", "5 min, 2x/day"],
    ["Breath-voice pairing", "Take an easy belly breath, then start voice gently right as air begins to flow out (no breath-holding first).", "10 reps, 2x/day"],
])

box = doc.add_paragraph()
r = box.add_run("Vocal hygiene reminders: ")
r.bold = True
box.add_run("drink water throughout the day, avoid whispering or forceful throat clearing, limit caffeine/alcohol, and rest your voice if it feels fatigued.")

# --- Session 2 ---
session_heading(2, "Build an Easier Voice", "Shift toward forward, resonant, low-effort voicing.")

doc.add_paragraph("Home Practice Exercises (twice daily, ~10-12 minutes):")
add_exercise_table([
    ["Straw phonation", "Hum a steady or gliding tone through a straw (into water if provided by your SLP).", "5 min, 2x/day"],
    ["Lip trills", "'Motorboat' your lips together while gently gliding your pitch up and down.", "1 min, 3x/day"],
    ["Resonant humming", "Hum 'mmm' feeling a buzz on your lips/nose, then say mmm-words (e.g., mommy, many, moon).", "5 min, 2x/day"],
    ["Easy onset words", "Start words with a vowel or soft consonant (e.g., 'apple' not 'papple'); avoid hard, sudden starts.", "10 words, 2x/day"],
    ["Pitch glides", "Glide gently from low to high pitch on 'oo' or 'oh', keeping it soft and easy.", "5 reps, 2x/day"],
]) 

note = doc.add_paragraph()
r = note.add_run("Tip: ")
r.bold = True
note.add_run("if a word or sound reliably triggers a spasm, note it in your log below so you and your SLP can plan around it in Session 3.")

# --- Session 3 ---
session_heading(3, "Carry It Into Real Conversation", "Transfer the easier voice into everyday talking and plan for maintenance.")

doc.add_paragraph("Home Practice Exercises (daily):")
add_exercise_table([
    ["Warm-up combo", "Repeat yawn-sigh (5x) + straw phonation (3 min) + resonant humming (2 min) before talking-heavy days.", "1x/day"],
    ["Conversation carryover", "Pick 5 minutes of daily conversation (phone call, family chat) and consciously keep the easy, forward voice.", "5 min, 1x/day"],
    ["Pacing & pausing", "Before words that usually trigger a spasm, take a brief pause and a light breath before speaking.", "As needed"],
    ["Self-check", "Rate your vocal effort (0-10) after a conversation; if it's creeping up, return to Session 1-2 exercises that day.", "1x/day"],
])

maint = doc.add_paragraph()
r = maint.add_run("Maintenance plan: ")
r.bold = True
maint.add_run(
    "Continue the warm-up combo daily even after therapy ends. Keep your scheduled ENT/laryngology visits "
    "for botulinum toxin management of the spasm (dystonic) component - voice therapy works best together "
    "with, not instead of, that medical treatment."
)

# ================= WHEN TO CONTACT =================
h = doc.add_heading("When to Contact Your Care Team", level=1)
h.runs[0].font.color.rgb = NAVY
contact_items = [
    "Your voice effort or strain is increasing instead of improving.",
    "Voice breaks/spasms are happening more often or feel more severe.",
    "You notice new symptoms (pain, difficulty swallowing or breathing, significant weight/voice change).",
    "It has been more than 3-4 months since your last botulinum toxin injection and symptoms are returning.",
]
for c in contact_items:
    doc.add_paragraph(c, style="List Bullet")

# ================= TRACKING LOG =================
h = doc.add_heading("Daily Practice & Symptom Log", level=1)
h.runs[0].font.color.rgb = NAVY
doc.add_paragraph("Fill in briefly each day you practice. Bring this log to your next therapy session.")

log_table = doc.add_table(rows=1, cols=5)
log_table.style = "Table Grid"
log_table.alignment = WD_TABLE_ALIGNMENT.CENTER
headers = ["Date", "Session Exercises Done", "Vocal Effort (0-10)", "Triggers Noticed", "Notes"]
for i, htext in enumerate(headers):
    cell = log_table.rows[0].cells[i]
    set_cell_text(cell, htext, bold=True, size=10, color=RGBColor(0xFF, 0xFF, 0xFF))
    shade_cell(cell, "0E6E6E")
widths = [Inches(0.8), Inches(1.6), Inches(1.1), Inches(1.3), Inches(1.7)]
for _ in range(8):
    row = log_table.add_row().cells
    for i in range(5):
        set_cell_text(row[i], "", size=10)
for row in log_table.rows:
    for i, cell in enumerate(row.cells):
        cell.width = widths[i]

# ================= FOOTER =================
doc.add_paragraph()
foot = doc.add_paragraph()
foot.alignment = WD_ALIGN_PARAGRAPH.CENTER
r = foot.add_run(
    "This handout is an educational companion to your care and does not replace individualized "
    "instruction from your speech-language pathologist or physician."
)
r.font.size = Pt(9)
r.font.italic = True
r.font.color.rgb = GRAY

foot2 = doc.add_paragraph()
foot2.alignment = WD_ALIGN_PARAGRAPH.CENTER
r = foot2.add_run("Speech-Language Pathologist: ___________________________     Clinic Phone: ___________________")
r.font.size = Pt(9)

doc.save("/tmp/workspace/voice-therapy-handout/Voice_Therapy_Home_Program_SD_MTD.docx")
print("saved")
Running Command

cd /tmp/workspace/voice-therapy-handout && python3 build_handout.py

Running Command

cd /tmp/workspace/voice-therapy-handout && ls -la && python3 -c " from docx import Document doc = Document('Voice_Therapy_Home_Program_SD_MTD.docx') print('paragraphs:', len(doc.paragraphs)) print('tables:', len(doc.tables)) "

The printable patient handout is ready:

Voice Therapy Home Program SD MTD

Word Document · DOCX

It includes:
  • Understanding Your Voice Condition - plain-language explanation of the SD vs. MTD split and realistic expectations
  • How to Use This Guide - practice tips
  • Session 1 (Calm the Tension) - neck/jaw stretches, yawn-sigh, belly breathing, breath-voice pairing, plus vocal hygiene reminders
  • Session 2 (Build an Easier Voice) - straw phonation, lip trills, resonant humming, easy vocal onsets, pitch glides
  • Session 3 (Carry It Into Real Conversation) - warm-up combo, conversation carryover, pacing/pausing, self-check, and a maintenance note tying voice therapy back to ongoing ENT/botulinum toxin management
  • When to Contact Your Care Team - red-flag/worsening criteria
  • Daily Practice & Symptom Log - a fillable table (date, exercises done, effort rating 0-10, triggers, notes) to bring back to therapy
  • Signature/contact lines for the SLP and clinic phone
Each exercise is laid out in a table with "How To Do It" and "Dose" (reps/frequency) so it's easy to follow at home. Let me know if you'd like it converted to PDF, branded with a clinic logo, or trimmed to a single page.
This is a shared conversation. Sign in to Orris to start your own chat.