Android/App개발2010. 3. 17. 16:23
http://android-developers.blogspot.com/2010/03/speech-input-api-for-android.html

사람들은 그들이 어디에 있건 만질 수 있다는것 때문에 모바일폰을 선호한다. 그것은 단지 통화뿐이 아니라 이메일, 문자, 마이크로블로깅 등등을 이용할 수 있다는 것을 의미한다. 여기에 search by voice와 voice shortcuts이 추가되었다. Android 2.1에 voice-enabled keyboard로 추가하였으며 이는 연결을 유지하는것도 쉽게 해준다. 이제 당신은 메세지를 타이핑하지 않고 작성가능하다. 그냥 keyboard상의 마이크모양 버튼을 누르기만 하면 된다.

우리는 speech기능이 모바일경험의 근본적인 변화를 일으킬수 있다고 믿는다. 우리는 모든 안드로이드 개발자들을 Android SDK을 이용하여 음성입력기능을 통합하는데 관심을 갖도록 초대하고 싶다. 내가 즐겨 사용하는 음성인식기능어플중에 Handcent SMS을 사용하는데 SMS에 대한 답장을 SMS popup window을 tab함으로써 쉽게 할 수 있다.

Speech input integrated into Handcent SMS

Android SDK는 어플개발시 쉽게 바로 사용할수 있도록 해준다. 그냥 sample application 의 코드를 copy-paste하면 된다. 안드로이드는 오픈플랫폼이기 때문에 당신의 어플은 RecognizerIntent을 수신하는 receiver를 등록하여 임의 어떤 음성인식 어플이든지 만들수 있다. 많은 안드로이드 디바이스에 기본적으로 탑재되어 있는 구글의 Voice Search App는 "Speak now" 팝업을 통해 RecognizerIntent에 응답하며 Google의 서버에 오디오를 전송한다-search widget이나 voice-enabled keyboard상의 마이크 아이콘을 선택했을때에도 이 서버가 이용된다(Settings->Applications->Manage applications에서 Voice Search가 설치되어 있는지 확인가능하다)

중요한 한가지 팀: 음성인식을 가능한 정확하게 하려면, 대화에 어떤 단어가 사용되는지에 대해 아는것이 도움이 된다. email이나 SMS메세지 작성시에는 "Mom, I'm writing you this message with my voice!"같은 유형이 적당할것이며 Google Search에서는 "weather in Mountain View"같이 말하는것이 적당할 것이다. 당신은 사용자가 적절한 language model을 요구하는것으로 최고의 경험을 가능하도록 할 수 있다: "free_form"은 dictation, "web_search"는 더 짧은 검색같은 구문에 적당하다.  우리는 Nexus One의 voice keyboard에서 dictation의 정확도를 향상시키기 위해 "free_form"모델을 개발했다. 반면 "web search"모델은 사용자가 음성으로 검색하고자 할때 사용된다.

Google의 서버는 현재 영어, 만다린(중국), 일본어만 지원한다. Web search 모델은 3가지를 모두 지원하며 free-form모델은 영어에만 최적화되어 있다. 앞으로 더 다양한 언어와 정확도를 개선해 나갈것이며 이를 개발자들이 사용할 수 있게 될것이다.


Posted by 삼스
기타/My 40D life2010. 3. 4. 14:04

디시인사이드에서는 가끔 제품의 리뷰 예제 사진에서 색수차 비교 사진을 보여드리고 있습니다. 그런데 도대체 어떤 현상을색수차라고 하는지 잘 모르시는 분들과 이런 색수차 현상은 왜 나타나는 것인지 궁금하신 유저분들을 위해 오늘 강좌를 마련했습니다.

 

1. 색수차 현상이란?

 

 색수차의 사전적 의미로는 '다양한 색의 광선이 서로 다른 각도로 굴절되기 때문에, 동일한 면에 초점을 맺지 못하는 렌즈의 결점'이 라고 되어 있습니다.

 

   이 현상은 일반적으로 역광촬영시나 명암차이가 확연히 드러나는 장면을 촬영할 때 그 경계 부분에서 보통 보라색이나 푸른색으로 번지는 것을 볼 수 있는데, 이런 현상을 색수차 현상이라고 말합니다. 자주 볼 수 있는 예로 실외촬영시 태양의 강한 빛에 의해 물체의 가장자리에 많이 생기는 것을 볼 수 있고, 실내 촬영시에는 인위적인 강한 빛, 즉 형광등이나 조명 등으로 인해 나타나는 것을 볼 수 있습니다.

 

 



2. 색수차는 왜 생기는 걸까?

 

  과학시간에 배우던 프리즘을 생각하시면 이해하기가 쉬울 것 같군요. 유리의 굴절율이 빛의 파장에 따라 다르기 때문에 프리즘은 빛을 받으면 파란색과 빨간색의 초점이 다르게 나타납니다. 이 현상이 프리즘의 분산이며 렌즈의 색수차와 같은 현상입니다.

 

      

 

  렌즈 역시 빛을 받으면 이런 프리즘의 역할을 하게 되어 물체가 색에 따라 번져 보이게 되는데, 이렇듯 빛의 파장에 따른 굴절률의 차이에 의해 수차가 생기는 것입니다.

 


3. 색수차를 없앨 수 있는 방법은?

 

  일반적으로 단일렌즈는 모두 색수차가 있습니다. 그래서 광학기계에 사용되는 렌즈는 단일렌즈를 몇 개 결합하여 각각의 용도에 따라 색수차를 감소시키고 있습니다. 하지만 이 렌즈로도 색수차를 완전히 없앨 수는 없다고 하는군요. 촬영을 하다보면 유난히 색수차 현상이 자주 발생하는 카메라가 있긴 합니다. 하지만 색수차 현상은 렌즈 자체에서 발생하는 문제이기 때문에 특별한 해결 방법이 있다고는 할 수가 없습니다. 제품 자체의 특성이 그렇다면 촬영시 조금 더 신경을 써야 합니다. 색수차를 줄이기 위해서는 조리개를 조여서 촬영하는 것이 도움이 되겠네요. 조리개 조절을 통해 렌즈를 통과하는 광량을 낮추면 빛이 들어오는 양이 적어지게 됩니다.

 

  색수차 현상이 나타나는 것은 특별한 해결 방법이 없기에 보통 촬영 후 이미지를 보정하는데 더욱 신경을 쓰는 경우가 많더군요. 포토샵에서 Image > Adjust > Hue / Saturation을 사용해 간단하게 색수차 현상을 보정할 수가 있습니다. 이 방법은 포토샵 강좌에서 자세히 다루어 드리겠습니다

Posted by 삼스
Android/App개발2010. 2. 23. 21:50

SDK로 App개발시에는 eclipse의 debug기능을 사용할수도 있으나 플랫폼 개발시에는 이런 방법이 안통한다.

이떄 아래 코드처럼 일부러 exception을 발생시킨다음. try catch문을 이용해서 call stack을 찍어주면 해당 함수가 호출될때마다 Logcat에 호출경로를 찍어줍니다.


    @Override
    public void setVolumeControlStream(int streamType) {

        Log.d(TAG, "setVolumeControlStream -> " + streamType);        

        mVolumeControlStreamType = streamType;
      try {
         int c=1; c = c/0;

     } catch(Exception e) {

         e.printStackTrace();    

     }    

    }


Posted by 삼스