본문으로 건너뛰기
홈으로블로그
‹ 블로그

개발기

세계 국기 퀴즈 업데이트 — 아이의 머뭇거림을 기다리는 음성 놀이

개발 발행 5분 읽기

#세계국기퀴즈#FlagQuiz#개발기#음성인식#유아교육#웹앱

세계 국기 퀴즈 프로젝트 보기

세계 국기 퀴즈의 최근 수정은 새로운 문제를 늘리는 일보다, 아이가 이미 시작한 놀이를 자연스럽게 이어 가는 데 집중했습니다. 첫 개발기에서 소개한 소리와 그림 중심의 놀이를 계속 다듬은 기록입니다. 국기를 보고 나라나 수도를 말할 때 첫 음절이 빠지거나, 생각하는 사이 마이크가 끝나면 아이는 답을 알아도 다시 조작해야 합니다. 정답 뒤에 선물을 확인하느라 멈추는 일도 같은 흐름의 문제였습니다.

2026년 10월 3일부터 6일까지 정답 이후의 진행, 말하기의 녹음과 판정, 운영 주소 전환을 함께 다듬었습니다.

준비음 뒤의 첫말을 놓치지 않기#

말하기는 마이크를 여는 순간과 실제로 녹음하는 순간이 다를 수 있습니다. 화면이 준비됐다고 보여도 내부 연결이 아직 열리는 중이면 아이가 먼저 말한 소리가 사라집니다. 그래서 준비음이 끝나면 녹음으로 넘어가고, 그 뒤에 “듣고 있어요”를 표시하도록 순서를 맞췄습니다. 효과음 설정과도 별개로 답을 시작할 시점을 알려 줍니다.

녹음이 시작된 직후의 소리를 무조건 배경 소음으로 취급하지 않도록 고쳤습니다. 첫 음절이 작거나 나라 이름 중간에 짧게 쉬어도 이어진 발화로 판단할 수 있게 했습니다. 조용히 생각하는 동안에는 같은 차례를 유지하고, 말소리가 없는 녹음은 기기 안에서 버린 뒤 계속 기다립니다.

나라 이름을 읽어 주는 시간과 아이의 답을 듣는 시간도 구분했습니다. 앱의 목소리가 자기 마이크로 들어가는 일을 줄이고, 다음 차례마다 마이크와 오디오 장치를 불필요하게 새로 여는 부담도 덜었습니다. 화면을 나가거나 듣기를 멈추면 연결을 정리합니다.

인식한 문장과 아이가 고른 답 사이#

음성 인식이 문장을 받아 적었다고 채점까지 끝난 것은 아닙니다. “음, 케냐예요”처럼 말머리와 조사가 붙기도 하고, 같은 이름을 두 번 말하거나 답을 고쳐 말하기도 합니다. 나라 이름과 수도 이름을 찾는 규칙을 공유해 이런 표현에서 최종으로 고른 답 하나를 찾도록 했습니다.

판정기는 현재 문제의 정답을 전달받지 않습니다. 아이가 실제로 말한 이름을 먼저 고른 뒤 기존 채점기로 맞고 틀림을 확인합니다. 답을 아는 시스템이 불분명한 발화를 정답 쪽으로 끌어당기지 않게 하려는 결정입니다. 불완전한 발음도 전체 이름 목록에서 후보가 하나로 좁혀지는 경우를 다루고, 여러 나라를 나열하거나 질문만 한 경우에는 같은 문제에서 다시 말할 수 있게 했습니다.

인식할 답을 찾지 못한 상태와 오답을 구분하는 것도 중요했습니다. 불확실한 발화만으로 점수를 매기거나 문제를 넘기지 않고, 연결이나 권한 문제로 말하기가 어려워지면 같은 문제에서 글자로 답하는 경로를 보여 줍니다. 녹음을 준비하거나 결과를 기다리는 시간에는 문제 제한시간도 잠시 멈춥니다.

정답과 선물 뒤에도 놀이가 이어지도록#

국기뿐 아니라 그림, 명소, 지도, 수도 퀴즈도 공통 진행 경로를 사용하게 했습니다. 정답이면 나라나 수도 이름을 짧게 들려주고 다음 문제로 넘어갑니다. 자세한 설명은 다시 듣기로 확인할 수 있고, 읽어 주기 완료 알림이 누락돼도 한 화면에 계속 갇히지 않도록 대기 상한을 두었습니다.

깜짝 상자의 선물은 받는 즉시 기록에 반영하고 문제 위쪽에 잠깐 알려 줍니다. 확인 버튼을 누르거나 창을 닫아야 다음 문제를 풀 수 있는 구조를 없앴습니다. 보상 안내가 사라지는 시간과 문제 이동도 따로 관리해, 선물이 놀이를 멈추는 조건이 되지 않게 했습니다.

아홉 가지 퀴즈와 번갈아 말하기#

현재 구성은 아홉 가지 퀴즈에 별도의 “나라 이름 번갈아 말하기”를 더한 형태입니다. 번갈아 말하기는 두 사람이 아직 나오지 않은 나라를 하나씩 말하는 놀이입니다. 한국과 대한민국처럼 같은 나라를 가리키는 이름은 하나로 보고, 중복이나 여러 이름이 섞인 답은 지금 차례에서 다시 말합니다.

여기에서도 나라 이름을 읽어 준 뒤 다음 사람의 듣기로 이어지는 흐름을 다듬었습니다. 누가 말했는지를 자동으로 추측하기보다 정해진 차례를 유지하며, 인식 연결이 실패해도 현재 기록을 두고 글자로 계속할 수 있게 했습니다.

운영 주소를 옮기며 달라진 이용 조건#

운영형은 TechJuice ID로 로그인하는 NAS 서버 구조로 전환했습니다. 기존 GitHub Pages 주소는 새 주소 안내와 같은 기기의 이전 학습 기록을 옮기는 진입 화면으로 바뀌었습니다. 새 주소에 기록이 이미 있으면 사용할 기록을 고르고, 교체 전 기록은 백업으로 보관할 수 있게 했습니다.

이전 공개 버전의 오프라인 저장 기능과 현재 운영형의 조건은 구분해야 합니다. 보호된 NAS 앱은 인터넷과 로그인이 필요하며 앱 복사본을 오프라인에 저장하지 않습니다. 홈 화면에 추가해서 사용할 수 있지만, 그것만으로 인터넷 없이 실행되는 것은 아닙니다. 음성 답변에는 마이크 허용도 필요합니다.

다음 확인은 실제 아이의 목소리로#

코드와 자동 검증에서는 첫 음절, 짧은 쉼, 답을 고쳐 말하기, 연속 차례, 화면 이동 뒤 늦게 도착한 결과를 나누어 점검했습니다. 이런 검사는 구현이 의도한 순서대로 움직이는지 확인하는 데 도움이 됩니다. 실제 아이의 발음이나 iPhone·iPad의 물리 마이크 환경에서 느끼는 인식 품질까지 보장하지는 않습니다.

앞으로도 인식률이라는 숫자 하나보다, 아이가 멈춘 지점과 다시 조작해야 했던 순간을 보며 다듬으려 합니다. 답을 기다리고, 분명하지 않으면 다시 듣고, 맞힌 뒤에는 놀이가 이어지는 경험이 이번 업데이트의 기준입니다.

FlagQuiz 이전 공개 버전 소스 코드 (새 창)

이런 프로젝트, 같이 만들어볼까요?

웹 서비스 · 도구 · 자동화 의뢰를 받고 있어요.

문의 보내기