무언가 만들어보기/펭귄맨6 펭귄맨 : Spectrogram의 이해 1. 서 이번 포스팅에서는 그동안 계속 언급해온 Spectrogram에 대해 알아보는 시간을 갖는다. 가장 중요한 것은 왜 spectrogram을 입력으로 해야하는지 명확히 인지하는 것이다. 음악은 단순한 소리의 연속을 넘어서 복잡한 구조와 패턴을 갖고 있기 때문에 소리를 수치화하고 시각화하는 과정이 필수적이다. 이러한 과정에서 spectrogram이 어떤 역할을 할 수 있을지를 중심으로 알아보기로 하자. 2. 오디오 스펙트럼(Audio Spectrum) 스펙트럼은 여기저기서 많이 들어본 단어이다. 대표적으로 뉴턴이 프리즘으로 했던 빛의 스펙트럼 실험이 있다. 우리가 다루는 것은 오디오 스펙트럼인데, 오디오 스펙트럼은 음향신호를 주파수와 진폭으로 분석하여 나타낸 것이다. 지난 포스팅에서 Can't Hel.. 2024. 4. 14. 펭귄맨 : 음원의 푸리에 해석 1. 서 펭귄맨은 '음원파일을 넣어주면 악보를 내놓는다'는 프로젝트지만, 딥러닝 모델에 mp3와 같은 파일을 직접 넣어 줄 순 없고, 어떤 변환을 통해 수치화시켜준 이후에야 input이 될 수 있다. 그리고 이러한 input으로 지금 유력하게 생각하고 있는 것이 바로 Spectrogram이다. 당연히 한번도 다뤄본적이 없기 때문에, 이 Spectrogram이 무엇인지 이해하는 시간을 먼저 갖기로 한다. 그리고 이를 위해 선행적으로 알고 있어야 하는 파동 및 푸리에 변환의 개념을 이번 포스팅에서 다룬다. 2. 음파의 파형 소리(=음파)는 파동이다. 고등학교 물리시간때 배우는 것 처럼 파동은 파장과 진폭, 진동수 정도를 주요개념으로 하고 있다. 기억할 것은 소리의 진폭이 커지면 소리의 크기가 커진다는 것과,.. 2024. 4. 12. 펭귄맨 : MusicXML의 이해 1. 서 본 프로젝트에서는 MusicXML 형식의 파일을 다루는 것이 큰 비중을 차지하고 있다. MusicXML 형식이 어떤 구성으로 이루어졌는지부터 파악해야 분류할 타겟을 정할 수 있고 그에 따라 데이터셋을 제작할 수 있기 때문에, MusicXML 파일의 형식과 구성을 이해하는 것으로 프로젝트를 시작한다. 2. MusicXML 이란 MusicXML은 이름에서 알 수 있듯이 XML을 기반으로 하는데, 음악 악보의 디지털 표현을 위한 표준 파일 포맷 중 하나이다. 줄글로 설명하는 것은 큰 의미가 없을 테니, 직접 MusicXML 형식의 파일을 제작해 보았다. 위 악보는 엘비스 프레슬리의 Can't Help Falling In Love의 시작부분 5마디를 MuseScore3로 나타낸 것이다. 5마디 밖에 되.. 2024. 4. 10. 펭귄맨 : GitHub 세팅 - part 2 1. 서 part1에 이어 GitHub 세팅을 마무리 해보자. part1에서는 1) 로컬 저장소를 생성하여 원격저장소와 연동을 시켰고, 2) commit template을 설정하였으며 3) issue 생성 부터 commit과 push, pull request 그리고 develop 브랜치에서 main 브랜치로의 merge까지 이어지는 한 사이클을 수행해 보았다. part2에서는 1) git ignore, 2) issue 및 PR template 설정 , 3) pre-commit 을 이어서 진행한다. 일단 issue 생성부터 하고 시작해보자. 2. GitHub 세팅 프로세스 (part 1에 이어서) (1) git ignore 파일 추가 .gitignore 파일은 깃 버전 관리에서 제외할 파일을 지정하는 설정.. 2024. 4. 8. 펭귄맨 : GitHub 세팅 - part 1 1. 서 깃(Git)은 분산형 버전 관리 시스템이다. '분산형'의 핵심은 원격 저장소와 로컬 저장소가 분리되어 개발자들이 독립적으로 작업할수있고, 필요시 원격저장소와 동기화하여 협업이 가능하다는 점에 있다. 그동안 로컬의 변경사항을 원격저장소에 push하거나 원격 저장소의 변경 사항을 로컬로 pull해왔던 것은 분산형 버전 관리 시스템의 특성에서 비롯된 것이다. 그리고 깃헙(GitHub)은 이러한 깃을 기반으로 하는 웹 호스팅 서비스인데, 원격 저장소의 역할을 수행하고 협업을 위한 다양한 툴을 제공한다. 개발자에게는 협업이 매우 중요한데, 깃헙은 이러한 협업에 필수적인 플랫폼이다. 개발자들은 포트폴리오나 이력서에 자신의 깃헙 주소를 명시해놓음으로써 자신의 전문성과 프로젝트 경험 및 협업능력을 보여준다. .. 2024. 4. 8. 이전 1 2 다음