selfstudy

Study project(mandatory) 00. 1st week

호무리 2021. 10. 28. 04:50

 

 

오랜만에 여기에 뭔가 포스팅해본다...

졸업하려면 스터디 프로젝트 필수로 수강해야하는데 드디어(...)

참고로 작년에는 말도안되는 주제 받고 광탈함 ㅋㅋ

 

아마도 작업일지나 아이디어노트 비슷한게 될것 같음

 

저번에 혼자서 해보던게 웹 크롤링이었는데 운명적이게도 웹 크롤링과 관련된 주제를 받음

그치만 아마도 첫번째 과제 이후에는 크롤링 안할듯 ??

 

 

주제는 Audio Fingerprinting 이고 이번주 과제는

 1. 자동으로 랜덤한 저작권 프리 음원 100개 저장 - 50개는 유튜브에서 50개는 freemusicarchive에서 저장해야하고 모든 음원이 저작권 프리라는 것이 확실해야 함

2. 음원은 mp3로 저장되고 wav로 변환되어야 함

3. 모든 음원은 sql database에 저장되어야 한다.

 

4. fft 알고리즘 두 가지를 이용하여 frequency domain으로 변환한다. 이 때 알고리즘은 사용자가 취사선택 가능하도록 해야함.

5. 2D, 3D Spectrogram 출력이 가능해야 한다.

6. histogram 출력이  가능해야 한다.

 

7. 위의 기능을 모두 갖춘 툴박스를 만든다.

 

 

 

 

22. Oct

- youtube url로 webm 형식의 파일을 다운받는 코드 작성

-> 이걸 mp4 혹은 mp3로 저장 후 wav로 변환하는 방법??

 

23. Oct

- mp3로 저장하는데 영상 제목을 그대로 가져와 파일 이름으로 지정할 수 있었음(meta info를 가져왔다)

- mp3로 저장하는 동시에 wav로 변환하여 저장함

-> 그러나 유튜브 외에 따로 지정된 페이지에서는 저장할 수 없었음

 

24. Oct

- freemusicarchive에서 음원을 저장함

-> mp3만 저장이 됨...

-> 정확한 다운로드 링크를 사용자가 뽑아줘야만 저장가능함...

- BeautifulSoup 이 웹 크롤링에 쓰인다는건 알겠는데 어떻게 쓰는지 모르겠음;

- sql db 파트는 파트너에게 부탁했다... 신뢰는 안되지만. 그거랑 fft 공부 좀 해달라고 부탁했음

 

25. Oct

- BeautifulSoup을 이용하여 다운로드 가능한 링크를 추출하고 자동으로 해당 페이지의 모든 다운로드 가능한 음원을 mp3로 저장함

- > 근데 또 conversion이 안됨 ㅡㅡ

 

26. Oct

- mp3 > wav로 변환하여 저장됨

-> 근데 50개를 자동으로 찾아주지 못함... 그냥 페이지를 넣어주면 해당 페이지에 있는 음원만 받아줌

- 도대체 fft란 무엇인가 왜 쓰는가

- signal plot 예제 찾아봤지만 이걸 왜 하는지 모르겠음

 

27. Oct

- fft 공부를 더 해보고는 있는데 아직도 감이 안옴 이게 도대체 왜 필요한거여

https://www.nti-audio.com/ko/%EB%89%B4-%EC%8A%A4/fft%EC%97%90-%EA%B4%80%ED%95%9C-%EB%AA%87-%EA%B0%80%EC%A7%80-%EC%82%AC%ED%95%AD%EC%9D%84-%EC%A0%95%EB%A6%AC%ED%95%B4-%EB%B4%85%EC%8B%9C%EB%8B%A4

 

FFT에 관한 몇 가지 사항을 정리해 봅시다…

 

www.nti-audio.com

 

https://www.nti-audio.com/ko/%EB%89%B4-%EC%8A%A4/fft%EC%97%90-%EB%8C%80%ED%95%9C-%EB%AA%87-%EA%B0%80%EC%A7%80-%EC%82%AC%ED%95%AD%EC%9D%84-%EC%A0%95%EB%A6%AC%ED%95%B4-%EB%B3%B4%EA%B2%A0%EC%8A%B5%EB%8B%88%EB%8B%A4

 

FFT에 대한 몇 가지 사항을 정리해 보겠습니다.

여기에서는 두 번째 부분인 FFT 측정의 실제 적용에 도움이 되는 특정측면을 다룹니다. FFT 측정은 수많은 어플리케이션에서 사용 됩니다. 결과는 일반적으로 그래프로 표시되며 해석하기 쉽습니

www.nti-audio.com

 

https://pythonnumericalmethods.berkeley.edu/notebooks/chapter24.02-Discrete-Fourier-Transform.html

 

Discrete Fourier Transform (DFT) — Python Numerical Methods

The copyright of the book belongs to Elsevier. We also have this interactive book online for a better learning experience. The code is released under the MIT license. If you find this content useful, please consider supporting the work on Elsevier or Amazo

pythonnumericalmethods.berkeley.edu

https://jakevdp.github.io/blog/2013/08/28/understanding-the-fft/

 

Understanding the FFT Algorithm | Pythonic Perambulations

We are over 1000 times slower, which is to be expected for such a simplistic implementation. But that's not the worst of it. For an input vector of length $N$, the FFT algorithm scales as $\mathcal{O}[N\log N]$, while our slow algorithm scales as $\mathcal

jakevdp.github.io

 

https://gist.github.com/lukicdarkoo/1ab6a9a7b24025cb428a#file-fft-py

 

Basic implementation of Cooley-Tukey FFT algorithm in Python

Basic implementation of Cooley-Tukey FFT algorithm in Python - fft.py

gist.github.com

 

https://docs.scipy.org/doc/scipy/reference/tutorial/fft.html

 

Fourier Transforms (scipy.fft) — SciPy v1.7.1 Manual

Press, W., Teukolsky, S., Vetterline, W.T., and Flannery, B.P., 2007, Numerical Recipes: The Art of Scientific Computing, ch. 12-13. Cambridge Univ. Press, Cambridge, UK.

docs.scipy.org

 

 

- qna session에서 나온 얘기

: 유튜브 다운로더도 아예 자동화를 시켜야함. 랜덤하게 저작권 프리 음악을 저장한다는게 메인 골이고 freemusicarchive같은 경우도 아예 메인 페이지에서 랜덤하게 찾아들어가서 받도록 하는게 가장 베스트가 될 듯

: fft brings audio to set of frequency to use Fourier algorithm.

 

-> 따라서 유튜브 다운로드의 베이스 url을 https://www.youtube.com/results?search_query=license+free+music로 로 주고 받을 수 있게끔 하는게 가장 좋지 않을까? 50개 리밋도 걸어서

-> freemusicarchive.org 의 경우 https://freemusicarchive.org/music/charts/all?pageSize=50 < 아예 올타임 차트를 받게 하는게 괜찮을지도

 

 

https://manpages.ubuntu.com/manpages/artful/en/man1/youtube-dl.1.html

 

Ubuntu Manpage: youtube-dl - download videos from youtube.com or other video platforms

Powered by the Ubuntu Manpage Repository, file bugs in Launchpad © 2019 Canonical Ltd. Ubuntu and Canonical are registered trademarks of Canonical Ltd.

manpages.ubuntu.com

- 유튜브 다운로더 파이썬3에 맞게 살짝 고침

- 유튜브 다운로더 - "license free music" 검색해서 자동으로 n개 받을 수 있는 코드?(불완전)

 

 

 

ㅎㅏ... 진작에 괜찮은 링크 백업 했어야 했는데 오늘 방문기록 보다가 통째로 지워버림 내자신이 똘추같고....