iPhone용 귀여운 음성변조 어플리케이션 Talking Pet

개발/iPhone 프로그래밍 2009/11/04 00:28
iPhone용 귀여운 음성변조 어플리케이션 Talking Pet

사용자 삽입 이미지
해적의 어깨 위에 앉아 있는 앵무새와 같은 어플리케이션이 있으면 어떨까 하는 생각에서 시작해서 만들어진 음성변조 어플리케이션. 처음에는 단순히 새 한마리가 화면에 달랑 있고 그 새가 말을 따라한다는 아이디어였으나 동일한 어플리케이션이 이미 App Store에 있다는 것을 알게 된 후 이러저러한 기능이 붙어 덩치가 커져버렸다.

사용자 삽입 이미지


기본적인 동작 기능:
- 가만히 있을 때는 혼자서 돌아다니기, 점프하기, 하품하기 등
- iPhone을 옆으로 기울였을 때는 기울인 방향으로 넘어지려고 하기
- iPhone을 흔들었을 때는 눈이 뱅글뱅글 돌면서 어지러워하기

음성변조 기능:
- 화면 한번 터치했을 때: 가운데로 걸어와서 귀기울여 듣는다. 이때 마이크에 말을 하면 녹음이 된다. 귀 기울이는 동작 후 3초 간 마이크에 아무 입력이 없으면 녹음이 취소된다. 말을 멈추면 알아서 녹음이 정지되고 들은 말을 귀여운 목소리로 재생한다.
- 화면 두번 터치했을 때: 가장 최근에 녹음된 소리를 귀여운 목소리로 재생한다.
- 화면 세번 터치했을 때: 최근 녹음한 10개의 소리를 저장하고 있다가 랜덤으로 귀여운 목소리로 재생한다.

캐릭터 선택: 현재는 총 2개의 캐릭터. 많이 팔리면 캐릭터 늘릴 예정, -_-
- 소위 박스새. 파랑새였으나 머리가 박스라 박스새라 부른다. 중간 정도 귀여운 목소리.
- 팽귄. 아주 귀여운 목소리.

배경 선택: 현재는 총 3개의 배경. 역시 많이 팔리면 배경 늘릴 예정, -_-


음성변조를 위해 Pitch Shifting 알고리즘 공부해서 구현했는데 iPhone에서는 처리 속도가 실시간으로 변조하기에는 너무 느렸다. 그렇다고 녹음한 내용을 캐릭터 별로 별도의 파일로 저장하기에는 캐릭터가 늘어날 예정이라 낭비가 심하고 결정적으로 녹음한 내용을 바로 재생해야 하는데 변조 시간이 너무 오래 걸리는 것도 문제였다. 그래서 그냥 OpenAL에서 Pitch 값 변경하는 것을 사용했다. OpenAL에서 Pitch 값 변경하는 것은 단순히 재생 속도에 변화를 주는 것이라 다양한 변조를 하기 힘들고 재생 속도가 빨라진다는 단점 때문에 Pitch Shifting 알고리즘을 구현한 것이었는데, 이 점은 너무 안타까운 점이다.


녹음 시 귀기울이는 동작
사용자 삽입 이미지

하품하는 동작
사용자 삽입 이미지

흔들었을 때 어지러워하는 동작
사용자 삽입 이미지

로딩 화면. 현재 선택되어 있는 캐릭터로 로딩 화면이 나오고 발자국이 로딩 진행율.
사용자 삽입 이미지

캐릭터 설정 화면, 박스새. 오른쪽은 소개 동영상이다.
사용자 삽입 이미지

캐릭터 설정 화면, 펭귄.
사용자 삽입 이미지

배경 설정 화면. 작년 여름에 개인적으로 구현한 Coverflow UI를 변형해서 사용했다. Apple에서 아직도 Coverflow UI를 그대로 사용하면 Private API 사용했다고 승인거부하고, 개발자가 Private API가 아니라 스스로 구현한거라고 증명해야 승인해준다고 하길래 약간 변형을 하였다.
사용자 삽입 이미지

캐릭터 소개 동영상 화면.
사용자 삽입 이미지

사용자 삽입 이미지

이건 좀 팔리려나?
top

Trackback Address :: http://www.onlinegamer.co.kr/trackback/311

  1. 제과 2009/11/04 02:02 PERMALINKMODIFY/DELETE REPLY

    몸은 어떠세요?

  2. 호이다 2009/11/04 17:48 PERMALINKMODIFY/DELETE REPLY

    이건 좀 팔릴거 같은데요?

Write a comment


◀ PREV : [1] : ... [24] : [25] : [26] : [27] : [28] : [29] : [30] : [31] : [32] : ... [215] : NEXT ▶