Study project(mandatory) 00. 1st week
오랜만에 여기에 뭔가 포스팅해본다...
졸업하려면 스터디 프로젝트 필수로 수강해야하는데 드디어(...)
참고로 작년에는 말도안되는 주제 받고 광탈함 ㅋㅋ
아마도 작업일지나 아이디어노트 비슷한게 될것 같음
저번에 혼자서 해보던게 웹 크롤링이었는데 운명적이게도 웹 크롤링과 관련된 주제를 받음
그치만 아마도 첫번째 과제 이후에는 크롤링 안할듯 ??
주제는 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 공부를 더 해보고는 있는데 아직도 감이 안옴 이게 도대체 왜 필요한거여
FFT에 관한 몇 가지 사항을 정리해 봅시다…
www.nti-audio.com
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개 받을 수 있는 코드?(불완전)
ㅎㅏ... 진작에 괜찮은 링크 백업 했어야 했는데 오늘 방문기록 보다가 통째로 지워버림 내자신이 똘추같고....