나는 영상에서 자연 언어 처리용 학습 데이터를 수집하고 싶다...

5375 단어 Python

의 목적


영상에서 대사만 추출하고 문자를 유발한다.

운영 환경


Windows10 Home
Python3.7

사용한 라이브러리 등


youtube-dl
speech_recognition
spleeter 2.1.2
FFmpeg

실행 순서

  • 다양한 설치
  • 목적 애니메이션 취득
  • 애니메이션의 사운드 추출
  • 바코드
  • 1. 다양한 설치


    ⚠️ 나는 파이톤의 환경이 대체로 매우 완벽하다고 생각한다.미안합니다.
    이번에는 pip로 다양한 걸 설치해 주세요.

    유튜브-dl 설치


    유튜브뿐만 아니라 다운로드할 때도 편해요!
    pip install youtube_dl
    

    speech_recognition 설치


    음성 인식 시 당신의 보살핌을 받았습니다.
    pip install SpeechRecognition
    
    
    ↓ Pyaudioも欲しい ↓
    pip install pyaudio
    
    설치 확인을 위해 다음 명령을 실행합니다!!!!
    python -m speech_recognition
    
    뭐라고 말해!그래서 영어로 말하면...

    인식 결과가 나오면 완성!!!

    spleeter 설치


    보컬, 드럼, 베이스, 소리를 분리할 수 있습니다!!!
    pip install spleeter
    
    설치되었는지 확인하세요!
    spleeter --help
    
    다음 문장이나 help가 나오면 완성!!!
    Usage: spleeter [OPTIONS] COMMAND [ARGS]...
    

    FFmpeg 설치


    소리나 동영상을 사용할 때 자주 볼 수 있어요.
    FFmpeg의 사이트를 굴러서release의 링크에서 자신에게 맞는 다운로드를 선택하세요!

    D와 C의 바로 아래에 release 폴더를 만들면 앞으로 수월할 것이다.
    ※ 시스템 환경 변수가 Path를 통과하길 바랍니다!!!

    2. 비디오 가져오기


    유튜브-dl로 애니메이션을 만들어라!
    youtube-dl (DLする動画のURL) -x -f "bestaudio" --audio-format wav --audio-quality 0
    
    이것을 실행하면 wav 형식으로 고음질 다운로드가 진행됩니다.
    옵션 설명
  • -x or-extract-audio→사운드만 다운로드
  • -f or--format "piypopiyo"→ 파일 형식 지정 가능상세한 상황은 여기에 있다
  • - audio-format→download 형식 지정
  • --audio-quality→음질 지정 가능(0~9작을수록 높은 음질)
  • 다른 것도 있는 것 같아.

    3. 영상에서 소리 추출


    spleeter를 사용하여 영상 속의 소리를 추출합니다!
    추출이라기보다는 분할이다.
    spleeter separate (分割したいファイルへのPath) -o (出力先のPath) -p spleeter:2stems
    
    이렇게 하면 소리가 보컬과 accompaniment로 나뉘어요!
    처음 실행하는 것이 있기 때문에, 자동download의 물건은 약간의 시간이 걸린다.
    옵션 설명
  • -o(출력 목적지Path)→출력 대상 폴더를 지정하십시오

  • - p spleeter: n stems → (n = 2, 4, 5) 분할
  • 2stems → vocal/accompaniment
  • 4stems → vocal/bass/drum/other
  • 5stems → vocal/bass/piano/drum/other
  • ※ 원 애니메이션을 너무 길게 분할하면 처리 과정이 실패할 수 있습니다!!!

    4. 문자 유발


    speech_recognition을 사용하여 실제 텍스트 깨우기
    Python
    import speech_recognition as sr
    AUDIO_FILE = "   " #ここに抽出した音声ファイルのPathを
    
    r = sr.Recognizer()
    with sr.AudioFile(AUDIO_FILE) as source:
        audio = r.record(source)
    print('音声データの文字起こし結果:\n\n', r.recognize_google(audio, language='ja'))
    
    그리고...

    결과 요약


    대체적으로 애니메이션에서 대사만 추출한 다음에 문자를 쓰는 것이 목적이다.
    그러나 문자를 일으킨 결과는 처리할 수 있는 것이 아니다...
    결국 인력으로 쓰기로 했습니다.
    인력 최강!인력 최강!
    좋은 방법이 있다면 꼭 알려주세요.m(_ _)m

    최후


    Qita에 기고한 것은 이번이 처음이다.
    미흡한 점이 많지만 관심 가져주셔서 감사합니다.

    참고 자료


    youtube-dl
    https://github.com/ytdl-org/youtube-dl/blob/master/README.md#readme
    speech_recognition
    https://pypi.org/project/SpeechRecognition/
    spleeter
    https://github.com/deezer/spleeter
    FFmpeg
    https://rikoubou.hatenablog.com/entry/2019/11/07/144533

    좋은 웹페이지 즐겨찾기