구몬 스마트펜에 유튜브(Youtube) 음원 넣기
육아를 하다보니 얼떨결에 구몬 스마트펜이 생겼습니다. 세이펜은 워낙 유명해서 몇 번들어본 적이 있는데 갑자기 건내 받은 이 것은 처음이라 이것저것 사용해 보았습니다.
세이펜에도 있는 찍으면 소리나오는 기능도 있고, 녹음하기, 음원재생도 됩니다.
스마트펜과 호환되는 책은 없어 음원재생을 사용을 해보았는데 자그마한 물건에서 나오는 소리에 아기가 좋아합니다.
하지만 동화 음원이 3개 밖에 없어 곧 지겨워 해서 집에 있는 스마트 스피커로 Youtube에 있는 라인프렌즈 동화를 들려주니 아기가 다시 좋아하기 시작합니다. 스마트 스피커는 배터리가 없어서 이동이 안되어 한계를 느끼던 찰나 이 음원을 스마트펜에 넣으면 아기가 좋아할 것 같아 바로 시도를 해보았습니다.
0. 준비물
- 구몬 스마트 펜
- 파이썬 3.8 혹은 이상
- 파이썬 프로그래밍을 이해할 수 있는 지식
- ffmpeg
- exiftool
우선 구몬 스마트펜을 PC에 연결합니다.
들어가자마자 보이는 MP3 폴더가 우리가 음원을 넣을 곳 입니다.
1. 유투브 음원을 다운로드 받기
사용할 음원을 우선 선정합니다. 저는 아래에 있는 라인프렌즈 명작동화 플레이리스트를 선택했습니다.
https://www.youtube.com/playlist?list=PLtTSER1U4AE5ZhxWfvfLeQ9bhOD2vg-HQ
[어린이명작동화] 오디오북|명작동화|오디오동화모음|전래동화|라인프렌즈키즈
#라인프렌즈키즈 #어린이동화 #오디오북 #소리동화 #명작동화
www.youtube.com
그리고 Youtube를 다운받기위한 pytube 라이브러리도 사용합니다.
pytube — pytube 12.1.3 documentation
© Copyright Revision da3141f3.
pytube.io
우선 라이브러리 부터 설치 해줍니다.
python -m pip install pytube
아래와 같은 python 코드를 작성해줍니다.
Playlist의 파라메터는 Youtube 플레이리스트를 그래도 넣어주시면 됩니다.
from pytube import Playlist
from pytube import YouTube
pl = Playlist("https://www.youtube.com/playlist?list=PLtTSER1U4AE5ZhxWfvfLeQ9bhOD2vg-HQ")
for url in pl.video_urls:
print("download url: " + url)
yt = YouTube(url, use_oauth=True)
yt.streams.filter(only_audio=True).first().download()
만약 플레이리스트가 아닌 단일파일만 받고 싶으시면 아래와 같이 바꿔주시면 됩니다.
from pytube import YouTube
url = "유투브링크"
yt = YouTube(url, use_oauth=True)
yt.streams.filter(only_audio=True).first().download()
이제 파일을 저장하고 실행을 하면 아래와 같은 메시지가 나오고 진행이 되지 않습니다.
Please open https://www.google.com/device and input code ***-***-***
Press enter when you have completed this step.
메시지의 지시대로 크롬을 열고 https://www.google.com/device
접속 후 위와 같은 화면이 나오면 ***-***-***로 되어 있는 부분의 코드를 그대로 복사해서 넣어줍니다.(구글 계정 로그인이 되어 있지 않다면 구글 로그인 화면이 먼저 나올 수 있습니다.)
다시 파이썬 실행되는 화면으로 돌아와 엔터키를 누르면 다운로드가 진행됩니다.
python을 실행한 폴더에 다운로드 받아진 mp4파일들이 있는 것을 볼 수 있습니다.
다운로드가 완료되면 ffmpeg과 exiftool을 설치해줍니다.
ffmpeg 다운로드 페이지
https://ffmpeg.org/download.html
Download FFmpeg
If you find FFmpeg useful, you are welcome to contribute by donating. More downloading options Git Repositories Since FFmpeg is developed with Git, multiple repositories from developers and groups of developers are available. Release Verification All FFmpe
ffmpeg.org
exiftool 다운로드 페이지
ExifTool by Phil Harvey
0 (Information Type) AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15, APP2, APP3, APP4, APP5, APP6, APP8, ASF, Audible, CanonVRD, Composite, DICOM, DNG, DV, DjVu, Ducky, EXE, EXIF, ExifTool, FITS, FLAC, FLIR, File, Flash, FlashPix, Font, Fo
exiftool.org
윈도우 버전은 실행파일을 받으면 되고
Mac이나 Ubuntu는 brew나 apt를 사용하시는게 편합니다.
# MAC OS 설치
brew install ffmpeg exiftool
# Ubuntu 설치
sudo apt install ffmepg exiftool
맥 M1의 경우 Roseta 2관련 에러가 발생하므로 아래를 추가 참고해주시며 됩니다.
How to run the Homebrew installer under Rosetta 2 on M1 Macbook
I'm on the M1 MacBook. This is the error when I try to install Homebrew: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" Homebrew is not...
stackoverflow.com
다시 아까 다운로드 받은 mp4음원으로 돌아와서 exittool로 어떤 오디오 속성인지 확인해줍니다.
exiftool 음원파일
제가 받은 파일은 mp4파일인데 실제 파일은 m4a인것을 확인 할 수 있습니다.
이 파일을 그대로 구몬 스마트펜에 넣으면 지원되지 않는 포멧이라 재생이 되지 않습니다.
다시 Python을 이용해 mp3파일로 변환을 하여 넣어주어야 합니다.
import glob
import os.path
from pydub import AudioSegment
files = glob.glob("*.mp4")
for x in files:
if not os.path.isdir(x):
filename = os.path.splitext(x)
try:
os.rename(x,filename[0] + '.m4a')
except:
pass
print("converting file: " + filename[0])
m4a_audio = AudioSegment.from_file(filename[0]+'.m4a', format="m4a")
m4a_audio.export(filename[0]+'.mp3', format="mp3")
os.remove(filename[0] + '.m4a')
python으로 실행합니다. 파일이 많으면 시간이 좀 오래 걸립니다.
완료 되면 폴더의 모든 mp4파일이 mp3로 바뀐것을 확인 할 수 있습니다.
다시 exiftool로 음원을 확인합니다. 파일 타입도 mp3로 바뀐 것을 확인 할 수 있습니다.
mp3파일을 스마트펜의 MP3폴더 안으로 복사하여 넣고 재생하면 끝.