들을 수 없는 영어 대사를 여러 번 듣는 방법

마지막 기사는 애니메이션에서 영어를 듣는 방법을 썼습니다.
[스포일러 주의] 애니메이션으로 시작하는 영어 듣기

듣기를 하면 어려워서 들을 수 없는 대사는 반드시 나오지요. 대사가 길거나 말하는 속도가 빠르거나.

그런 대사를 여러 번 여러 번 듣고 싶다. 그것도 간편하게.

그래서, 그런 코드를 써 보았습니다.

상황



우선 영어의 음원입니다만, 영어의 음성 파일(mp3라든지)이라든지 동영상 파일(mp4라든지)이 Mac에 들어가 있는 상태를 상정합니다. 그런 다음 명령줄에서 명령을 두드리면 파일의 특정 위치에 있는 대사가 재생됩니다. Mac이 아니라 Windows에서도 똑같이 움직인다고 생각하고, 거기는 적당히 읽어 주세요.

우선 설명에 사용할 수 있는 음원을 준비해 본다



인터넷에서 다운로드할 수 있는 영어 음원을 구그 하고 있으면, 이런 사이트를 발견했습니다.

오 dMP4. 작은 m



뭔가 수상한군요. 권리라든지의 문제는 제대로 하고 있습니까?

확실하지 않지만 먼저 맨 위 실용 영어 회화 문구 1000 듣기(일·영어 음성 첨부)에서 mp4 파일을 다운로드합니다.

mplayer



그런 다음 Mac 에 명령줄에서 사운드나 동영상을 재생하는 mplayer 를 설치합니다.
$ brew install mplayer

mplayer 는 옵션에 개시 시간과 재생 초수를 지정하는 것으로, 특정의 장소의 소리를 재생할 수 있습니다.
$ mplayer -novideo -ss 00:00:10 -endpos 5 english.mp4
-ss는 시작 시간이고 -endpos는 재생 시간입니다. -novideo 는 파일이 동영상일 경우 소리만 재생해 주는 옵션입니다.

원하는 부분을 재생하도록 코드 작성



일일이 긴 옵션을 작성하고 실행하는 것은 번거롭기 때문에 쉽게 재생할 수있는 코드를 작성합니다.

play.py
# -*- coding: utf-8 -*-
import os
import sys


soundFile = "english.mp4"
soundList = [
    ["00:00:04", "8"],      # 私もそう思った
    ["00:00:14", "10"],     # あなたはどのように休みを過ごしましたか?
    ["00:00:25.5", "9.5"],  # 彼女はますます美しくなりました。
]


def playMplayer(file, seekTile, playTime):
    # -ss 開始時間を HH:MM:SS で指定
    # -endpos 再生時間を秒で指定
    os.execvp("mplayer", ["mplayer", "-novideo", "-ss", seekTile, "-endpos", playTime, file])

    # Ctrl+C でターミナルの表示が崩れるので os.execvp に変更した
    #cmd = "mplayer -novideo -ss {} -endpos {} {}".format(
    #    seekTile, playTime, file)
    #subprocess.call(cmd, shell=True)

def play(no):
    sound = soundList[no]
    playMplayer(soundFile, sound[0], sound[1])


def main():
    no = int(sys.argv[1])
    play(no)


if __name__ == "__main__":
    main()

다운로드한 파일을 english.mp4로 바꾸어 같은 디렉터리에 이 코드를 두고 실행하면 이런 느낌으로 소리가 납니다.
$ python3 play.py 0

↓音が鳴る
私もそう思った。
That's the way I look at it, too.
$ python3 play.py 2

↓音が鳴る
彼女はますます美しくなりました。
She became more and more beautiful.

결론



매우 귀찮습니다

좋은 웹페이지 즐겨찾기