난독증 DEV? 괜찮아요!

주어진



나는 난독증이 있고 뇌의 매혹적인 변덕인 aphantasia을 앓고 있다는 것을, 내가 독서와 일종의 사랑/증오 관계를 가지고 있다고 상상할 수 있습니다.

한편으로는 소프트웨어 엔지니어링 업계의 뉴스와 트렌드를 따라잡아야 하지만 제가 필요로 하는 심각하고 유용한 정보는 서면 형식으로 되어 있으며 이는 제가 가지고 있는 평균 이상의 집중력 때문에 항상 제reading battery를 소진시킵니다. 앞으로 내놓다.

언제



일광 절약 시간제 주말이 다가오면서 "추가"시간으로 뭔가 유용한 일을 하기로 결정했습니다. 그래서 저와 같은 사람들을 위해 이 상황을 개선하기 시작했습니다.

저는 any article(제 경우에는 영어, 독일어, 루마니아어)의 any language에서 텍스트를 가져와서 mp3 파일로 변환하여 "기사를 듣고"우리의 약함을 소모하지 마십시오 reading battery .

그 다음에



가장 중요한 것 중 하나UNIX principles를 기억했습니다.

"DO ONE THING AND DO IT WELL"



그래서 다음과 같이 도전했습니다.
  • 사용WELL DONE 기존THINGS
  • 셸 스크립트만 작성
  • 31줄 미만 (오늘은 할로윈 🎃 )
  • cli tools , pipes , shell commands
  • 만 사용
  • 1h의 시간 상자 .

  • 🤪



    해냈어! 하지만 이것은 너무나 많은 훌륭한 사람들이 수많은 훌륭한 프로젝트를 개발하고 우리 모두와 공유했기 때문에 가능했습니다. 수많은 소프트웨어가 존재하며 모든 UNIX 기반 OS를 사용하면 원활하게 상호 연결할 수 있습니다. 정말 놀랍습니다.

    결과



    스크립트:




    #!/bin/sh
    # this script does some text editing for the:
    #   $1 - input file
    # and stores it into the:
    #   out-$1 - output file
    # which it then later utilises to CURL to http://localhost:5002/api/tts running:
    #   docker run -it -p 5002:5002 synesthesiam/mozillatts:en
    # you can replace the TAG at the end with any language supported by TTS
    # it will:
    #  - produce a .wav file for each sentance in the outputfile
    #  - join the wav files into a single one
    #  - turn it into a .mp3 file named audio-$1.mp3
    
    cat "$1" | awk -F'\.' '{ for (i=1; i<NF; i++) print $i ".\n" }' | tr "'" "´" |tr "\"" "´" > out-"$1"
    
    input="out-$1"
    while IFS= read -r line
    do
      curl --location --request POST 'http://localhost:5002/api/tts' --header 'Content-Type: text/plain' --data-raw "$line" -o "audio_$(date +%s).wav"
    done < "$input"
    
    ls audio*wav |awk '{print "file " $0}' > wav-list.txt
    
    ffmpeg -f concat -safe 0 -i wav-list.txt -vn -ar 44100 -ac 2 -b:a 128k audio-$1.mp3
    
    rm out-$1
    rm *wav
    rm wav-list.txt
    
    open "audio-$1.mp3"
    


    재료 목록:


  • Mozilla/TTS

  • FFMPEG cli 이것은 Mars 🔴에 갔다
  • UNIX 기반 OS
  • 도커 CLI
  • 위 스크립트

  • 조리법":




     # in your terminal run: 
     docker run -it -p 5002:5002 synesthesiam/mozillatts:en
     # replace the 'en' tag with 'de', 'fr', 'ro' etc.
     # select and copy the text you want to listen to 
     # paste it into a file: `article.txt`
     # save the script as `audiofy.sh` next to the text file
     # in the terminal run:
     sh audiofy.sh article.txt
    


    데모



    데모를 위해 환상적인 README 파일Mozilla/TTS의 스니펫을 사용했습니다.



    soundcloud에서 출력을 들어보십시오. (open in new tab 기능을 사용하면 텍스트를 보고 natural sounding 합성 음성에 감탄할 수 있습니다)

    결론



    이 프로젝트에 대해서만 힘든 설정1h을 했지만 결과가 마음에 들었고 개선을 위해 다시 돌아올 것입니다. 이것을 구현하는 것은 너무 재미있었습니다.

    또한 이 게시물을 작성하는 동안 Google 뉴스 피드에 표시되는 대부분의 뉴스 기사를 스크립트 테스트로 변환했기 때문에 들었습니다.

    시너지: 달성!
    생산성: 증가!
    배터리 읽기: 보호!

    ✌️

    좋은 웹페이지 즐겨찾기