음성 인식에 사용할 emacs 확장을 작성 중이며 특정 기능에 대한 도움말을 찾고 있습니다. 음성 인식기 (드래곤)가 지속적으로 제대로 인식하지 못하는 단어는 훈련하는 횟수에 관계없이 특정 단어를 인식하는 데 방해가됩니다. 일반적으로 주제에 대해 글을 쓰거나 코딩 할 때 같은 단어를 여러 번 반복해서 사용하게됩니다.
그래서 오버레이를 사용하여 버퍼에서 단어가 렌더링되는 방식을 변경하는 모드를 작성했습니다. 단어에 임의의 문자를 사용하고 임의의 색으로 밑줄을 긋고 그 위에 임의의 발음 구별 부호 (악센트, 움라우트 등)를 표시합니다. 다음은 스크린 샷입니다 (표시 / 밑줄을 보려면 확대해야 함).
그런 다음 "보라색 p 머리"라고 말할 수 있으며 'a'아래에 자주색 밑줄이있는 단어가 머리처럼 보이는 발음 구별 부호가있는 단어를 찾아서 입력합니다. 따라서 위의 스크린 샷에서 emacs가 "regexp-quote"를 입력하게 할 것입니다.
아이디어는 인식기가 지속적으로 인식하는 유한 한 단어 세트를 사용하여 화면에 이미 사용 된 단어를 참조 할 수 있다는 것입니다.
때로는 충돌이있는 경우를 제외하고는 꽤 잘 작동합니다. 이를 위해 단어의 md5 해시에서 바이트를 사용하는 대신 (random)
알고리즘이 충돌을 피할 수 있도록 변경 사항을 할당하는 것과 동일한 방식으로 단어를 일관되게 참조하는 방법을 배울 수 있습니다 . 나는 쉽게 구별 할 수있는 6 가지 색상 (밑줄이 하나의 문자 너비와 단일 픽셀 두께 일 때 어렵습니다)과 쉽게 구별 할 수있는 발음 구별 표시 3 개 (서로 구분하기 쉽고 위의 밑줄과 혼동 할 수 없음)를 발견했습니다. 위의 소스 상단에서 볼 수 있습니다.
충돌 빈도를 줄이기 위해 렌더링을 변경하는 더 많은 방법이 필요합니다. 이상적으로 렌더링 수정은 다음과 같습니다.
- 텍스트의 나머지 부분에서 부주의하지 마십시오. 이로 인해 예를 들어 in-video 속성을 무시했습니다.
- 다른 변경 사항과 쉽게 혼동되지 않습니다. 오버 라인은 이전 라인의 밑줄로 쉽게 착각됩니다. 글꼴 크기가 비실용적으로 크지 않으면 많은 분음 부호가 비슷해 보입니다.
- 다른 변화가있는 곳에 공간적으로 가까이 있어야합니다. 지금 내 눈이 타겟팅 캐릭터를 찾으면 모든 정보, 마커, 밑줄 및 글자가 있습니다.
- 분음 부호를 올바르게 렌더링하는 고정 너비 글꼴 (코딩에 필요)을 사용하여 잘 작동합니다 (마크가 올바르게 렌더링되도록 Consolas에서 DejaVu Sans Mono로 전환해야 함)
- 라틴 알파벳 문자로 작업하십시오. 예를 들어 아랍어 결합 표시가 있지만 라틴 알파벳 문자에는 결합되지 않습니다.
- 글자 색상은 이미 구문 강조 표시에 사용되고 있기 때문에 변경하지 마십시오.
- emacs lisp를 가진 emacs에서 실제로 할 수있다;)
어쩌면 새로운 가능성을 열어주기 위해 남용 될 수있는 렌더링을 제어하는 특수 유니 코드 문자가 있습니까? 또는 밑줄을 두껍게하여 더 많은 색상을 쉽게 구별 할 수있는 방법은 무엇입니까? 또는 유니 코드 외에 문자 위에 마크를 렌더링 할 수있는 다른 모호한 이맥스 기능?
(char-to-string ?\uFEFF)
이고 다른 문자는 축소 된 대상 문자입니다 크기 때문에 둘 다 맞습니다. 또 다른 아이디어는 라이브러리 emacswiki.org/emacs/VlineModevline.el