Voice Example

Template

{
    "header": {
        "default_state": "main",
        "output_type": "dev",
        "manifest_id": "488f3a14-3427-4cc4-9af3-2e95970b3c9d"
    },
    "states": [
        {
            "name": "main",
            "transitions": [
                ["interact"],
                ["timer 6.7"],
                ["timer 3"],
                ["timer 2"]
            ],
            "sounds": [
                "knight.voice_1",
                "knight.voice_2",
                "knight.voice_3",
                "knight.voice_4"
            ],
            "text": [
                "Hey everyone! Just wanted to let you know that that voice acted lines are completely compatible with Echo:NPC",
                "Simply chop the voice lines into reasonably sized chunks",
                "Add them as /playsound's",
                "And trigger them, using the normal syntax!"
            ]
        }
    ],
    "entity": "default sirlich:knight"
}

Sound Definitions

{
    "knight.voice_1": {
        "category": "neutral",
        "sounds": [
            "sounds/knight/voice_1"
        ]
    },
    "knight.voice_2": {
        "category": "neutral",
        "sounds": [
            "sounds/knight/voice_2"
        ]
    },
    "knight.voice_3": {
        "category": "neutral",
        "sounds": [
            "sounds/knight/voice_3"
        ]
    },
    "knight.voice_4": {
        "category": "neutral",
        "sounds": [
            "sounds/knight/voice_4"
        ]
    }
}

Template, with comments:

{
    //Header like normal. Remember to set your own Manifest ID if you copy/paste this.
    "header": {
        "default_state": "main",
        "output_type": "dev",
        "manifest_id": "488f3a14-3427-4cc4-9af3-2e95970b3c9d"
    },
    //Single state entity. Could add more states/more interesting transitions if desired.
    "states": [
        {
            "name": "main",
            //Use list-format for interacts. Since we are going to by lining up against
            //the text/sounds, its easier than using set-lang.
            "transitions": [
                ["interact"], //Interact for the first transition, so it doesn't auto-play.
                ["timer 6.7"], //Create timers, based on the lengths of the sound files.
                ["timer 3"],
                ["timer 2"]
            ],

            //Sounds can also be list format, and sync-up with the text.
            "sounds": [
                "knight.voice_1",
                "knight.voice_2",
                "knight.voice_3",
                "knight.voice_4"
            ],

            //Text like normal
            "text": [
                "Hey everyone! Just wanted to let you know that that voice acted lines are completely compatible with Echo:NPC",
                "Simply chop the voice lines into reasonably sized chunks",
                "Add them as /playsound's",
                "And trigger them, using the normal syntax!"
            ]
        }
    ],
    "entity": "default sirlich:knight"
}