P5.js 사운드처리
사운드처리의 기초부터 머신러닝 및 하드웨어 제어까지 사운드처리를 최대로 활용해 봅시다.
우리의 일상 생활은 항상 주위의 소리, 잡음, 음성, 음악 등 다양한 사운드에 둘러싸여 있고 우리의 삶을 지치게도 하고 활력을 불어넣기도 합니다. 이처럼 사운드는 우리의 청각기관으로 들어오는 친숙하고 중요한 자극 중 하나이지만 이를 공학적인 관점에서 분석하고, 만들고, 처리하고, 시각화하는 전 과정을 코딩으로 구현하는 방법에 대해 알려주는 서적은 국내·외로 흔하지는 않습니다. 본서에서는 코딩 입문자의 관점에서 사운드처리를 쉽게 다룰 수 있도록 기초부터 심화까지 단계적으로 안내함으로써 누구나 사운드처리를 활용할 수 있도록 지원합니다. 인공지능이나 4차 산업혁명과 연관지어 사운드처리의 중요성을 언급하기에 앞서 순수하게 사운드처리의 재미에 빠져 인생을 낭비해 보는 것도 의미있는 일이라고 생각합니다.^^
본서는 사운드처리의 어려운 이론부터 말하지 않습니다. p5.js 기반의 간단한 실습 예제에서 시작하여 사운드처리의 단계별 실습을 제시함으로써 입문자 스스로 응용할 수 있도록 가이드해 줍니다. 본서를 통해 p5.js가 가진 쉬운 코딩 환경 및 시각적인 출력의 장점을 사운드처리에 접목함으로써 누구나 쉽게 사운드처리 분야에 접근할 수 있도록 진입 문턱을 낮추고 있습니다.
본서의 Ⅰ부에서는 사운드처리를 위한 코딩의 기본으로 p5.js를 연습합니다. p5.js는 자바스크립트 언어로 되어 있지만, 본서에서는 특정 언어에 국한하지 않고 C, C++, 자바, 자바스크립트, 파이썬 등과 같은 여러 코딩 언어들의 공통분모 다섯 가지(→변수, 조건, 반복, 배열, 함수)를 코딩의 기본으로 실습합니다. Ⅱ부는 사운드처리의 기초 과정으로 사운드 입·출력, 다양한 오실레이터 및 사운드의 합성 원리를 실제 코딩해 봅니다. Ⅲ부는 사운드처리의 심화 과정으로 주파수 분석, 음향효과, 사운드 시각화 및 머신러닝을 코딩으로 구현해 봅니다. 마지막 Ⅳ부는 p5.js와 아두이노의 연동으로 사운드처리와 하드웨어 연계를 실습을 통해 구현해 봅니다. 이와 같이 기초에서 응용까지 단계별 실습을 통해 코딩 입문자도 본인의 프로젝트에 사운드처리를 적극 활용할 수 있도록 지원합니다.