moviepyでAttributeError: module 'moviepy.audio.fx.all' has no attribute 'audio_fadein'エラーへの対応

エラー内容

AttributeError: module 'moviepy.audio.fx.all' has no attribute 'audio_fadein

解決方法

from moviepy.editor import *

上記のように一括でインポートするのをやめて、必要なものだけ個別にインポートすることで解決できます。
例えば、VideoFileClipのインポートであれば、下記のように行います。

from moviepy.video.io.VideoFileClip import VideoFileClip

使いそうなものを下記に列挙しておきます。

from moviepy.audio.fx.audio_fadein import audio_fadein
from moviepy.audio.fx.audio_fadeout import audio_fadeout
from moviepy.audio.fx.audio_left_right import audio_left_right
from moviepy.audio.fx.audio_loop import audio_loop
from moviepy.audio.fx.audio_normalize import audio_normalize
from moviepy.audio.fx.volumex import volumex
from moviepy.video.fx.accel_decel import accel_decel
from moviepy.video.fx.blackwhite import blackwhite
from moviepy.video.fx.blink import blink
from moviepy.video.fx.colorx import colorx
from moviepy.video.fx.crop import crop
from moviepy.video.fx.even_size import even_size
from moviepy.video.fx.fadein import fadein
from moviepy.video.fx.fadeout import fadeout
from moviepy.video.fx.freeze import freeze
from moviepy.video.fx.freeze_region import freeze_region
from moviepy.video.fx.gamma_corr import gamma_corr
from moviepy.video.fx.headblur import headblur
from moviepy.video.fx.invert_colors import invert_colors
from moviepy.video.fx.loop import loop
from moviepy.video.fx.lum_contrast import lum_contrast
from moviepy.video.fx.make_loopable import make_loopable
from moviepy.video.fx.margin import margin
from moviepy.video.fx.mask_and import mask_and
from moviepy.video.fx.mask_color import mask_color
from moviepy.video.fx.mask_or import mask_or
from moviepy.video.fx.mirror_x import mirror_x
from moviepy.video.fx.mirror_y import mirror_y
from moviepy.video.fx.painting import painting
from moviepy.video.fx.resize import resize
from moviepy.video.fx.rotate import rotate
from moviepy.video.fx.scroll import scroll
from moviepy.video.fx.speedx import speedx
from moviepy.video.fx.supersample import supersample
from moviepy.video.fx.time_mirror import time_mirror
from moviepy.video.fx.time_symmetrize import time_symmetrize

参考

AttributeError: module 'moviepy.audio.fx.all' has no attribute 'audio_fadein' · Issue #591 · Zulko/moviepy · GitHub

How to be efficient with MoviePy — MoviePy 1.0.2 documentation

Ubuntu20.04 LTSでjlistingを使う

LaTexのデフォルトだとjlistingが使えないので、導入します。

まずは↓のサイトからjlisting.sty.bz2をダウンロード。

osdn.net

これを解凍したjlisting.sty/usr/share/texlive/texmf-dist/tex/latex/listing/に移動させる。

その後下記コマンドを実行すれば完了。

$ sudo mktexlsr

Ubuntu20.04 LTSでTex環境の最小構成

環境

Ubuntu20.04 LTS

TexLiveのインストール

$ sudo apt install texlive-full

texからpdfに変換

$ platex hoge.tex
$ dvipdfmx hoge.dvi

次のステップ

このままだと、jlistingを使えないので下記の方法でインストールしておくのがおすすめ。

tmls.hatenablog.com

参考

Ubuntu上のtex文書にjlistingパッケージを使ってソースコードを掲載する - Qiita

UbuntuでコマンドラインからYouTube動画をダウンロード

youtube-dl

youtube-dlというのをいれます。

sudo pip3 install --upgrade youtube_dl

※aptでインストールするとバージョンが低いので、上記の方法をおすすめします

使い方

下記コマンドでリンク先の動画をダウンロードできます。

youtube-dl 'https://www.youtube.com/watch?v=hogehoge'

ダウンロード可能なフォーマットは-Fで一覧表示できます。

youtube-dl -F 'https://www.youtube.com/watch?v=hogehoge'

さらに、表示されたformat codeを指定することで好きなフォーマット(mp4, m4a等)でダウンロードできます。

youtube-dl -f 18 'https://www.youtube.com/watch?v=hogehoge'

参考

youtube-dl

Ubuntuにfishをいれる

fishはターミナルでコマンドの予測候補を出してくれたり、カッコいいテーマに変更してくれるプラグインです。

↓こんな感じになります。

f:id:tmls:20201203211207p:plain

f:id:tmls:20201203211009p:plain

環境

Ubuntu20.04 LTS

インストール

fish

下記のコマンドでインストールできます。

sudo apt-add-repository ppa:fish-shell/release-3
sudo apt-get update
sudo apt-get install -y fish

これで、コマンドの予測候補が表示されるようになったと思います!

fisher

もっと使いやすくするために、fishのプラグインマネージャであるfisherを導入しましょう。

curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish

そして、fish install <リポジトリ> というコマンドでfishのテーマやプラグインをインストールすることができます。

例えば、下記のコマンドではbobthefishというテーマをインストールしています。

fish install oh-my-fish/theme-bobthefish

テーマはこのあたりから探しましょう。

ちなみに、本記事の冒頭にあるレトロなテーマはgruvboxというテーマで、↓です

github.com

フォントのインストール

いくつかのテーマはpowerlineフォントでないと正しく表示されません。
これが結構多いので、インストールしておきましょう。

下記のコマンドでインストールできます。

sudo apt-get install fonts-powerline

あとはターミナルの設定から、powerlineのフォントを選択しましょう。

参考

fishshell.com

qiita.com

UbuntuでOverwatchをプレイする

Lutrisのインストール

Ubuntu上でWindowsのゲームを管理&プレイ出来るツールとしてLutrisがあります。
まずは、こちらをインストールします。

sudo add-apt-repository ppa:lutris-team/lutris && sudo apt update
sudo apt install lutris

必要なファイルのインストール

battle.netの起動に必要なライブラリをいくつかインストールします。
既に入ってるかもしれませんが、一応確認しておきましょう。

sudo apt install ibgnutls30:i386 libldap-2.4–2:i386 libgpg-error0:i386 libsqlite3–0:i386

Battle.netをインストール

インストールしたLutrisを起動してください。
下記ような画面が表示されたら、左のLutrisをクリックして上の検索窓でBattle.netと検索しましょう。

f:id:tmls:20201129182949p:plain

出てきたBlizzard Battle.netをクリックして、出てきたウィンドウでインストールを押すとインストールできます。
基本的にデフォルト設定のままインストールすれば大丈夫だと思います。

完了したらBlizzard Battle.netを起動してください。
(インストールしたものはおそらく左のGamesタブに追加されていると思います。)

既存のゲームフォルダーを選択する

WindowsUbuntuデュアルブートをしてる場合、既にWindowsの方にOverwatchをインストールしてる場合があるかと思います。

その場合は、Blizzard.netの左上の部分をクリックして、Settingを開きましょう。

f:id:tmls:20201129183905p:plain

Game Install/UpdateのタブにあるDEFAULT INSTALL DIRECTORYに既にOverwatchがインストールされたフォルダーを選択します。

f:id:tmls:20201129183926p:plain

私の場合はZ:\media\WindowsDisk\Program Files (x86)\でした。
(Windowsディスクはマウントされている必要があります)

ちなみに、Generalタブでは日本語に変更することが可能です。

いざプレイ!

一度Battle.netを再起動すると、オーバーウォッチがプレイ出来るようになっていると思います!

プレイを押して起動しましょう。
すると左下に「Compiling Shaders」の文字が表示されていると思います。

これは画面描画の準備をしている状態なので、この表示が出ているうちはゲームをプレイせずメニュー画面を眺めていることをおすすめします。

しばらくして「Compiling Shaders」の文字が消えたらすべての準備は完了です!

あとはオーバーウォッチを全力で楽しみましょう!

半分くらいこちらの日本語訳です

medium.com

Windowsの読み取り専用のチェックマークについて

f:id:tmls:20201129095739p:plain

Windowsフォルダーのプロパティを開くと、「読み取り専用 (フォルダー内のファイルのみ)(R)」にチェックが入っています。

しかし、このチェックはデフォルトで必ず入るようになっており、読み取り専用になっているという意味ではないらしい。

デフォルト状態が■のチェック。 f:id:tmls:20201129095946p:plain

一度クリックすると、チェックが消える。 f:id:tmls:20201129100034p:plain

さらにもう一度クリックすると、別の✔マークが出現! f:id:tmls:20201129100012p:plain

とてつもなく分かりにくい。