2023/11/30

現在の進捗

編入試験無事合格して、現在卒研と格闘中です。

学会発表があるので、メンタル的に受験シーズンと同等くらいきついです。

ブログは5個位下書きで公開していないものが溜まっているのですが、面倒くさくて手を付けていません。

あと、VSCodeでブログ環境を作ろうと四苦八苦していたのですが、結局mdの互換が上手くいかずブラウザで書く羽目になっています。

やりたいこと・やらないといけないこと

TODO… 卒研データ収集、1,2年への進路活動発表資料制作、卒論、単位落とした科目の再試験対策

want TODO… GCコンの塗装、ブログ制作、AtCoderレート上げ、消えてしまったアプリケーションの制作など

結論

編入試験終わってから、やりたいことをできてない気がする。授業終わったら友達とスマブラするだけ。忙しくなる前にせめて上のリストの1個は完遂出来たらいいな。

調味料こんだけでこんなうめえの?混ぜるだけ、1皿50円で鬼ウマい【虚無パスタ2】 - YouTube

 

 

flacファイルをm4aにタグなどすべて変換したい(Python)

ipadで音楽を聴く際、flacファイルを利用できないことがあったのでそれを根本的に解決しようということでpythonを使用してコードを書いてみました。

ちなみに変換先のファイルはmp3にすることをおすすめします。m4aは情報量が少なすぎて大変でした。

 参考程度にどうぞ、解説が欲しい人はコメントで。hatenablogでうまくコードを乗せる方法がわからなかったのでqiitaにも上げときます。

qiita.com

#-*- coding:utf-8 -*-
import time, os, re
from pydub import AudioSegment
AudioSegment.converter = "C:\\ffmpeg\\bin\\ffmpeg.exe"
import ffmpeg, mutagen
from mutagen.flac import FLAC, Picture
from mutagen.mp4 import MP4Tags, MP4, MP4Cover
from os import path
#flacのタグ名とm4aのタグ名に整合性を取る
def tag_flac_m4a(tag):
  match tag:
      case 'title':
          return "\xa9nam"
      case 'artist':
          return "\xa9ART"
        case 'albumartist':
            return 'aART'
        case 'tracknumber':
            return 'trkn'
        case 'date':
            return '\xa9day'
        case 'genre':
            return '\xa9gen'
        case 'album':
            return '\xa9alb'

class tag:
    def __init__(self, name, path_in, path_out=None):
        #インスタンス変数に値を入力
        self.name = name            #ファイル名を定義
        self.path_in = path_in      #元ファイルのディレクトリのパスを定義
        self.path_out = path_out    #出力ファイルのディレクトリのパスを
    #flacをm4a変換
    def convert_m4a(self, path_out=None):
        path_out=self.path_out if path_out is None else None    #出力フォルダが定義されていなかったらインスタンス変数から取り出す
        import_path = self.path_in + self.name + '.flac'
        Audiodata = AudioSegment.from_file(import_path, 'flac')         #flacファイルの読み込み
        #m4aへエクスポート(タグはすべて消去される)
        export_path = path_out + self.name + '.m4a'             #ファイルのパスを定義
        Audiodata.export(export_path, format='ipod', codec='aac', bitrate='320k')   #エンコード
        print(f'{self.name}のエクスポートが完了しました。')
    #タグを抽出
    def get(self):
        audio_info = FLAC(self.path_in + self.name + '.flac')
        tagname_list = ['title','artist','albumartist','date','tracknumber','genre','album']
        tag_dict = dict()
        #タグの情報を辞書に格納{tag:info}
        for tagname in tagname_list:
            try:
                tag_temp = {tagname:audio_info.tags[tagname]}
            except KeyError:
                continue
            tag_dict = {**tag_dict, **tag_temp}
        self.tag_dict = tag_dict
        print('タグの抽出を完了しました。')
        return tag_dict
  def embed(self, path_out=None):
        path_out=self.path_out if path_out is None else None
        self.get()
        #m4aのタグを初期化
        tags = MP4Tags()
        for k,v in self.tag_dict.items():
            tagname = tag_flac_m4a(k)
            #トラック番号の場合 入力方法が異なる
            if tagname == 'trkn':
                v = re.findall(r'[0-9]+', v[0])
                if len(v)==2:
                    tags[tagname] = [(int(v[0]), int(v[1]))]
                else:
                    tags[tagname] = [(int(v[0]), int(v[0]))]
                continue
            tags[tagname] = v[0]
        tags.save(path_out + self.name + '.m4a')
        print('タグの埋め込みを完了しました。')

#海外の方から拝借
class cover(tag):
    #画像をflacファイルから抽出
    # '  https://stackoverflow.com/questions/67394817/from-flac-file-get-cover-image-and-display-it-on-a-tkinter-window  '
    def get(self):
        audio_file = self.path_in + self.name + '.flac'
        flacObj = FLAC(audio_file)
        coverArt = flacObj.pictures
        for img in coverArt:
            if img.type == 3:
                with open(f'cover_file\\{self.name}.jpg', "wb") as f:
                    f.write(img.data)
                print(f"{self.name}_cover.jpg の保存を完了しました。")
    #画像をm4aファイルに埋め込む
    #' https://python.hotexamples.com/jp/site/file?hash=0xf3bcb50e83333b6591172b93a6b1089b4f05105494cf35ac8c56441d132c78dd&fullName=musicgen.py&project=nejsan/sound_bubble '
    def embed(self, cover_file=None):
        """Embeds cover art into an audio file.
        Arguments:
            audio_file (str): The path to the audio file to embed the artwork in.
            cover_file (str): The path to the artwork file to embed.
        """
        if cover_file is None:
            cover_file = f'cover_file\\{self.name}.jpg'
        audio_file = self.path_out + self.name + '.m4a'
        if path.isfile(audio_file) and path.isfile(cover_file):
            artwork = open(cover_file, "rb").read()
            # Determine which filetype we're handling
            if audio_file.endswith("m4a"):
                audio = MP4(audio_file)
                covr = []
                if cover_file.endswith("png"):
                    covr.append(MP4Cover(artwork, MP4Cover.FORMAT_PNG))
                else:
                    covr.append(MP4Cover(artwork, MP4Cover.FORMAT_JPEG))
                audio.tags["covr"] = covr
            audio.save()
            print(f'{self.name}のエクスポートを完全に完了しました。')
        else:
            with open('encoding.log', 'a', encoding='utf-8') as f:
                f.writelines('/cover:File is Not Found')
#
音声データをaacに変換
def convert_m4a(path, name_list, extension):
    for name in name_list:
        #ファイルのパスを設定
        dir = path + '\\' + name + extension
        #flacファイルの読み込み
        Audiodata = AudioSegment.from_file(dir, 'flac')
        #m4aへエクスポート(ID3タグはすべて消去される)
        Audiodata.export('music_file\\'+name+'.m4a', format='ipod', codec='aac', bitrate='320k')
#glob.globのほうがいいかも
#変換したい音楽ファイルのディレクト
_in = "Music\\"
_out = "C:\\Documents\\music_m4a\\"
#ファイルの名前をリストに落とす
file_list = os.listdir(path=_in)
#flac拡張子のファイル名を抽出
flac_list = [s for s in file_list if '.flac' in s]
#拡張子を削除した名前リスト
name_list = [re.sub('.flac', '', name) for name in flac_list]
with open('encoding.log', 'w', encoding='utf-8') as f:
    for name in name_list:
        f.writelines(name + '\n')
if __name__=='__main__':
    for name in name_list:
        info = tag(name, path_in=_in, path_out=_out)
        with open('encoding.log', 'a', encoding='utf-8') as f:
            f.writelines('\n'+info.name)
        info.convert_m4a()
        info.get()
        info.embed()
        cover.get(info)
        cover.embed(info)
name_list = ['Perfect', 'Shape Of You']
#カバーを埋め込むだけ
if __name__ == '':
    for name in name_list:
        info = tag(name, path_in=_in, path_out=_out)
        with open('encoding.log', 'a', encoding='utf-8') as f:
            f.writelines('\n'+info.name)
        cover.embed(info, cover_file='divide.jpg')

qiita.com

www.wizard-notes.com

www.wizard-notes.comt

programtalk.com

fossies.org参考サイト

 

Pythonのmutagenでm4aのタグ情報を編集する

タイトルのとおりです。

日本語サイトでは見かけなかったので作成しました。
見かけないというよりボクみたいなSEO対策もできない情弱が埋もれてるだけかもしれませんが...

では本コードを以下に示します。

#-*- coding:utf-8 -*-
from mutagen.mp4 import MP4Tags

file_path = '\\sample.m4a'
tags = MP4Tags()            #初期化
tags["\xa9nam"] = 'Title'   #タイトル情報
print(tags)                 >>{'©nam': 'Title'}
tags.save(file_path)        #タグをファイルに埋め込む

tagsに情報を追加してtags.save(パス)でファイルにタグ情報を埋め込む事ができます。
また6行目のtags[*****]の*内にはタグを示す文字列が入っています。各自以下のサイトで確認してください。ではよいPythonライフを。

selenium Protocol Error プロキシでのエラー

("Connection broken: ConnectionAbortedError(10053, '確立された接続がホスト コンピューターのソウトウェアによって中止されました。', None, 10053, None)", ConnectionAbortedError(10053, '確立された接続がホスト コンピューターのソウトウェアによって中止されました。', None, 10053, None))
selenium インストール状況
Python 3.9.7
selenium:4.1.3
プロキシ下
Chrome Driver: 100.0.4896.60
Chrome: 100.0.4896.127

#-*- coding:utf-8 -*-
from bs4 import BeautifulSoup
import requests
from selenium import webdriver
import chromedriver_binary
driver = webdriver.Chrome()
driver.get(example)
driver.close()

プロキシを外すことでchromeが立ち上がることを確認
プロキシを設定した状態でchromeを立ち上げる方法→
chrome webdriverをダウンロード&解凍しパスを入力する

path = "C:\\Users\----\Downloads\chromedriver_win32\chromedriver.exe"
#C:のあとにバックスラッシュを2回つけることでエラーを回避可能。
driver = webdriver.Chrome(executable_path=path)  #Chrome driver の準備
driver.get(example)
driver.close()

前提としてパソコンのユーザー環境変数等にプロキシを設定されていることを想定しています。

 

スマブラSPのオンラインでmodを使用する方法 How to play smash ultimate online with mods

 

どうも、はじめまして。
スマブラのMODを愛してやまない男です。

今回はどのようにしてオンラインでスマブラのテクスチャハック等のMODを導入した状態でオンラインに潜れば良いのか解説していきたいと思います。

MODの導入方法はこの動画をご参照ください。

www.youtube.com

結論

結論として、基本的にMODを導入すれば特にすることはないです。
導入したMODがWifi Safeかどうかは確認しましょう。
このように投稿者さんが説明欄に書いていたり、コメント欄の質問に答えたりしています。
スキンやフォント、UI等の自分の環境のみ変わるものはWifi Safe、Movesetなど相手の環境にも影響が及んでしまうMODはWifi Outという認識でいいです。

BANされる行為

https://yyoossk.blogspot.com/2018/08/ban.html
このサイトをご覧ください。
え、スマブラのMODもアウトじゃないの?と思ってる方もいらっしゃるでしょうが、基本的には見つかることは有りません、調子に乗ってリプレイを投稿したりしない限り。
任天堂は毎日、何千ものログを得ているのでそこからMODを使用しているプレイヤーを見つけることは困難ですし。まあ一番いいことはそのようなリスクを追わずにのびのびとプレイすることだと思いますけどw

 

では良いMODライフを。
なにかコメントをくれたら励みになります(꒪ཫ꒪; )

 

追記

BANされました。スイッチ本体の更新等はできるため、おそらくipBANではなく、ソフトBAN、オンラインBANである可能性があります。何が悪かったのか全然わからん。

 

学生によるiPad Pro 11インチ 2021 (第3世代)のレビューとおすすめアクセサリ

f:id:Acacia_M:20220325115904j:plain

 今年の3月にiPad Pro 11インチ 2021 (第3世代)が届きました。M1というなんかすんごいチップが入ったiPadです。3週間ほど使用してある程度評価が固まってきたので色々と述べていきたいと思います。
 私自身、購入前に本当に買うべきか心配で色々と調べまくったので同じような人がいれば参考になれば幸いです!
 付け加えますと、私はiOS(iPadOS)は初めてですのでAndroidしか使ってない方にも参考になれば嬉しいです。

1. iPad Pro第3世代のスペックについて

2. 購入した経緯

3. iPad Proをオススメできる人
3.1. 11インチと12.9インチはどちらがいいのか

4. iPadでの勉強の不満点

5. Androidユーザーから見た不満点・良い点

6. 購入したアクセサリの感想

7. まとめ

 

iPad Pro 2021 第3世代のスペックについて

f:id:Acacia_M:20220325100551p:plainf:id:Acacia_M:20220325100619p:plain

  iPad Pro 11(第3世代)
メモリ 8GB/16GB(1,2TBモデルのみ)
ディスプレイ 120Hz, 液晶(12.9インチはminiLED)
認証 顔認証
スピーカー ステレオ
重量 公式466g |フィルム有計測489g
価格 Wi-Fi: 94800~/Cellular:112,800~
学割適応時 Wi-Fi: 88800~/Cellular:106,800~
Antutu(v9.09) 1184705

 シンプルに纏めました。詳細なスペックは各自でお調べください。

購入した経緯

f:id:Acacia_M:20220324220824j:plain

 主に勉強やゲームをするために購入しました。あと友人が持ってたので所有欲が・・・w

 当初はPro12.9(128GB)2020[整備済]を購入する予定でしたがいつまでも入荷されないため断念しました。
 

iPad Proをおすすめできる人

 iPadを買う上で重要なのがapple pencilだと思われます。

f:id:Acacia_M:20220324133054j:plain

 apple pencil 第2世代に対応している機種は

  • iPad mini (第 6 世代)
  • iPad Air (第 4 世代以降)
  • iPad Pro 12.9 インチ (第 3 世代以降)
  • iPad Pro 11 インチ (第 1 世代以降)

f:id:Acacia_M:20220324133255j:plain

 apple pencil 第1世代に対応している機種は

  • iPad mini (第 5 世代)
  • iPad (第 6 世代以降)
  • iPad Air (第 3 世代)
  • iPad Pro 12.9 インチ (第 1 および第 2 世代)
  • iPad Pro 10.5 インチ
  • iPad Pro 9.7 インチ

になります*1

 Apple Pencil 第2世代を使いたいというわけでないのならば、Proでなくても良いと思います。実際、私の友人はAir 3とApple Pencil 第1世代で十分に勉強できると言っていました。
 ではApple Pencil 第2世代を使いたいのならばどの端末を買うべきでしょうか。初めてiPadを買うのならばAir ,Pro11 , Pro12.9 ですね。
 ここでApple Pencil 第2世代に対応しているiPad AirとProを価格順に並べていきましょう。

  Air5(64GB) Pro11(128GB)2020[整備済み] Air 5(256GB) Pro11(128GB)2021 Pro12.9(128GB)2020[整備済] Pro12.9(128GB) 2021
価格 74800(学割68800) 71800 92800(86800) 94800(88800) 88800 129800(117800)
認証 指紋 指紋
プロセッサ M1 A12Z M1 M1 A12Z M1
重量 461g 471g 461g 466g 641g 682g
LiDAR
メモリ 8GB 6GB 8GB 8GB 6GB 8GB
画像

f:id:Acacia_M:20220324220001j:plain

f:id:Acacia_M:20220324220305j:plain

f:id:Acacia_M:20220324220327j:plain

f:id:Acacia_M:20220324220753j:plain

f:id:Acacia_M:20220324220812j:plain

f:id:Acacia_M:20220324220824j:plain

 WiFiモデルを重点的にAirは256GBモデルまで、Proは128GBモデルまで書きました。
   Proの廉価版と言われているAirですが256GBモデルとなるとProとほとんど価格差がなくなってきてお得とは言えませんね、ProにはProMotion*2もありますし・・・
 ストレージが64GBで十分な人はAir 5、128GBは欲しいと思っている方はProをおすすめします。私は余裕を持つために128GBをおすすめします。
 というか、Airに一番欲しい128GBモデルが無いのは少しいやらしいですよねw

11インチと12.9インチはどちらがいいのか

分かれ道で迷う人のイラスト(男性)

 これは非常に難しいです。ですがお金に余裕があるのならば12.9インチをおすすめします。
 やはり画面が大きいのは大正義ですね。勉強にしても絵を描くにしても、12.9インチが11インチに劣ることはありません。ゲームに関しては11インチのほうがやりやすいかもしれませんが、11インチも重いですし、あまり変わらないと思われます。
 ですが11インチも十分大きいですので、特に使用用途が決まっていない方は11インチが無難だと思います。

 一度は家電量販店で大きさを確認することをおすすめします(行ってない)。

 

iPadでの勉強の不満点

f:id:Acacia_M:20220325101100p:plainf:id:Acacia_M:20220325101331j:plain

 前提として、iPadでの勉強は非常に捗りますよ!ノートの整理もしやすいですし、pdfにそのまま書き込んだりできちゃいます。効率的に勉強できたら俄然やる気もわきますのでいいことづくめです。

 私はiPadでの勉強ではGoodNotes 5を使用しています。アプリの不満は殆どないのですが、iPadで勉強していると厄介だなと思う場面が少しあります。
 まず、1つ目が画面の大きさですね。基本的に右手をiPadにおいて勉強しているため右端に文字を書くのが窮屈です。これは12.9インチにすれば解決します。ですが、拡大縮小やSplit Viewを使えばなんとかなるので悲観するほどではないです。しかし、これは教材がiPad以外での話で、iPadyoutubeを見ながら横でノートを取るとなると12.9インチにすればよかったと後悔することがあります。
 次に2つ目が、バッテリーです。100%の状態から約10時間ほどで切れてしまうので勉強しているといつの間にか電池が切れそうに...ってこともあるかもしれません。まだないですけど。

 あとはあまり思いつきませんでした・・・今後にご期待を。

Androidユーザーから見た不満点・良い点

 まず、一番の不満はファイル管理のやりにくさですね。AndroidではUSBでパソコンにつなげるだけで認識してくれたのですがiPadではiTunesを経由しないとだめらしいです。ダルすぎてGoogleDriveからファイル転送してますので詳しいことは知りませんが。
 ローカルフォルダに関してはこの差。

f:id:Acacia_M:20220325094119p:plain

iPadのルート直下

f:id:Acacia_M:20220325094229j:plain

Androidのルート直下

 覚悟の上で買ったので、仕方ないと思っています。ファイルを外付けUSBメモリから開いたりはできるのでそのことに関してはご安心ください。

 他に、androidではYoutube VancedやらAdblockやらPlayストアに置けないようなアプリをapkからインストールできる拡張性があるのですが、iOSでは本体の脱獄が必要となります。私の友人は、脱獄してから文鎮化、iOSのアップデート不可、一部アプリの使用不可などが起きたので、iOSAndroidと違って拡張性を得るためにリスクを負う必要があります。

 次にAndroidにはなくてiOSにある優れた機能を説明したいと思います。
 まず1つ目がショートカット機能となります。これはアプリの起動から任意の動作を短縮して実行することができます。例えば、safariyoutubeを開くという動作や、一度だけ使うタイマーを設定するという動作を作ることができます。先駆者様がいますので便利なショートカットはパクっちゃえばいいです。

www.youtube.comこの動画をぜひご参考にしてください。

 2つ目が感覚的操作ができる点です。スワイプや戻る、進む、Split Viewなど非常にシンプルにわかりやすく作られています。さらにiPadOSすげー!って思ったのがファイルのドラッグ等がパソコンと同じように行えることですね。
 おそらくAndroidタブレットでは無理なんじゃないかな?これだけでも買ったかいがありました。手持ちのスマホバグっててファイルアップロードがままならないんです。そういう点でも安定性あるiOSは素晴らしいですね。

購入したアクセサリの感想

 次に購入したiPadのアクセサリは以下のようになります。

f:id:Acacia_M:20220325105836p:plain

 純正品はapple pencil 2のみで他はすべてサードパーティ製となっています。
 私は、ペングリップ、フィルム、そしてカバーを購入したのでこれらについて語っていきたいと思います。
 最初に、全部買い直したい・・・
 なぜ、こう思うのかというと、サードパーティ製の欠陥が起きてしまったからです。物どおしが干渉してしまいます。
 具体的には・・・

f:id:Acacia_M:20220325111125j:plainf:id:Acacia_M:20220325111134j:plain

 こんな風にapple pencilがはみ出してしまいます。全然スタイリッシュじゃありません。マグネット充電もめんどくさいです。
 フィルムに関しては、アンチグレアフィルムと貼るペーパーライクを購入したのですがどちらも失敗でした。
 アンチグレアフィルムは一枚しか入っていなかったので失敗しても替えがきません。無事、フィルムを貼る工程を間違ったため内部にホコリがメチャクチャ入りました😇
 中に入ったホコリを全てセロハンテープで取り、やっと使えるようになりました。
 フィルムは2枚入りを購入するべきです。
 そして、貼るペーパーライクはなぜ失敗だったかというと単純に古いやつを買ってしまいました。買おうと思っている方はお気をつけてください。

www.amazon.co.jp

【リニューアル】 エレコム iPad Pro 11 第3世代 (2021年) フィルム ペーパーテクスチャ 反射防止 ケント紙タイプ 着脱式 紙のような描き心地 TB-A21PMFLNSPLL クリア

 この2つは別物です。下のリンクが新しい製品です。

 ペングリップ単体については満足しています。ESRカバーは価格にしてはよくやっていると思います。ですがカバーはできれば全体を囲むものを買うほうが良いと思います。ESRはむき出しなのが怖いです。

 

まとめ

f:id:Acacia_M:20220325120340j:plain

 勉強・絵描き・動画編集・ゲームなどをそつなくこなすiPad Pro 2021はこれまでのタブレットの中でもっともスペックが高いと言っていいです。今後このスペックがタブレットの平均となるのはまだまだ先でしょう。ですので、今も十分買いだと思います。
 iPadは中古品でも十分な値段で売却できたりすることができるので、実際は思ったよりコスパいいかもしれませんね。
 ここまで見てくださりありがとうございました。

*1:Apple Pencil の互換性

*2:リフレッシュレートが120Hz