1. 1
TTS System 을 이용한
교육용 소프트웨어 개발
내용 : 프로젝트 중간결과보고
작성자 : 김종명 ( 영남대학교 )
작성일 : 2001. 11. 25
2. 2
0. 차례
1. 프로젝트 개요 3
2. 개발 동기 4
3. 기반 기술 5
4. 프로그램 사용법 6
5. 프로그램의 특징 13
6. 발전 방향 14
3. 3
1. 프로젝트 개요
프로젝트 주제 : TTS System 을 이용한 단어암기 소프트웨어 개발
프로젝트 수행 기간 : 2001. 9. 20 ~ ( 업그레이드 중 )
프로젝트 참가인원 : 김종명 ( 영남대학교 통계 4)
프로젝트 감리 : 없음
4. 4
2. 개발 동기
다른 언어를 배우는데 있어서 가장 기본이 되는 것은 “단어”일
것이다 . 단어만으로도 의사소통이 쉽게 될 수 있음을 부인하는
사람은 없다 . 필자는 TOEIC 를 공부하면서 이공계열 전공자들
의 특징 중의 하나인 암기에 대한 게으름에 직면하게 되었다 .
또한 가장 뛰어난 프로그래머는 가장 게으른 프로그래머라는 말
이 있을 정도로 필요는 발명의 어머니요 , 개발의 시발점이 된다 .
필자는 그러한 연유에 의해 “ Learn Up”( 속칭 “외워버려” ) 를 개
발하게 되었다 . 지긋지긋한 암기로 부터 해방되고자 아이콘 모
양마저 ‘외워서 휴지통에 버려라’는 의미에서 휴지통을 선택하였
다 .
연구원들에게도 본인이 개발한 초기모델의 테스트를 의뢰하였
다 . 모두들 기발한 아이디어라는 칭찬을 하였고 , 그래서 본 프
로그램을 개발하게 되었다 .
5. 5
3. 기반 기술
본 프로그램은 단어장을 모듈화 하여 사용하는 콤포넌트 방식이
다 . 이를 위해서는 디렉토리 및 파일 관리를 철저히 해야한다 .
초기모델은 INI 파일을 이용하여 환경설정 데이터를 관리하였으
나 , 더 안전하고 빠른 레지스트리를 이용하게 되었다 . 이 프로
그램의 핵심 기술은 좋은 문제를 만들어 내기 위해 가능한한 비슷
한 타입의 단어들을 같은 파일안에 수록하여 문제를 추출하는 방
식을 사용하였다 . 초기모델에서는 단순히 random generater
를 문항을 생성하였으나 , 각 파일의 단어의 개수가 적을 수록 추
출 확률이 높아지는 단점을 보완하기 위하여 각 파일의 단어 개수
의 비율을 관리하는 변수를 따로 만들었다 . MFC 의 OOP 개념
을 적극 활용하여 프로그래머의 작업속도 또한 다른 프로젝트에
비해 상당히 높았다 . 또한 Speech SDK 를 이용한 TTS(Text-
to-Speech) 기술은 청취력 테스트를 가능하게 만들었다 .
6. 6
4. 프로그램 사용법 (1)
퀴즈 시작
퀴즈시작 단추를 누르게 되면 “ Are
You Ready” 라는 소리와 함
께 문제가 출력되고 프로글
래스 바가 생긴다 .
0.5 초 후 문제를 읽어주고 , 시간
내에 풀지 못하면 프로그래
스바 수치가 줄어들어 오답
처리로 간주한다 .
정답을 선택하면 해당 점수가 가산
되고 , 상단의 5~-5 의 숫자
가 6~-4 로 바뀐다 .
오답을 선택하면 프로그래스 바의 최하 점수가 가산되고 숫자판이 다시 5~-5 로 바뀐다 .
점수를 빨리 올리는 방법은 연속으로 빨리 정답을 선택하는 것이다 .
7. 7
4. 프로그램 사용법 (2)
아래 이미지는 프로그램 대화상자 좌측하단에 위치해 있는 캐릭터이다 .
문제를 맞추고 틀리는 것을 계산하여 다양한 표정을 만들어 낸다 .
8. 8
4. 프로그램 사용법 (3)
틀린단어 보기
2.0 버전의 틀린단어보기
의 새로운 기능은 부분삭
제와 리스트 전체 삭제 옵
션이다 . 좌측 하단의 “닫
을때 리스트 모두 삭제”를
체크하면 무조건 한번만
보고 삭제하게 된다 . 그렇
게 하지 않거나 부분삭제
할 경우 나머지 단어는 유
지된다 .
9. 9
4. 프로그램 사용법 (4)
점수보기
점수는 정답수와 관계가 있으
나 , 정답수가 작아도 점수
는 더 높을 수도 있다 . 이
유는 얼마나 빨리 정답을
선택했는가에 따라 다른 점
수를 배정받기 때문이다 .
10. 10
4. 프로그램 사용법 (5)
환경설정
2.0 버전에서 새롭게 추가된 옵
션은 출력방향 선택과 보고
듣기 선택기능이다 .
문제의 특성상 긴 문자열을 출
력해야하는 경우 한줄로 늘
어선 형태가 유리하다 . ‘ 문
제 듣기’를 선택한 경우 문
제의 소리가 나오고 텍스트
가 출력되지 않는다 . 결국
듣기 테스트가 가능한 프로
그램이란 얘기다 .
단어장 정보에는 해당 단어장을 편집한 사람의 이름 , 단어장의 수준 ( 중 , 고 , 토익 , 토
플 , 공무원시험용… ), 편집자의 말 등이 저장되어 있다 .
11. 11
4. 프로그램 사용법 (6)
단어장 관리
새로 개발된 단어장 편
집기는 ListView 를
가진 Document 윈도
우 상에서 구현되어
서 , 윈도우 전체화면
을 사용하게 된다 .
단어 통계정보기능이
추가되었으며 , 검색
창과 단어 추가 창이
따로 구현되었다 .
단어 추가시 가장 불편
한 문제였던 한 / 영
자동 변환 기능이 추
가되었다 /
12. 12
4. 프로그램 사용법 (7)
HELP
2.0 버전에서는 더 상세한
도움말이 제공된다 . 뿐
만 아니라 , 엑셀 및 기타
텍스트 편집기를 이용하
여 더욱 쉽게 단어장을
편집할 수 있는 TIP 을
제공할 계획이다 . HELP
메뉴에는 단어장 자료실
과 프로그램 홈페이지가
링크되어 있다 .
13. 13
5. 프로그램의 특징
1) 단어장을 모듈화 시켜서 사용하므로 다른 사람이 만든 단어장을
사용하거나 자신이 만든 단어장을 남에게 배포할 수 있다 .
2) 영어뿐만 아니라 , 일본어 , 중국어 등 많은 분야에서 응용이 가능
하며 , 단어 뿐만 아니라 객관식으로 출제가 가능한 모든 문제 출
제 분야에서 응용이 가능하다 .
3) 환경설정의 듣기 기능을 이용하여 청취력 테스트를 할 수 있다 .
4) 환경설정의 출력방향을 반대로 하면 , 어떤 언어든 호환될 수 있
다 . 예를 들어 영어 단어장으로 영어권 학생이 한국어를 배울 수
도 있다 .
5) 틀린문제로 단어장을 만들어 취약한 단어를 집중적으로 공부할 수
있다 .
14. 14
6. 발전 방향
물론 세상 모든 사람들이 자신의 프로그램을 웃으면서 사용하게 하는 것
이 개발자의 꿈이자 계획일 것이다 . 그러나 , 본 프로그램은 개발해야할
과제가 너무나도 많다 . 아이템이 없는 것이 아니라 누구나 무엇이 문제
이며 어떤 부분을 개발해야 한다는 것은 알고 있으나 , 시도를 하려하지
않았다 . 그 중에서도 음성 피치 비교를 이용하여 음성의 동질성을 파악
하면 가장 정확한 Speeking Test 를 할 수 있다 . 또한 사용자가 틀린 특
정 문항에 대한 가중치를 부여하여 그 문항의 추출률을 높이는 기법도 포
함되어야 한다 . 이러한 통계적 기법을 사용하면 프로세스의 양을 현저히
줄이면서 에이전트가 시스템과 같은 수준의 프로그램을 만들어 낼 수 있
다 .
이 프로그램은 누구나가 한번쯤은 생각해 본 것이라 생각된다 . 개발자
의 입장에서 사용자의 입장을 거의 알 수 없는것이 사실이다 . 그러나 ,
웹사이트를 통한 유저들과의 꾸준한 접촉으로 인하여 많은 아이디어와
개선의뢰를 받았다 . 결국 이 프로그램은 개선의뢰를 하는 바로 사용자들
에 의해서 최적의 프로그램으로 만들어 질 수 있다고 생각한다 .
마지막으로 10 개월전 처음 MFC 를 가르쳐 주신 영남대학교 오창혁 교
수님께 진심으로 감사드린다 .