사전 설정(Preset)된 서비스로 원하는 텍스트만 선택해서 듣기


서비스 사전 설정(Preset) 관련 부분은 AwesomeTTS 홈페이지에서 이 부분을 참조한 내용이니 참조하시기 바랍니다. 


가끔 전체 텍스트가 아니라 어떤 특정한 텍스트만 오디오 사운드를 재생해서 들을 필요가 있는 경우가 있다. 이런 경우에는 AwesomeTTS 설정에 들어가 오디오 사운드를 재생해줄 서비스들 중에서 원하는 것을 골라서 설정해두면 필요할 때마다 팝업메뉴를 통해서 해당 텍스트를 원하는 서비스에서 재생되게 할 수 있다. 


이 방법은 즉석 재생(On-the-fly) 방법과 마찬가지로 TTS를 데스크탑 환경에서만 사용하는 사람들에게 매우 유용하다. 하지만 모바일 기기(가령 AnkiDroid)나 AnkiWeb에서 Anki를 이용하는 사용자라면 [sound] 태그와 미디어 파일을 만들어 저장해서 데스크탑 외에서도 원활하게 공부하길 원할 수 있다. [sound] 태그를 생성하는 방법은 앞에서 노트 추가창(Note Editor)이나 카드 탐색기(Card browser)에서 [sound] 태그를 생성하고 저장하는 방법을 참조하기 바란다.



사전 설정(Preset)하여 사용하는 방법


1) 구성(Configuration) 화면 설정


도구 → AwesomeTTS 순으로 클릭하면 구성(Configuration) 화면이 나타난다.

구성(Configuration) 화면에서 Advanced 탭으로 이동하고

③ "Service Presets and Groups" 섹션을 찾아 [Manage Presets...] 버튼을 클릭한다. 




2) 서비스 구성


Manage Service Presets 대화상자가 나타난다. 


이번에는 앞서 배운 것과 마찬가지로 서비스와 해당 옵션들을 조정하여 원하는 서비스를 구성한다. 




3) 서비스 확인


Preview 아래의 공란에 간단한 샘플 문구를 넣고 [Preview] 버튼을 눌러 해당 사운드가 원하는 사운드인지 확인한다. 




4) 저장(Save)


오디오 사운드가 마음에 들었다면 Load Preset... 옆의 [Save] 버튼을 클릭하여 해당 서비스와 옵션을 저장한다. 




5) 사전 설정(Preset) 이름 설정


[Save] 버튼을 클릭하면 사전 설정(Preset)의 이름이 해당 서비스명과 목소리 등으로 자동으로 생성되어 기본적(Default)으로 제공된다. 만일 원하는 이름이 있다면 새로 이름을 짓고 제시된 사전 설정 이름이 마음에 들면 그대로 받아들이고 [확인]을 클릭한다. 



6) 사전 설정 화면 나오기


[확인]을 클릭하여 Manage Service Presets 화면에서 빠져나온다.




마찬가지로 [확인]을 클릭하여 구성(Configuration) 화면에서 빠져나온다. 




7) 사전 설정(Preset) 사용


이제, Anki의 카드를 열어서 다음처럼 듣고 싶은 문장을 지정하고 우클릭을 하면 팝업메뉴가 나타난다. AwesomeTTS → Say "Call me Please" w/ Microsoft Speech API COM (Microsoft Zira Desktop)을 클릭하면 해당 문장을 읽는 것을 들을 수 있다. 




그 외 알아둘만한 사항들... 



1) 사전 설정(Preset)은 어디서나 가능


사전 설정(Preset)을 구태여 꼭 구성(Configuation) 화면에서 할 필요는 없다. 서비스 구성을 할 수 있는 모든 대화상자에는 해당 사전 설정(Preset)을 구성할 수 있도록 [Save] 버튼이 달려 있으므로 AwesomeTTS를 노트 추가창, 카드 탐색기, 즉석 재생으로 추가할 때 해당 서비스 구성 화면에서 언제든지 사전 설정(Preset)을 구성할 수 있다.



2) 이 방법은 다른 곳에서도 사용 가능함

서비스를 사전설정 하고 원하는 텍스트만 선택해서 말하는 것 듣기는 꼭, 카드에서만 실행하는 것은 아니다. 노트 추가창에서 개별적으로 노트를 편집하면서 필드에 있는 텍스트를 지정해서 사정 설정된 서비스에 따라서 해당 텍스트를 들을 수도 있고, 카드 템플릿의 미리보기 부분의 텍스트를 지정해서 들을 수도 있다. 

아래는 노트 추가창에서 TEXT 필드에 있는 텍스트 color를 지정해서 사전 설정(Preset)된 서비스에 따라서 텍스트를 읽는 것을 듣는 모습이다. 



아래는 카드 템플릿의 미리보기에서 텍스트 color를 지정해서 사전 설정(Preset)된 서비스에 따라서 텍스트를 읽는 것을 듣는 모습이다. 



3) 사전 설정(Preset) 그룹화하기

최소 두 개의 서비스를 사전 설정(Preset)했다면 이를 그룹(Group)으로 묶어 사용할 수 있다. 


4) 즉석 재생(On-the-Fly)에 사용하기

즉석 재생(On-the-Fly)의 경우에도 서비스를 사전 설정해서 사용할 수 있다. 즉, 카드 템플릿에서 <tts> 태그에 속성(attribute)으로 preset을 붙일 수 있고 해당 preset 속성사전 설정된 서비스의 이름을 집어넣어주면 된다. 


카드 템플릿에서 즉석 재생(On-the-Fly)하기


이는 AwesomeTTS 홈페이지에서 이 부분을 참조한 내용이니 참조하시기 바랍니다.


카드에 TTS를 더하는 가장 쉽고 빠른 방법은 카드 템플릿에서 사운드로 재생되기를 원하는 텍스트를 HTML 태그인 <tts>로 감싸주는 것이다. <tts> 태그로 감싼 부분이 카드에서 즉석으로 재생되는데, 태그로 감싼 부분을 어떻게 보이게 할지에 대해서는, 일반적으로 Anki의 카드 템플릿에서 기본적으로 제공하는 상태로 보여줄 수 있고 또는 다른 힌트가 나타나게 하거나 아무것도 나타나지 않게 할 수도 있다. 이 방식을 잘 활용하면 영어 듣기 훈련용 카드에서 이를 잘 활용할 수 있을 것이다.

 

Anki를 데스크탑에서만 사용한다면 이 즉석 재생(On-the-Fly) 방법과 사전설정(Presets) 방법이 매우 유용하다. 하지만 모바일 기기(가령, AnkiDroid)AnkiWeb에서 Anki를 이용하는 사용자라면 [sound] 태그와 미디어 파일을 저장해서 데스크탑 외에서도 원활하게 공부하길 원할 수 있다. [sound] 태그를 생성하는 방법은 앞에서 노트 추가창(Note Editor)이나 카드 탐색기(Card browser)에서 [sound] 태그를 생성하고 저장하는 방법을 참조하기 바란다.

 


즉석 재생(On-the-Fly) 실행방법


1) 카드 템플릿창 열기


노트 추가창(Note Editor)을 열었거나 카드 브라우저에서 특정 카드를 선택한 경우 [카드...] 버튼을 클릭하여 해당 노트의 카드 템플릿 창으로 들어간다.

 

다음은 노트 추가창(Note Editor)에서 [카드...] 버튼을 클릭한 모습이다.


 

다음은 카드 탐색기(browser)에서 특정 카드를 선택한 후 [카드...] 버튼을 클릭한 모습이다.




2)  [Add TTS] 버튼을 클릭


앞에서 [카드...] 버튼을 클릭하면 해당 노트의 카드 템플릿이 나온다. 일단, 현재 카드 템플릿을 확인하고 아래의 버튼에서 [Add TTS] 버튼을 클릭한다.

 



3) 서비스와 옵션 선택


앞에서 [Add TTS] 버튼을 클릭하면 즉석 재생(On-the-Fly)을 위해 <tts> 태그를 템플릿에 더하는 다양한 옵션을 가진 대화상자가 나타난다 일단, 원하는 서비스와 옵션들을 선택한다.



4) 오디오 사운드 확인


서비스와 옵션을 선택했으면 Preview 아래의 공란에 간단한 문구를 작성하고 [Preview] 버튼을 클릭하여 생성될 오디오의 사운드가 원하는 것인지 확인한다.




 

5) 사운드로 전환할 텍스트 결정


AwesomeTTS가 특정 필드의 텍스트를 읽어 오디오를 만들기 원한다면 Field의 드롭다운 목록에서 해당 필드를 선택하라.

 

보통 customize the tag's content 항목은 <tts> 태그에 오디오 사운드로 전환하고 싶어하는 텍스트나 필드를 넣는 것이다. 하지만 특정 필드를 오디오 사운드로 전환하길 원할 경우에는 아래의 사진에서 Field 항목의 드롭다운 목록을 펼쳐 나타나는 현재 노트 유형이 가진 필드(Field)에서 원하는 필드를 선택하면 된다. 



6) visibility 선택


TTS 태그로 둘러싼 부분을 숨기고 싶다면(가령, 듣기 연습일 경우 소리를 듣고 단어를 떠올려야 하는데 텍스트가 화면에 보이면 당연히 공부가 되지 않을 것이다.) visibility의 드롭다운 목록에서 원하는 옵션을 선택하면 된다.




Hide just this tag w/ inline CSS 항목을 선택하면 지금 추가하고 있는<tts> 태그만 화면에 표시하지 말고 CSS로 스타일링을 한다. 당연히 이 카드에만 적용된다.

add rule to hide any TTS tag for note type 항목을 선택하면 현재 노트유형(Note type)에서 <tts> 태그로 감싼 부분은 전부 가려서 화면에 표시되지 않는다


7) 사운드를 재생할 카드의 앞뒷면 선택


카드의 어느 쪽(앞면이나 뒷면)에서 AwesomeTTS가 오디오를 재생할지 선택한다.


8) <tts> 태그를 카드 템플릿에 삽입


[Insert] 버튼을 클릭하여 <tts> 태그를 카드 템플릿에 삽입한다.


아래는 <tts> 태그가 카드 앞면에 삽입된 경우이다. 태그 내부에는 아직 텍스트나 필드가 있지 않으므로 원하는 필드나 텍스트를 우리가 직접 넣어야 한다. 




9) <tts> 태그 내에 넣을 텍스트와 필드 정리


카드 템플릿에서 <tts> 태그의 내부에 오디오 사운드로 소리가 나게 하려는 텍스트나 필드를 넣어 원하는 카드를 만든다. 아래의 사진에서는 앞면을 의미하는 {{Front}} 필드를<tts> 태그 내부에 집어넣어 Front 필드에 적힌 텍스트를 즉석 재생하도록 한 것이다.


 



특정 카드에서만 선택적으로 TTS로 송출되는 사운드를 수정하거나 사용하지 않을 수 있는가?


TTS를 하다보면 특정 노트에 적힌 구문이나 텍스트를 TTS로 전환한 사운드의 품질이 매우 좋지 않을 수 있다. 이 경우 해당 TTS를 사용하지 않거나 직접 만들어낸 사운드로 대체하는게 나을 수 있다. 


TTS를 더 이상 사용하고 싶지 않다면 노트 유형에 "No TTS" 필드를 추가하고 그 필드에 "1"을 기입한다. 그리고 템플릿을 다음과 같이 수정한다. 


{{^No TTS}}<tts service="espeak" voice="en">{{/No TTS}}

   {{Front}}

{{^No TTS}}</tts>{{/No TTS}}


또, 직접 생성한 사운드를 사용하려면 노트 유형에 "Sound" 필드를 추가하고 오디오 파일을 해당 필드에 [sound:xxx] 형식으로 삽입한다(페이퍼 클립 표시를 눌러 해당 파일을 첨부하면 된다.). 그리고 템플릿을 다음과 같이 수정한다. 


{{Sound}}


{{^Sound}}<tts service="espeak" voice="en">{{/Sound}}

   {{Front}}

{{^Sound}}</tts>{{/Sound}}


위와 같이 수정하다보면 템플릿이 너무 복잡해지므로 복잡해지는 것을 피하고 싶다면 즉석 재생의 <tts> 태그를 사용하지 않는 새로운 노트 유형을 만들어서 필요한 노트들은 새로운 노트 유형으로 옮기는 방식도 나쁘지 않다.



그 외 사항들(Other Hints)


1) 즉석 재생 기능이 제대로 작동하는지 앞면 미리보기나 뒷면 미리보기에서 테스트해볼 수 있다. 해당 창에 우클릭을 하면 해당 메뉴가 나오므로 그것을 눌러 사운드를 확인한다.




2) <tts> 태그를 자동으로 재생하는 것을 바꾸거나 단축키를 바꿀려면 구성(Configuration) 화면에서 재생(playback) 탭으로 가서 조절하면 된다. 


3) AwesomeTTS에서는 자동으로 특정한 텍스트를 필터해서 제외할 수 있다. 가령 괄호 속에 있는 텍스트는 오디오 사운드로 소리내지 않을 수 있다. 어떻게 필터링할지 조절하고 싶다면 구성(Configuration) 화면에서 Text 탭으로 가서 조절하면 된다. 


4) 만일, 즉석 재생(On-the-Fly) 방법에서 사전설정(Preset)된 서비스를 이용하고 싶다면 다음과 같이 TTS 태그에 preset 속성을 붙여서 사용하면 된다. 

   <tts preset="My eSpeak Preset">apple</tts>


5) 마찬가지로 그룹(Group)을 적용하고 싶다면 마찬가지로 다음과 같이 <tts> 태그group 속성을 붙여서 사용하면 된다. 

   <tts group="Male English">automobile</tts>


6) 템플릿에서 변수로 사용하는 필드들을 태그의 속성(attribute)처럼 사용할 수 있다. 

   <tts group="{{group}}">{{text}}</tts>


7) <tts> 태그를 중첩(nest)시켜 동일한 텍스트를 여러 개의 다양한 서비스를 이용하여 소리를 재생할 수도 있다.




+ Recent posts