{
  "schema_version": "1.0.0",
  "content_version": "1.0.0",
  "module_id": "m29",
  "title": "Build the Rhythm",
  "seed": 710041,
  "preset": {
    "id": "rhythm-dictation-beginner",
    "difficulty": "beginner",
    "item_count": 10,
    "candidate_set": [
      "quarters",
      "halves",
      "rest-second",
      "long-first"
    ],
    "pitch_range_midi": [
      60,
      79
    ],
    "tempo_bpm": 80,
    "meter": [
      4,
      4
    ],
    "hints": true
  },
  "purpose": "Reconstruct a heard rhythm using note and rest values.",
  "instructions": {
    "student": "Write the complete rhythm from the audio, including each rest. Use replay to check positions rather than copying a displayed answer strip.",
    "teacher": "Play each numbered question from this page. Use the same replay policy for all learners. Keep the answer section separate until the first response is recorded. For tapping tasks, record an observation on paper; use the online trainer for device-timed scoring.",
    "follow_up": "Reconstruct a newly generated pattern after correction. Its first submitted token sequence is recorded separately from retries."
  },
  "examples": {
    "demonstration": {
      "id": "m29-712970-0",
      "seed": 712970,
      "kind": "rhythm_dictation",
      "events": [
        {
          "midi": 72,
          "onset_beats": 0,
          "duration_beats": 1.8,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 2,
          "duration_beats": 1.8,
          "velocity": 0.65,
          "voice_id": "triangle"
        }
      ],
      "choices": [
        {
          "id": "half|half",
          "label": "Half note · Half note",
          "rhythm": [
            {
              "onset_beats": 0,
              "duration_beats": 2,
              "rest": false,
              "accent": true
            },
            {
              "onset_beats": 2,
              "duration_beats": 2,
              "rest": false,
              "accent": false
            }
          ],
          "events": [
            {
              "midi": 72,
              "onset_beats": 0,
              "duration_beats": 1.8,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 2,
              "duration_beats": 1.8,
              "velocity": 0.65,
              "voice_id": "triangle"
            }
          ]
        }
      ],
      "answer": "half|half",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Half note · Half note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "total_beats": 4,
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 2,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 2,
          "duration_beats": 2,
          "rest": false,
          "accent": false
        }
      ],
      "answer_input": {
        "type": "rhythm",
        "tokens": [
          {
            "id": "quarter",
            "label": "Quarter note",
            "duration_beats": 1,
            "rest": false
          },
          {
            "id": "half",
            "label": "Half note",
            "duration_beats": 2,
            "rest": false
          },
          {
            "id": "quarter-rest",
            "label": "Quarter rest",
            "duration_beats": 1,
            "rest": true
          }
        ],
        "total_beats": 4
      },
      "instructions": "Build one bar using note and rest blocks. Fill all 4 beats, then check your rhythm."
    },
    "comparison": {
      "id": "m29-712970-0",
      "seed": 712970,
      "kind": "rhythm_dictation",
      "events": [
        {
          "midi": 72,
          "onset_beats": 0,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 2,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 3,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        }
      ],
      "choices": [
        {
          "id": "quarter|quarter-rest|quarter|quarter",
          "label": "Quarter note · Quarter rest · Quarter note · Quarter note",
          "rhythm": [
            {
              "onset_beats": 0,
              "duration_beats": 1,
              "rest": false,
              "accent": true
            },
            {
              "onset_beats": 1,
              "duration_beats": 1,
              "rest": true,
              "accent": false
            },
            {
              "onset_beats": 2,
              "duration_beats": 1,
              "rest": false,
              "accent": false
            },
            {
              "onset_beats": 3,
              "duration_beats": 1,
              "rest": false,
              "accent": false
            }
          ],
          "events": [
            {
              "midi": 72,
              "onset_beats": 0,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 2,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 3,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            }
          ]
        }
      ],
      "answer": "quarter|quarter-rest|quarter|quarter",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Quarter note · Quarter rest · Quarter note · Quarter note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "total_beats": 4,
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 1,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 1,
          "duration_beats": 1,
          "rest": true,
          "accent": false
        },
        {
          "onset_beats": 2,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        },
        {
          "onset_beats": 3,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        }
      ],
      "answer_input": {
        "type": "rhythm",
        "tokens": [
          {
            "id": "quarter",
            "label": "Quarter note",
            "duration_beats": 1,
            "rest": false
          },
          {
            "id": "half",
            "label": "Half note",
            "duration_beats": 2,
            "rest": false
          },
          {
            "id": "quarter-rest",
            "label": "Quarter rest",
            "duration_beats": 1,
            "rest": true
          }
        ],
        "total_beats": 4
      },
      "instructions": "Build one bar using note and rest blocks. Fill all 4 beats, then check your rhythm."
    },
    "seed": 712970,
    "comparisonSeed": 712970
  },
  "questions": [
    {
      "id": "m29-710041-0",
      "seed": 710041,
      "kind": "rhythm_dictation",
      "events": [
        {
          "midi": 72,
          "onset_beats": 0,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 1,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 2,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 3,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        }
      ],
      "choices": [
        {
          "id": "quarter|quarter|quarter|quarter",
          "label": "Quarter note · Quarter note · Quarter note · Quarter note",
          "rhythm": [
            {
              "onset_beats": 0,
              "duration_beats": 1,
              "rest": false,
              "accent": true
            },
            {
              "onset_beats": 1,
              "duration_beats": 1,
              "rest": false,
              "accent": false
            },
            {
              "onset_beats": 2,
              "duration_beats": 1,
              "rest": false,
              "accent": false
            },
            {
              "onset_beats": 3,
              "duration_beats": 1,
              "rest": false,
              "accent": false
            }
          ],
          "events": [
            {
              "midi": 72,
              "onset_beats": 0,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 1,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 2,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 3,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            }
          ]
        }
      ],
      "answer": "quarter|quarter|quarter|quarter",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Quarter note · Quarter note · Quarter note · Quarter note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5",
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "total_beats": 4,
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 1,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 1,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        },
        {
          "onset_beats": 2,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        },
        {
          "onset_beats": 3,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        }
      ],
      "answer_input": {
        "type": "rhythm",
        "tokens": [
          {
            "id": "quarter",
            "label": "Quarter note",
            "duration_beats": 1,
            "rest": false
          },
          {
            "id": "half",
            "label": "Half note",
            "duration_beats": 2,
            "rest": false
          },
          {
            "id": "quarter-rest",
            "label": "Quarter rest",
            "duration_beats": 1,
            "rest": true
          }
        ],
        "total_beats": 4
      },
      "instructions": "Build one bar using note and rest blocks. Fill all 4 beats, then check your rhythm."
    },
    {
      "id": "m29-710041-1",
      "seed": 717960,
      "kind": "rhythm_dictation",
      "events": [
        {
          "midi": 72,
          "onset_beats": 0,
          "duration_beats": 1.8,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 2,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 3,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        }
      ],
      "choices": [
        {
          "id": "half|quarter|quarter",
          "label": "Half note · Quarter note · Quarter note",
          "rhythm": [
            {
              "onset_beats": 0,
              "duration_beats": 2,
              "rest": false,
              "accent": true
            },
            {
              "onset_beats": 2,
              "duration_beats": 1,
              "rest": false,
              "accent": false
            },
            {
              "onset_beats": 3,
              "duration_beats": 1,
              "rest": false,
              "accent": false
            }
          ],
          "events": [
            {
              "midi": 72,
              "onset_beats": 0,
              "duration_beats": 1.8,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 2,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 3,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            }
          ]
        }
      ],
      "answer": "half|quarter|quarter",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Half note · Quarter note · Quarter note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "total_beats": 4,
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 2,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 2,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        },
        {
          "onset_beats": 3,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        }
      ],
      "answer_input": {
        "type": "rhythm",
        "tokens": [
          {
            "id": "quarter",
            "label": "Quarter note",
            "duration_beats": 1,
            "rest": false
          },
          {
            "id": "half",
            "label": "Half note",
            "duration_beats": 2,
            "rest": false
          },
          {
            "id": "quarter-rest",
            "label": "Quarter rest",
            "duration_beats": 1,
            "rest": true
          }
        ],
        "total_beats": 4
      },
      "instructions": "Build one bar using note and rest blocks. Fill all 4 beats, then check your rhythm."
    },
    {
      "id": "m29-710041-2",
      "seed": 725879,
      "kind": "rhythm_dictation",
      "events": [
        {
          "midi": 72,
          "onset_beats": 0,
          "duration_beats": 1.8,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 2,
          "duration_beats": 1.8,
          "velocity": 0.65,
          "voice_id": "triangle"
        }
      ],
      "choices": [
        {
          "id": "half|half",
          "label": "Half note · Half note",
          "rhythm": [
            {
              "onset_beats": 0,
              "duration_beats": 2,
              "rest": false,
              "accent": true
            },
            {
              "onset_beats": 2,
              "duration_beats": 2,
              "rest": false,
              "accent": false
            }
          ],
          "events": [
            {
              "midi": 72,
              "onset_beats": 0,
              "duration_beats": 1.8,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 2,
              "duration_beats": 1.8,
              "velocity": 0.65,
              "voice_id": "triangle"
            }
          ]
        }
      ],
      "answer": "half|half",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Half note · Half note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "total_beats": 4,
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 2,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 2,
          "duration_beats": 2,
          "rest": false,
          "accent": false
        }
      ],
      "answer_input": {
        "type": "rhythm",
        "tokens": [
          {
            "id": "quarter",
            "label": "Quarter note",
            "duration_beats": 1,
            "rest": false
          },
          {
            "id": "half",
            "label": "Half note",
            "duration_beats": 2,
            "rest": false
          },
          {
            "id": "quarter-rest",
            "label": "Quarter rest",
            "duration_beats": 1,
            "rest": true
          }
        ],
        "total_beats": 4
      },
      "instructions": "Build one bar using note and rest blocks. Fill all 4 beats, then check your rhythm."
    },
    {
      "id": "m29-710041-3",
      "seed": 733798,
      "kind": "rhythm_dictation",
      "events": [
        {
          "midi": 72,
          "onset_beats": 0,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 2,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 3,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        }
      ],
      "choices": [
        {
          "id": "quarter|quarter-rest|quarter|quarter",
          "label": "Quarter note · Quarter rest · Quarter note · Quarter note",
          "rhythm": [
            {
              "onset_beats": 0,
              "duration_beats": 1,
              "rest": false,
              "accent": true
            },
            {
              "onset_beats": 1,
              "duration_beats": 1,
              "rest": true,
              "accent": false
            },
            {
              "onset_beats": 2,
              "duration_beats": 1,
              "rest": false,
              "accent": false
            },
            {
              "onset_beats": 3,
              "duration_beats": 1,
              "rest": false,
              "accent": false
            }
          ],
          "events": [
            {
              "midi": 72,
              "onset_beats": 0,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 2,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 3,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            }
          ]
        }
      ],
      "answer": "quarter|quarter-rest|quarter|quarter",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Quarter note · Quarter rest · Quarter note · Quarter note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "total_beats": 4,
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 1,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 1,
          "duration_beats": 1,
          "rest": true,
          "accent": false
        },
        {
          "onset_beats": 2,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        },
        {
          "onset_beats": 3,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        }
      ],
      "answer_input": {
        "type": "rhythm",
        "tokens": [
          {
            "id": "quarter",
            "label": "Quarter note",
            "duration_beats": 1,
            "rest": false
          },
          {
            "id": "half",
            "label": "Half note",
            "duration_beats": 2,
            "rest": false
          },
          {
            "id": "quarter-rest",
            "label": "Quarter rest",
            "duration_beats": 1,
            "rest": true
          }
        ],
        "total_beats": 4
      },
      "instructions": "Build one bar using note and rest blocks. Fill all 4 beats, then check your rhythm."
    },
    {
      "id": "m29-710041-4",
      "seed": 741717,
      "kind": "rhythm_dictation",
      "events": [
        {
          "midi": 72,
          "onset_beats": 0,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 2,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 3,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        }
      ],
      "choices": [
        {
          "id": "quarter|quarter-rest|quarter|quarter",
          "label": "Quarter note · Quarter rest · Quarter note · Quarter note",
          "rhythm": [
            {
              "onset_beats": 0,
              "duration_beats": 1,
              "rest": false,
              "accent": true
            },
            {
              "onset_beats": 1,
              "duration_beats": 1,
              "rest": true,
              "accent": false
            },
            {
              "onset_beats": 2,
              "duration_beats": 1,
              "rest": false,
              "accent": false
            },
            {
              "onset_beats": 3,
              "duration_beats": 1,
              "rest": false,
              "accent": false
            }
          ],
          "events": [
            {
              "midi": 72,
              "onset_beats": 0,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 2,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 3,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            }
          ]
        }
      ],
      "answer": "quarter|quarter-rest|quarter|quarter",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Quarter note · Quarter rest · Quarter note · Quarter note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "total_beats": 4,
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 1,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 1,
          "duration_beats": 1,
          "rest": true,
          "accent": false
        },
        {
          "onset_beats": 2,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        },
        {
          "onset_beats": 3,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        }
      ],
      "answer_input": {
        "type": "rhythm",
        "tokens": [
          {
            "id": "quarter",
            "label": "Quarter note",
            "duration_beats": 1,
            "rest": false
          },
          {
            "id": "half",
            "label": "Half note",
            "duration_beats": 2,
            "rest": false
          },
          {
            "id": "quarter-rest",
            "label": "Quarter rest",
            "duration_beats": 1,
            "rest": true
          }
        ],
        "total_beats": 4
      },
      "instructions": "Build one bar using note and rest blocks. Fill all 4 beats, then check your rhythm."
    },
    {
      "id": "m29-710041-5",
      "seed": 749636,
      "kind": "rhythm_dictation",
      "events": [
        {
          "midi": 72,
          "onset_beats": 0,
          "duration_beats": 1.8,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 2,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 3,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        }
      ],
      "choices": [
        {
          "id": "half|quarter|quarter",
          "label": "Half note · Quarter note · Quarter note",
          "rhythm": [
            {
              "onset_beats": 0,
              "duration_beats": 2,
              "rest": false,
              "accent": true
            },
            {
              "onset_beats": 2,
              "duration_beats": 1,
              "rest": false,
              "accent": false
            },
            {
              "onset_beats": 3,
              "duration_beats": 1,
              "rest": false,
              "accent": false
            }
          ],
          "events": [
            {
              "midi": 72,
              "onset_beats": 0,
              "duration_beats": 1.8,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 2,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 3,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            }
          ]
        }
      ],
      "answer": "half|quarter|quarter",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Half note · Quarter note · Quarter note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "total_beats": 4,
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 2,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 2,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        },
        {
          "onset_beats": 3,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        }
      ],
      "answer_input": {
        "type": "rhythm",
        "tokens": [
          {
            "id": "quarter",
            "label": "Quarter note",
            "duration_beats": 1,
            "rest": false
          },
          {
            "id": "half",
            "label": "Half note",
            "duration_beats": 2,
            "rest": false
          },
          {
            "id": "quarter-rest",
            "label": "Quarter rest",
            "duration_beats": 1,
            "rest": true
          }
        ],
        "total_beats": 4
      },
      "instructions": "Build one bar using note and rest blocks. Fill all 4 beats, then check your rhythm."
    },
    {
      "id": "m29-710041-6",
      "seed": 757555,
      "kind": "rhythm_dictation",
      "events": [
        {
          "midi": 72,
          "onset_beats": 0,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 2,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 3,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        }
      ],
      "choices": [
        {
          "id": "quarter|quarter-rest|quarter|quarter",
          "label": "Quarter note · Quarter rest · Quarter note · Quarter note",
          "rhythm": [
            {
              "onset_beats": 0,
              "duration_beats": 1,
              "rest": false,
              "accent": true
            },
            {
              "onset_beats": 1,
              "duration_beats": 1,
              "rest": true,
              "accent": false
            },
            {
              "onset_beats": 2,
              "duration_beats": 1,
              "rest": false,
              "accent": false
            },
            {
              "onset_beats": 3,
              "duration_beats": 1,
              "rest": false,
              "accent": false
            }
          ],
          "events": [
            {
              "midi": 72,
              "onset_beats": 0,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 2,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 3,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            }
          ]
        }
      ],
      "answer": "quarter|quarter-rest|quarter|quarter",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Quarter note · Quarter rest · Quarter note · Quarter note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "total_beats": 4,
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 1,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 1,
          "duration_beats": 1,
          "rest": true,
          "accent": false
        },
        {
          "onset_beats": 2,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        },
        {
          "onset_beats": 3,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        }
      ],
      "answer_input": {
        "type": "rhythm",
        "tokens": [
          {
            "id": "quarter",
            "label": "Quarter note",
            "duration_beats": 1,
            "rest": false
          },
          {
            "id": "half",
            "label": "Half note",
            "duration_beats": 2,
            "rest": false
          },
          {
            "id": "quarter-rest",
            "label": "Quarter rest",
            "duration_beats": 1,
            "rest": true
          }
        ],
        "total_beats": 4
      },
      "instructions": "Build one bar using note and rest blocks. Fill all 4 beats, then check your rhythm."
    },
    {
      "id": "m29-710041-7",
      "seed": 765474,
      "kind": "rhythm_dictation",
      "events": [
        {
          "midi": 72,
          "onset_beats": 0,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 2,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 3,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        }
      ],
      "choices": [
        {
          "id": "quarter|quarter-rest|quarter|quarter",
          "label": "Quarter note · Quarter rest · Quarter note · Quarter note",
          "rhythm": [
            {
              "onset_beats": 0,
              "duration_beats": 1,
              "rest": false,
              "accent": true
            },
            {
              "onset_beats": 1,
              "duration_beats": 1,
              "rest": true,
              "accent": false
            },
            {
              "onset_beats": 2,
              "duration_beats": 1,
              "rest": false,
              "accent": false
            },
            {
              "onset_beats": 3,
              "duration_beats": 1,
              "rest": false,
              "accent": false
            }
          ],
          "events": [
            {
              "midi": 72,
              "onset_beats": 0,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 2,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 3,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            }
          ]
        }
      ],
      "answer": "quarter|quarter-rest|quarter|quarter",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Quarter note · Quarter rest · Quarter note · Quarter note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "total_beats": 4,
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 1,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 1,
          "duration_beats": 1,
          "rest": true,
          "accent": false
        },
        {
          "onset_beats": 2,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        },
        {
          "onset_beats": 3,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        }
      ],
      "answer_input": {
        "type": "rhythm",
        "tokens": [
          {
            "id": "quarter",
            "label": "Quarter note",
            "duration_beats": 1,
            "rest": false
          },
          {
            "id": "half",
            "label": "Half note",
            "duration_beats": 2,
            "rest": false
          },
          {
            "id": "quarter-rest",
            "label": "Quarter rest",
            "duration_beats": 1,
            "rest": true
          }
        ],
        "total_beats": 4
      },
      "instructions": "Build one bar using note and rest blocks. Fill all 4 beats, then check your rhythm."
    },
    {
      "id": "m29-710041-8",
      "seed": 773393,
      "kind": "rhythm_dictation",
      "events": [
        {
          "midi": 72,
          "onset_beats": 0,
          "duration_beats": 1.8,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 2,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 3,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        }
      ],
      "choices": [
        {
          "id": "half|quarter|quarter",
          "label": "Half note · Quarter note · Quarter note",
          "rhythm": [
            {
              "onset_beats": 0,
              "duration_beats": 2,
              "rest": false,
              "accent": true
            },
            {
              "onset_beats": 2,
              "duration_beats": 1,
              "rest": false,
              "accent": false
            },
            {
              "onset_beats": 3,
              "duration_beats": 1,
              "rest": false,
              "accent": false
            }
          ],
          "events": [
            {
              "midi": 72,
              "onset_beats": 0,
              "duration_beats": 1.8,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 2,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 3,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            }
          ]
        }
      ],
      "answer": "half|quarter|quarter",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Half note · Quarter note · Quarter note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "total_beats": 4,
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 2,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 2,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        },
        {
          "onset_beats": 3,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        }
      ],
      "answer_input": {
        "type": "rhythm",
        "tokens": [
          {
            "id": "quarter",
            "label": "Quarter note",
            "duration_beats": 1,
            "rest": false
          },
          {
            "id": "half",
            "label": "Half note",
            "duration_beats": 2,
            "rest": false
          },
          {
            "id": "quarter-rest",
            "label": "Quarter rest",
            "duration_beats": 1,
            "rest": true
          }
        ],
        "total_beats": 4
      },
      "instructions": "Build one bar using note and rest blocks. Fill all 4 beats, then check your rhythm."
    },
    {
      "id": "m29-710041-9",
      "seed": 781312,
      "kind": "rhythm_dictation",
      "events": [
        {
          "midi": 72,
          "onset_beats": 0,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 2,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        },
        {
          "midi": 72,
          "onset_beats": 3,
          "duration_beats": 0.9,
          "velocity": 0.65,
          "voice_id": "triangle"
        }
      ],
      "choices": [
        {
          "id": "quarter|quarter-rest|quarter|quarter",
          "label": "Quarter note · Quarter rest · Quarter note · Quarter note",
          "rhythm": [
            {
              "onset_beats": 0,
              "duration_beats": 1,
              "rest": false,
              "accent": true
            },
            {
              "onset_beats": 1,
              "duration_beats": 1,
              "rest": true,
              "accent": false
            },
            {
              "onset_beats": 2,
              "duration_beats": 1,
              "rest": false,
              "accent": false
            },
            {
              "onset_beats": 3,
              "duration_beats": 1,
              "rest": false,
              "accent": false
            }
          ],
          "events": [
            {
              "midi": 72,
              "onset_beats": 0,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 2,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            },
            {
              "midi": 72,
              "onset_beats": 3,
              "duration_beats": 0.9,
              "velocity": 0.65,
              "voice_id": "triangle"
            }
          ]
        }
      ],
      "answer": "quarter|quarter-rest|quarter|quarter",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Quarter note · Quarter rest · Quarter note · Quarter note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "total_beats": 4,
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 1,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 1,
          "duration_beats": 1,
          "rest": true,
          "accent": false
        },
        {
          "onset_beats": 2,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        },
        {
          "onset_beats": 3,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        }
      ],
      "answer_input": {
        "type": "rhythm",
        "tokens": [
          {
            "id": "quarter",
            "label": "Quarter note",
            "duration_beats": 1,
            "rest": false
          },
          {
            "id": "half",
            "label": "Half note",
            "duration_beats": 2,
            "rest": false
          },
          {
            "id": "quarter-rest",
            "label": "Quarter rest",
            "duration_beats": 1,
            "rest": true
          }
        ],
        "total_beats": 4
      },
      "instructions": "Build one bar using note and rest blocks. Fill all 4 beats, then check your rhythm."
    }
  ],
  "answer_key": [
    {
      "number": 1,
      "question_id": "m29-710041-0",
      "answer": "quarter|quarter|quarter|quarter",
      "label": "Quarter note → Quarter note → Quarter note → Quarter note",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Quarter note · Quarter note · Quarter note · Quarter note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5",
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 1,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 1,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        },
        {
          "onset_beats": 2,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        },
        {
          "onset_beats": 3,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        }
      ],
      "total_beats": 4
    },
    {
      "number": 2,
      "question_id": "m29-710041-1",
      "answer": "half|quarter|quarter",
      "label": "Half note → Quarter note → Quarter note",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Half note · Quarter note · Quarter note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 2,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 2,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        },
        {
          "onset_beats": 3,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        }
      ],
      "total_beats": 4
    },
    {
      "number": 3,
      "question_id": "m29-710041-2",
      "answer": "half|half",
      "label": "Half note → Half note",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Half note · Half note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 2,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 2,
          "duration_beats": 2,
          "rest": false,
          "accent": false
        }
      ],
      "total_beats": 4
    },
    {
      "number": 4,
      "question_id": "m29-710041-3",
      "answer": "quarter|quarter-rest|quarter|quarter",
      "label": "Quarter note → Quarter rest → Quarter note → Quarter note",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Quarter note · Quarter rest · Quarter note · Quarter note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 1,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 1,
          "duration_beats": 1,
          "rest": true,
          "accent": false
        },
        {
          "onset_beats": 2,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        },
        {
          "onset_beats": 3,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        }
      ],
      "total_beats": 4
    },
    {
      "number": 5,
      "question_id": "m29-710041-4",
      "answer": "quarter|quarter-rest|quarter|quarter",
      "label": "Quarter note → Quarter rest → Quarter note → Quarter note",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Quarter note · Quarter rest · Quarter note · Quarter note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 1,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 1,
          "duration_beats": 1,
          "rest": true,
          "accent": false
        },
        {
          "onset_beats": 2,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        },
        {
          "onset_beats": 3,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        }
      ],
      "total_beats": 4
    },
    {
      "number": 6,
      "question_id": "m29-710041-5",
      "answer": "half|quarter|quarter",
      "label": "Half note → Quarter note → Quarter note",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Half note · Quarter note · Quarter note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 2,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 2,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        },
        {
          "onset_beats": 3,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        }
      ],
      "total_beats": 4
    },
    {
      "number": 7,
      "question_id": "m29-710041-6",
      "answer": "quarter|quarter-rest|quarter|quarter",
      "label": "Quarter note → Quarter rest → Quarter note → Quarter note",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Quarter note · Quarter rest · Quarter note · Quarter note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 1,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 1,
          "duration_beats": 1,
          "rest": true,
          "accent": false
        },
        {
          "onset_beats": 2,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        },
        {
          "onset_beats": 3,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        }
      ],
      "total_beats": 4
    },
    {
      "number": 8,
      "question_id": "m29-710041-7",
      "answer": "quarter|quarter-rest|quarter|quarter",
      "label": "Quarter note → Quarter rest → Quarter note → Quarter note",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Quarter note · Quarter rest · Quarter note · Quarter note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 1,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 1,
          "duration_beats": 1,
          "rest": true,
          "accent": false
        },
        {
          "onset_beats": 2,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        },
        {
          "onset_beats": 3,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        }
      ],
      "total_beats": 4
    },
    {
      "number": 9,
      "question_id": "m29-710041-8",
      "answer": "half|quarter|quarter",
      "label": "Half note → Quarter note → Quarter note",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Half note · Quarter note · Quarter note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 2,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 2,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        },
        {
          "onset_beats": 3,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        }
      ],
      "total_beats": 4
    },
    {
      "number": 10,
      "question_id": "m29-710041-9",
      "answer": "quarter|quarter-rest|quarter|quarter",
      "label": "Quarter note → Quarter rest → Quarter note → Quarter note",
      "explanation": "The phrase fills 1 bar. Read the blocks from left to right: Quarter note · Quarter rest · Quarter note · Quarter note. A rest uses time without a sounding note.",
      "notation": {
        "clef": "treble",
        "notes": [
          "C5",
          "C5",
          "C5"
        ],
        "bar_beats": 4
      },
      "rhythm": [
        {
          "onset_beats": 0,
          "duration_beats": 1,
          "rest": false,
          "accent": true
        },
        {
          "onset_beats": 1,
          "duration_beats": 1,
          "rest": true,
          "accent": false
        },
        {
          "onset_beats": 2,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        },
        {
          "onset_beats": 3,
          "duration_beats": 1,
          "rest": false,
          "accent": false
        }
      ],
      "total_beats": 4
    }
  ],
  "record": {
    "learner": "",
    "date": "",
    "first_responses": "",
    "same_question_corrections": "",
    "new_question_check": ""
  }
}
