def METHOD_NAME(
    fileid: str, root: str, folder: str, ext_audio: str, ext_txt: str, blist: List[str]
) -> Tuple[str, int, str, int, int, int]:
    blist = blist or []
    speaker_id, chapter_id, utterance_id = fileid.split("-")
    # Get audio path and sample rate
    fileid_audio = f"{speaker_id}-{chapter_id}-{utterance_id}"
    filepath = os.path.join(folder, speaker_id, chapter_id, f"{fileid_audio}{ext_audio}")
    # Load text
    file_text = f"{speaker_id}-{chapter_id}{ext_txt}"
    file_text = os.path.join(root, folder, speaker_id, chapter_id, file_text)
    uttblist = []
    with open(file_text) as ft:
        for line in ft:
            fileid_text, transcript = line.strip().split(" ", 1)
            if fileid_audio == fileid_text:
                # get utterance biasing list
                for word in transcript.split():
                    if word in blist and word not in uttblist:
                        uttblist.append(word)
                break
        else:
            # Translation not found
            raise FileNotFoundError(f"Translation not found for {fileid_audio}")
    return (
        filepath,
        SAMPLE_RATE,
        transcript,
        int(speaker_id),
        int(chapter_id),
        int(utterance_id),
        uttblist,
    )