알 수 없는 영역

Reference: http://kaldi-asr.org/doc/kaldi_for_dummies.html


해당 포스팅은 내 만족을 위해 작성되었다.

상기 페이지에 있는 글을 읽으며(?) 내 이해를 돕기 위해 작성되었다.

구글 translate 초벌 번역 본 확인 후 필요시 일부 수정 예정


Kaldi for Dummies tutorial - Introduction


This is a step by step tutorial for absolute beginners on how to create a simple ASR (Automatic Speech Recognition) system in Kaldi toolkit using your own set of data.  이것은 자신의 데이터 세트를 사용하여 Kaldi 툴킷에서 간단한 ASR (자동 음성 인식) 시스템을 만드는 방법에 대한 절대적인 초보자를위한 단계별 자습서입니다. 

→ 즉, 이걸로 뭘 하려고 한다고 해도 내 데이터가 없으면 안된다는 말인데... Kaldi로 구축한다고 하더라도 데이터는 알아서 구해야겠네...


I really would have liked to read something like this when I was starting to deal with Kaldi. Kaldi를 다루기 시작했을 때 나는 이와 같은 것을 정말로 읽었을 것입니다. → 이런게 없어서 만들어주시다니... 감사할 따름입니다.


This is all based on my experience as an amateur in case of speech recognition subject and script programming as well. 아마추어로서의 나의 경험에 기초합니다. → 겸손하십니다.


If you have ever delved through Kaldi tutorial on the official project site and felt a little bit lost, well, my piece of art might be the choice for you. Kaldi 튜토리얼을 통해 공식 프로젝트 사이트를 탐구하고 조금 잃어버린 느낌이 든다면, 제 예술 작품이 당신을위한 선택일지도 모릅니다.

→ 구글님 번역이 이상함. 공홈 튜터리얼이 어려워 보이니 이것부터 읽을께요-


You will learn how to install Kaldi, how to make it work and how to run an ASR system using your own audio data. As an effect you will get your first speech decoding results. It was created by Wit Zielinski. Kaldi 설치 방법, 작동 방법 및 자체 오디오 데이터를 사용하여 ASR 시스템을 실행하는 방법을 배우게됩니다. 결과로 첫 번째 음성 해독 결과를 얻을 수 있습니다. 그것은 Wit Zielinski에 의해 만들어졌습니다.

→ 일단 설치부터 할 수 있었으면 좋겠습니다. 오디오 데이터는 나중에 어디서 구하겠죠 ㅠㅠ Wit Zielinski 감사합니다.


First of all - get to know what Kaldi actually is and why you should use it instead of something else. In my opinion Kaldi requires solid knowledge about speech recognition and ASR systems in general. 우선, 칼디가 실제로 무엇인지, 그리고 왜 다른 것 대신에 그것을 사용해야하는지 알게됩니다. Kaldi는 일반적으로 음성 인식 및 ASR 시스템에 대한 확실한 지식이 필요합니다.

→ 다행히 조금은 알고 있습니다.



It is also good to know the basics of script programming languages (bash, perl, python). C++ might be useful in the future (probably you will want to make some modifications in the source code).  또한 스크립트 프로그래밍 언어 (bash, perl, python)의 기초를 아는 것도 좋습니다. C ++은 앞으로 유용 할 것입니다 (아마도 소스 코드에서 약간의 수정을 원할 것입니다).

→ Basic skill로 충분할 지 모르겠지만... 일단 시작하시죠-




일단 시작하겠다는 다짐의 포스팅.

다행해(?) 메모가 필요해 보이는 내용은 없어보이네?

'Basic Concepts > Speech Recognition' 카테고리의 다른 글

Kaldi for Dummies tutorial - Environment  (0) 2017.12.31
마르코프 연쇄 (Markov Chain)  (0) 2017.12.02

이전에 한국어 자음에 대해 아주 간략하게 포스팅 한 적이 있다.

이번엔 한국어 폐쇄음에 대해 한번 살펴본다. 
자음 19개 중에 15개가 장애음이다. 
15개의 장애음 중 폐쇄음은 9개. 

개인적으로 이정도면 많은 비중을 차지한다고 생각한다. 
그래서 그런지 뭔가 할 말도 많다. 
이번 포스팅에선 한국어 폐쇄음의 음절의 위치에 따른 음성학적 특징을 중점적으로 살펴본다. 


일단 한국어 폐쇄음에 어떤 것들이 있는지 표로 한번 보면 아래와 같다.
(IPA를 입력하는 법을 몰라 여전히 한글로 쓴다.)

 

 

 양순음

치경음 

 치경경구개음

 연구개음

 성문음

 폐쇄음 

평음

 ㅂ

ㄷ 

 

ㄱ 

 

경음

ㅃ 

ㄸ 

 

ㄲ 

 

격음 

ㅍ 

ㅌ 

 

ㅋ 

 

마찰음 

평음 

 

ㅅ 

 

 

ㅎ 

경음 

 

ㅆ 

 

 

 

파찰음 

평음 

 

 

 

 

경음

 

 

ㅉ 

 

 

격음

 

 

ㅊ 

 

 

비음 

ㅁ 

ㄴ 

 

ㅇ* 

 

유음(설측 접근음)

 

 ㄹ

 

 

 




한국어 폐쇄음이 조음되는 위치는 
입술, 치경, 연구개이고 발성 유형은 평음, 경음, 격음이다. 

정말 재미있는 건 발성 유형에 따라 
폐쇄음이 음절에 나올 수 있는 위치가 달라진다는 점이다. 

평음은 초성과 종성 위치에 모두 올 수 있지만 
경음과 격음은 초성에만 올 수 있고 종성에는 위치할 수 없다. 


앞으로 어두 초성, 어중 초성, 어말의 위치에서의 폐쇄음의 음성학적 특징을 볼 텐데 
어디가 어딘지 살짝 집고 넘어가면 다음과 같다.

어두 초성: “다, 다, 다”에서 ㅂ, ㅍ, ㅃ 
어중 초성: “아, 아, 아”에서 ㅂ, ㅍ, ㅃ
어말: “갑”에서 ㅂ (다시 한 번 말 하지만 격음과 경음은 이 위치에 올 수 없다.)



1. 어두 폐쇄음
이 위치엔 평음, 격음, 경음 모두 올 수 있다. 이 3가지 발성 유형에 공통점이 두 가지 있고 차이점이 한 가지 있다. 


공통점은 1) 폐쇄 후 개방이 동반된다는 것이다. 그렇기 때문에 폐쇄의 개방으로 인한 순간적인 기류의 방출로 인해 스펙트로그램 상에 수직의 세로선(vertical spike)가 관찰된다. 

2) 무성음으로 발화된다는 것이다. 그렇기 때문에 스펙트로그램에서 유성막대(voice bar)이나 파형에서 작은 주기파(periodic wave)가 관찰되지 않는다. 


차이점 한 가지는 기식성과 관련된 것이다. 평음과 격음은 기식성이 나타나지만 경음은 기식성이 나타나지 않는다. 기식성 유무를 스펙트로그램과 파형으로 확인할 수 있다. 


기식성이 있는 평음과 격음은 스펙트로그램에서 수직 세로선(vertical spike) 이후 꽤 오랫동안 지저분한 그림이 보이고 파형에서 폐쇄 개방 후 비주기파가 발생된 것을 볼 수 있을 것이다. 

(앞선 포스팅에서 평음은 기식성이 없는 무기음이라고 했는데 실제로 기식성이 보이니 조금 당혹스럽겠지만 이는 다른 위치에서의 평음의 기식성과 함께 따로 언급이 될 것이다.)


반면, 기식성이 없는 경음은 스펙트로그램에서 수직 세로선(vertical spike) 이후 지저분한 그림이 안 보이고 파형 그림에서 비주기파를 찾을 수 없을 것이다.


2. 어중 폐쇄음
이 위치에도 평음, 격음, 경음 모두 올 수 있다. 
어중 폐쇄음은 조금 할 이야기가 많은 편인데 살짝 나열해보면 다음과 같다.

a. 폐쇄 후 개방
b. 폐쇄구간 길이의 차이
c. 선행하는 모음의 길이의 차이
d. 기식성 유무
e. 폐쇄구간동안 성대 진동 여부의 차이


a. 평음, 격음, 경음 모두 폐쇄 후 개방이 동반된다! 
(입을 벌려 “아바, 아파, 아빠”라고 해보면 바로 알 수 있다.)


b. 자음을 발음하기 위해 닫혔다가 열리는 폐쇄구간의 시간 차이가 평음, 격음, 경음에 따라 조금 다르다. 평음은 상대적으로 짧은 폐쇄 구간을 보이나 격음과 경음의 경우 상대적으로 긴 폐쇄 구간을 보인다. (순서를 정하자면 “경음 > 격음 > 평음” 요정도? 이것도 “아바, 아파, 아빠”를 해보면 어느 정도 알 수 있다.)


c. 발성 유형에 따라 폐쇄구간 길이만 차이를 보이는 게 아니라 선행하는 모음의 길이도 차이를 보인다. 평음 앞에 있는 모음의 길이가 경음이나 격음 앞에 오는 모음에 비해 상대적으로 훨씬 길게 나타난다. (순서를 정하자면 “평음 앞 모음 >> 경음 앞 모음 > 격음 앞 모음”) 


d. 기식성 유무! 어중에서는 우리가 알고 있던 데로 격음만 기식성을 보인다. 격음의 경우 성문 마찰로 인해 소음이 동반되면서 성대 진동 시작 시간(VOT)가 길어지기 때문이다. (평음, 경음: 무기음; 격음: 유기음)

e. 이전 포스팅에서 (한국어 자음) 한국어 자음 19개는 모두 무성음으로 분류된다고 했다. 하지만 어중에서 보면 평음의 경우 폐쇄구간 동안 성대의 진동이 동반되면서 조음된다. 스펙트로그램에서 유성 막대기(voice bar)가 파형에서 주기파(periodic wave)가 관찰된다.


3. 어말 폐쇄음
이 위치에는 평음뿐이 올 수 없다. 이 위치에서는 경음이나 격음의 분포가 제약을 받는다. 어말 평 폐쇄음의 음성학적 특징은 폐쇄의 개방시점을 찾을 수 없다는 것이다. 따라서 스펙트로그램에서 수직 세로선 (vertical spike)가 관찰되지 않는다. 개방시점이 없기 때문에 불파음(unreleased)으로 실현이 된다.


'Basic Concepts > Phonetics' 카테고리의 다른 글

한국어 폐쇄음 (Korean Obstruents)  (0) 2017.12.31
자립분절 음운론 (Autosegmental Phonology)  (0) 2017.12.17
음보 (foot)  (0) 2017.12.17
Sonority hierarchy, Sonority scale  (0) 2017.12.17
OCP, Obligatory contour principle  (0) 2017.12.07

Autosegmental phonology 
proposed by Goldsmith, 
1976 at PhD thesis at the MIT

기본 개념은 
음운론적 표상(phonological representation)이 

하나 이상의 분절음의 
선형적 열(sequence)로 구성되어 있다는 것이다...


응? 이렇게 쓰니까 내가 봐도 뭔 소린지 모르겠다.


조금 더 친절해지기 위해서 일단 간단한 용어 정리.

음운론적 표상(phonological representation)은...
하나의 소리,분절음을 음운론적으로 표현 하는 것?

예를 들어 /b/라는 것은
자음, 유성음, 폐쇄음, 양순음, 전방음(구강의 앞쪽에서 조음됨) 
이라고 표현할 수 있다.



선형성
초기에 나온 음운론 이론은 
선형 모델(linear model)이고, 

autosegmental phonology는 
비선형 모델(non-linear model)이다.


선형 모델은 하나의 분절음을 음운론적으로 표현함에 있어서 
하나의 음운론적 열로 표현한다.

비선형 모델의 경우에는 
하나의 분절음을 음운론적으로 표현함에 있어서 
하나 이상의 열로 표현한다.


어떤 모델에서 /b/를 [자음, 유성음, 폐쇄음, 양순음, 전방음]과 같이 
하나의 열(sequence)로 /b/의 성질들이 표현한다면
이는 선형모델이라고 볼 수 있다.


autosegmental phonology의 경우에는 
하나 이상의 열로 표현되기 때문에 
비선형 모델(non-linear model)이라고 볼 수 있다.



이렇게 끝내긴 너무 아쉽다.
음운론엔 예시가 있어야 제맛!

autosegmental model의 경우 
tone을 설명하기 위해 발생된 이론이라고들 말하곤 한다.




example from Margi

Margi어에는  /uˊ ʔ uˋ/  라는 단어와  
/aˊ r iˋ/  라는 단어가 존재한다고 한다.


글자위에 붙은 점 같은 애들은 tone을 표시해준다.

첫 번째 /u/와 /a/는 H(high) tone이고 
두 번째 /u/와 /i/는 L(low) tone이다.


위 두 단어를 붙여서 읽으면 어떻게 될까?
단순하게  /uˊ ʔ uˋ aˊ r iˋ/ 가 되면 좋겠지만 
Margi에서는 연속된 모음을 허용하지 않는다.


즉,  /uˊ ʔ uˋ aˊ r iˋ/ 에서 밑줄 친 부분이 문제가 된다.


따라서 위 두 단어를 연결해서 말하려면 모음 하나는 사라져야 한다.

/uˊ ʔ uˋ/ + /aˊ r iˋ/ = /u ʔ w a r i/ 
연속된 모음을 허용하지 않기 때문에 

/u/가 /w/로 바뀌었다. (아직 tone은 미표시)


근데 왜 하필 /w/냐고 물어보거나 
모음과 모음 사이에 자음을 넣으면 되는거 아니냐고 물어보면... 

완전 설명이 길어지거나 삼천포로 빠지기에... 
일단 그냥 /u/가 /w/로 바뀌었다는 사실만 알고 넘어가자;;


이렇게 해서 일단 segment(알파벳)에 관련된 문제는 해결이 되었다.
하지만 이 경우 tone 표시에 대한 문제가 발생된다.


두 개의 단어를 하나로 합치기 전에는 
모음이 4개 그리고 tone도 4개 1대1 대응이 가능했다.
(기본적으로 오직 모음만 tone을 받을 수 있다.)

하지만 두 개의 단어를 하나로 합친 경우 
모음과 tone의 수가 맞지 않는다.


실제 Margi에서는  /uˊ ʔ w aˇ r iˋ/  과 같이 
/a/가 Rising tone을 갖게 된다.

이 경우 rising tone이 “low + high”에 의해서 
발생하게 된 것이라고 생각할 수 있다!


/u/에 있던 low tone은 /u/가 사라지면서 같이 사라지는 것이 아니라 
뒤에 오는 /a/의 high tone과 결합해서 rising이 발생되는 것이다. 


이렇듯 tone이 segment와 분리되어 이동되는 것을 봐서는 
tone에 대한 열(sequence)이 자율성(autonomy)을 갖고 
segment에 대한 열과는 독립적으로 존재한다고 생각할 수 있다. 


우리는 그것을 autosegment라고 하고 
이런식으로 소리를 설명하는 음운적 모델을 
autosegmental phonology이라고 한다.


'Basic Concepts > Phonetics' 카테고리의 다른 글

한국어 폐쇄음 (Korean Obstruents)  (0) 2017.12.31
한국어 폐쇄음 (Korean Obstruents)  (0) 2017.12.17
음보 (foot)  (0) 2017.12.17
Sonority hierarchy, Sonority scale  (0) 2017.12.17
OCP, Obligatory contour principle  (0) 2017.12.07