본문 바로가기

무언가 만들어보기7

GPT로 앱을 만들어 보자 1. 서Chat GPT를 모르는 사람은 이제는 없을 것이다. 그정도로 GPT는 지금까지 엄청난 포스를 보여주었다. 물론 할루시네이션과 같이 미흡한 부분이 여전히 존재하긴 하지만, GPT가 보여주는 퍼포먼스와  함께 그 발전속도를 생각하면 앞으로가 더욱 무시무시하지 않을까 싶다. 새로운 모델이 발표될 때 마다 나오는 "이번엔 어떤 스타트업이 망할까?"라는 질문은 결코 호들갑이 아닌 현재진행중인 이야기이다. 각설하고, 몇년전에 간단한 애플리케이션을 만들어 보려 한 적이 있다. 당연하게도 제로베이스 상태에서 애플리케이션을 만든다는 것은 쉽지 않은 일이었다. 안드로이드 앱을 만들려면 생소했던 코틀린 언어, 안드로이드 스튜디오와 같은 프로그램을 다룰 수 있어야 했고, 그 높은 장벽으로 인해 '나만의 앱 만들기'는.. 2024. 9. 5.
펭귄맨 : 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.