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

TTS System을 이용한 교육용 소프트웨어 개발

  • 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 를 가르쳐 주신 영남대학교 오창혁 교 수님께 진심으로 감사드린다 .