저는 MBTI로 치면 I에 해당하는 내향적인 사람입니다. 물론 이렇게 말하면 주변의 친한 분들 중에는 말도 안 된다고 하시는 분들도 있습니다만 사실입니다. 일단 친해진 분들에게는 E처럼 보이겠지만, 문제는 그 친해지기 위한 시간이 필요한 편입니다. 그리고 언제부터인지, 이제는 SNS에 얼굴을 비추는 것도 꺼리게 되어 스스로의 사진을 찍는 것도 잘 하지 않게 되었습니다.
그런데 얼마 전, .NET Usiverse Unplugged 2025-08이 열린다는 소식을 들었습니다.
그래서 일단 신청은 했지만, 내향적인 제 성격 탓에 모르는 사람들이 우르르 모여 있는 화상 회의에서 카메라 앞에 얼굴을 비추는 게 조금 망설여졌습니다. 그것도 그렇지만, 애초부터 제 PC에 카메라가 없습니다. ㅎㅎ
어쩔 수 없이 그냥 음성으로만 참가하려고 생각하던 중, 가상 카메라를 통해서 뭔가 저만의 개성 있는 영상을 송출하면 좀 더 재밌지 않을까 하는 생각이 들었습니다. 거의 모든 SNS에서 제 얼굴을 대신하고 있는 Vagabond K 엠블럼을 이용해서 마이크 음성 입력에 따른 애니메이션을 만들어 송출하면 재밌지 않을까? 하는 생각이 들었던 것입니다.
그래서 이번에 Speech Visualizer라는 이름으로 토이 프로젝트를 간단히 진행해보게 되었습니다. NAudio를 통한 음성 데이터 수집, WPF를 이용한 애니메이션 적용, Microsoft Media Foundation을 이용한 가상 카메라 송출 등의 기능을 구현했습니다.
물론, OBS Studio를 사용하면 굳이 가상 카메라까지 구현할 필요는 없지만 경험 삼아 직접 구현해보기로 했습니다. 그리고 구현 과정에서 Simon Mourier 님의 VCamNetSample 리포지토리가 아주 큰 도움이 되었습니다.
다음의 영상은 가상 카메라를 통한 실제 구동 영상입니다.
혹시라도 이런 기능이 필요하셨던 분은 GitHub 리포지토리를 참고하시기 바랍니다.
그리고 자세한 구현 과정은 블로그 글에 기록했습니다.
https://blog.naver.com/vagabond-k/223962112483