The jonki

呼ばれて飛び出てじょじょじょじょーんき

2025年:振り返り、買ってよかったものなど

年1ぐらいは日記書かなきゃ…と思ってたらもうこの時期です。

プライベート

2年連続で年末年始は子供が高熱を出していましたが、今年はなんとか大丈夫そう(鼻水ずびずびですが)。口はどんどん達者になるも頭が追いついていない感じもあり日々叱られていますが元気です。まだ可愛いが一応買っています。

仕事ではNLPerをやっていたつもりがいつの間にか音声合成屋になっていて色々と苦労も多かったです。 ただ論文を出したり、その伝手でコロナ以来初となる海外出張があり、中々充実していたかなぁと思います。ただAI系の進化も早いのでキャッチアップも大変ですたい。。

また去年はたくさん本を読みましたが今年は反動で全然読みませんでしたね。今年はちょっと取り戻したい。

買ってよかったもの

Switch2買うつもりなかったのですが、シャインポストが歌声合成使っていたり、そもそも神ゲーと名高かったので、半ば冗談半分で買ってみましたが見事にハマりました。 歌声合成もよいのですが、歌、ダンス、カメラワーク、ストーリー、システムと随所によくできているなぁと思いました。すっかりハマってしまったので、ライブのオンライン配信も買って正座観戦の予定です。 アニメも最高でした。

タミヤ(TAMIYA) 楽しい工作シリーズ歩いて泳ぐペンギン工作セット。 子供がaiboとかロボットとかに興味を持ち始めたもののいきなりはさすがに買えないので買ってみました。 タミヤさん2千円でこのクオリティの工作出すの素晴らしすぎる。お風呂で泳がせたり歩かせたりして遊んでいます。 機構が丸見えなので子供も興味津々に見ています。

モニターアームです。サブモニターをまた買ったのでアームをAmazon basicsで揃えようと思ったら エルゴトロンのOEM品がなくなっていました。 ただ今色々と新興メーカーがでていて、このPixioも安いですが使い勝手もよく、扱いやすさはエルゴトロン以上のところもありますね。これで1万円切るんだから言う事無し。

ヘッドフォンです。今年も色々買いましたが、一番テンション上がるのはこれかもしれない。マーシャルの無骨なデザインも好きだし、音もブリブリしている感じが良いです。 軽くてつけ心地もよいですね。

またリュックを買いました。グレゴリーが好きなんですが、ファインデイは飲み物いれが再度についていないので微妙に不便。。そこで会社用にエニーデイV2を買いました。飲み物ボトルもあり、社員証などをいれるポケットもあり使い勝手がよいです。

最後はカメラです。適当に撮った写真でも色味や雰囲気が良い感じになるんですよね。

良いお年を。

過去の振り返り

www.jonki.net

www.jonki.net

www.jonki.net

www.jonki.net

www.jonki.net

2024年振り返り:プライベート、仕事、読んで・買ってよかったもの

今年も振り返ります。

プライベート

去年は子どもが保育園に入った年で風邪ひきまくりで大変でしたが、今年は子どもも強くなったのかそれなりの頻度で保育園に行けて良かったです。 また言葉も上手になってきておしゃべりができるようになると楽しいですね。

仕事

部署が変わったとかではないですが、また新しくやることができました。相変わらず流されまくりのキャリアですが、割と楽しめるタチなのでなんとかなってます。 1年先どころか半年先も予測できないので、キャリアプランとか描かないほうがいいんじゃないかとすら思い始めています。

読んで良かったもの

今年は読書習慣を付けようかなと思い、100冊を目標に読み進めました。が、後半は失速して70冊を結果として読みました。技術書などはちょい読みが多いので、完読以外は記録していません。個人的に記憶に残った本を簡単に紹介します。

小野不由美十二国旗シリーズです。アニメでしか見ていなかったので小説も読んでみました。戴の行方が非常に気になっていたので魔性の子から戴と慶に関連した本を出版順に読み進めました。魔性の子は評価が分かれる内容で、十二国旗本編とは一線を隠すのですが、個人的にはかなり好き。十二国旗を知る前に読んでみたかったなと思う一冊です。知っていても面白いのですけどね。

次も小説で司馬遼太郎関ヶ原です。歴史好きな割に関ヶ原の起こりをあまり知らなかったので読んでみました。三成と家康の戦いの様子が、現代社会に通じるところがあり、色々と思う所がありました。読み応えあります。3冊で終わるのでぜひ。

次も司馬遼太郎ですが、小説ではなくエッセイになるのかな。司馬遼太郎というと小説なのに自分の小ネタの話が紛れ込んでくるのが特徴ですが、私は結構これは好きでして、正直小説よりも面白いと感じることも少なくないです。この本では江戸から明治にかけて日本という国がどう形成されているのか書いているわけですが、司馬遼太郎の知識の深さに驚きます。当たり前ですが司馬遼太郎の時代に生きていた人の中には江戸時代の人も含まれており、そういう歴史のつながりが新鮮に思えて良かったです。

典型的な日本企業勤めの人には読んでほしい。以上。

伊藤計劃の小説です。なんだかすごいタイトルなのでずっと気になっていたのですが、お気に入りしました。メタルギアとかの世界観が好きな人はハマると思います。

次は変わってお金関係の本をまとめて。ライフステージも変わって、今後のキャリアや家購入などについて迷いまくるわけですが、ファイナンシャル・リテラシーって結構重要だなと改めて思いました。今年は円安&株は上がり、米国企業関連に投資した人はかなり資産が膨れたと思います。かくいう私も一度留学でやめていた投資信託を、数年前から本格的に進めてきたので、今年の相場には目を見張るものがありました。合わせて昔にネタで買った暗号資産を眺めているのですが、その値動きには目と心をやられました。今年の相場は明らかに過熱気味なので来年はある程度覚悟する必要があると思いますが、それでも頑張って働いて賃上げするのがアホらしく思うほどには、資産の力って強くて、昨今のfire熱も納得がいきます。ただ一方で別に価値を生み出しているのは自分ではないのでその辺は冷静になるべきでしょう。そのあたり、田内さんの本は子供向けですが、大人でも読み応えあると思いました。

最後は変わり種ですが、音声学に関連した本です。音声に関連した仕事をしているので読んだというのもありますが、身近な日本語に関して、自分の子どもを通して様々な発見を言語化してくれており、おもしろかったです。

買ってよかったもの

3Dプリンターです。先日記事にも書きましたが、今年ベストの買い物でした。子どもものづくりに興味持ってくれますし(おもちゃ作れるし笑)、自分でも色々とアイデアが溢れます。一家に一台、ありだと思います。

私はFlexiSpotの机を使っているのですが、これがめちゃくちゃ重い。今までは床を傷つけないように発泡スチロールのマットを敷いていたのですが、見栄えがわるい。そこでこれを買ってみましたが大正解。絶妙な力加減で机を動かせるようになって模様替えも楽になりました。キャスターという手もあるのですが、重量的にやはりフローリング傷つけそうなので見送りました。

続いてはセットで、エレコム 電源タップとGravaStarの充電器です。これまで机には電源タップは置きたくなかったのですが、手元に電源タップとUSB端子があるとこんなに便利だとは思いませんでした。GravaStarは完全なネタガジェットなのですが、見た目がまず最高なのと機能面も問題ないのでセットで可愛いです。

次はキーボードです。現在は、Keychron のQ8 maxと左手キーボードのKB16で落ち着いています。 キーボードに関しては色々触ってきましたが、アリスレイアウトがやっぱりいちばん好きです。分離キーボードと比べてホームポジションが取りやすいし、タイピングも行いやすいので、本当にオススメです。Q8 maxは中でも最上位機種だと思うのですが、その打鍵感は最高だと言っておきましょう。 左手キーボードのKB 16はこちらもKeychronのQ8 max同様にVIAに対応しているので、オンラインですぐにキーマップの変更ができます。 私は具体的には、VS codeデバッグ関連のショートカット、各種アプリの呼び出しに使っています。Keychronでもできるのですが、1発で呼び出すためにはキー数が心許ないので、KB 16を買った次第です。

Keychron Q8 Max(Alice レイアウト)QMK/VIA ワイヤレス カスタム メカニカルキーボード(US ANSI 配列)keychron.co.jp

最後は線香です。去年も載せたと思いますが、今年も載せています。飽きやすい私ですが、線香はずっと松栄堂 芳輪シリーズを使っています。 仕事や仕事終わりに焚いて心を癒やしています

良いお年を。

過去の振り返り

2023年振り返り www.jonki.net

2022年振り返り www.jonki.net

2021年振り返り www.jonki.net

2020年振り返り www.jonki.net

2019年振り返り

www.jonki.net

10年ぶりに3Dプリンタ買ったらぶったまげた。Bambu lab P1S購入記

巷で話題のBambu labのP1S AMS Comboというモデルを買いました。ブラックフライデーでセールになっており気になっていたのですが、結局我慢できずに購入。

これは人生2代目の3Dプリンタでして、初代は10年ぐらい前に買ったUP Plus2というモデルです。この3Dプリンタを使ってMaker Faire Tokyoに出展していたりするのは良い思い出。

www.jonki.net

で、10年ぶりの3Dプリンタなんですが、その進化っぷりがすごかったので記事にしておきます。

プリントが早くて精度がよい

P1Sのノズルの最高速度500 mm/sです。もう笑っちゃうぐらい早いです。Up Plus2の速度は調べても出てこなかったのですが体感3倍以上早いです。ノズル移動速度が早すぎてプリンター筐体が震度3ぐらい揺れます笑。それでも印刷品質はとても高いので、ソフトとハードのレベルが非常に高いのでしょう。

A1 miniも良いが多色ならP1Sのコスパが良い

A1 miniというモデルが一番安く、3万円ぐらいで買えちゃいます(下図にあるような複数フィラメントを接続するAMS liteもつけると6万)。最初は私はこちらを買おうと思ったのですが、以下の理由でP1Sにしました。

  • P1Sはエンクロージャー(囲い)があり、子どもが近くにいても安全だし、ホコリも被らないので機器の故障率が下がりそう
  • エンクロージャーにより、印刷中の筐体内温度を一定に保てるので、印刷品質にも影響が出そう
  • AMS liteという多色刷りのためのモジュールも買うとP1Sよりも場所を取る
  • AMS liteは外気に常に触れるため夏場は湿気管理が問題になる
  • 造形サイズがA1 miniは18cmまでなのに対して、P1Sは25.6cmまで行ける

肌感覚ですが、A1 miniとP1Sが巷には多い気がします。多色刷りやリフィルに興味がなければA1 miniで十分かも知れません。 どのモデルが良いかはサンステラさんのフローチャートなどもあるので参考にしてみると良いです。

キャリブレーション、色の入れ替え、ノズルクリーンなどの管理が楽

Up Plus2にも自動キャリブレーションがあったのですが、よくZ座標がおかしくなり、空中にフィラメントを出してスパゲッティを作り始めたり、プレートに対してノズルがひたすら頭突するなんてことは日常茶飯事でした。 P1Sを買ってまだ日が浅いですが、今のところキャリブレーション失敗は起きていません。 また今回AMSという4つのフィラメントを接続できるコンボセットを買っていますが、これが本当に便利。印刷時にカラーを指定できるのはもちろん、勝手に色の切り替えやリフィルもやってくれます。 Up Plus2ではいちいち手動でノズルの温度を上げて、フィラメントを抜いて、漏れたやつを掃除して、みたいな感じだったのでフィラメントの入れ替えはかなり面倒でしたし、よく詰まってました。 P1Sでは印刷開始時に、ノズル温度を上げて垂れてきたフィラメントを掃除してから印刷を開始してくれるんです。いや、マジでよく出来てます。Up Plus2の時はノズルの温度が上がってから印刷開始までの間で、常に近くで見守って、こぼれたフィラメントを急いで取り除いて、といった感じだったので格段の違いがあります。印刷を開始したらあとは完全放置でよいP1Sは神です。 また筐体内にはカメラが搭載されており、印刷中の様子をアプリから見たりタイムラプス動画を作ったりもできます。

ソフトウェアやユーザーエコシステムが良くできている

Bambu Studioというアプリを使うのですが、基本的なパラメタはすでにおすすめ設定がされているので、初心者にも嬉しいです。Mac/Winから使えますし、無線LANが繋がっているのでスマホからもBambu Handyというアプリから印刷を指示できます。 またBambu labのコミュニティスペースには、たくさんの3Dモデルが公開されており、そこから気になるモデルを選択して簡単に印刷できます。自分で3Dモデルを作って、というのも良いですが、本当に良いモデルがたくさん公開されているので、CADが使えない人も十分楽しめます。アプリからモデルを検索、良さそうなものを選択、印刷ポチ、で印刷できちゃうんだから便利便利。Up Plus2のときは、適当な3Dモデルのサイトからstlファイルをダウンロードして、USBケーブルで3Dプリンタと繋いで転送して、という感じだったので雲泥の違いですね。

モデルは本当になんでもあります。今回3Dプリンタを買った理由としては、子どもに作る様子を見せたい、おもちゃを作ってあげたい、というのが大きな理由の1つなので、毎日おもちゃ作りまくっています。子どもも興味津々で3Dプリンタの動作を見ているので良い経験になりそうです。

機能を考えるとめちゃくちゃ安い

ちなみに今回買ったP1Sは現在セール中でして、99,000円です。4つのフィラメントが入るマルチカラーに対応したP1S Comboは130,000円です。多色刷りをする予定がなくてもAMSはフィラメントの保管にも使えますし、単品で買うと高いのでセットで買っておくことをおすすめします。 UP Plus2は因みに167,400円でした。当時の印象としては、ちょっと良い初心者向けモデルという感じで、会社のメカ屋さんにオススメされて買ったモデルです。それが10年経つとすべてがパワーアップしていました。 もちろん安い買い物ではないですが、得られる子どもとの経験を考えると十分投資に値する素晴らしい製品だと思っています。またこれを機に私も3D CADの勉強を始めてスキルアップしようと思っています。仕事にはまったく役立ちませんが、気にしていません。良いんです、好きなんだから。

皆さんどうですか?買って私とオススメのフィラメント談義しませんか?

英語の発音をちゃんと勉強したら結構面白かったという話

英語というと私は留学したのにもかかわらず依然として苦手意識が抜けず、特にリスニングに関しては絶対の自信のなさを誇ります。 英語は語学なのだから楽しんでやりたい!という言い訳をモットーに雰囲気でオンライン英会話などをやっていましたが、なんだか英語スキルが上がっている気がまったくしません。 雰囲気で英単語を適当に並べておけば、下手な英語に慣れている講師がよしなに解釈してくれるもんだから会話はできてしまう。でも、これが求めてる授業じゃない。。

今回の記事では、そんな中で英語の発音に関してちょっとは自信が持てるようになった、英語の単語を聞くと、その発音記号が浮かび上がってくるようになってきた、そんな経験に至るまでを書いてみます。 一応断っておくと、現在の私の英語の発音が良くなったということを定量的に測ったわけではなく、あくまで英語の音の聞こえ方や発話方法に対する意識が変わってきた、という話になります。まだまだ道半ばであります。

最初に結論

以下の2つに会えたことが私にとってのブレークスルーでした。

それぞれ説明していきます。

ATSU 発音マスタークラス

あるときPIVOTでATSU氏の動画を見ていると、発音は3時間x2〜3週間でマスターすべき、という話がでてきました。 1日3時間も時間ねーよとは思いつつも、確かに発音はリスニングにも関わってくるし、何より英語の発音がちゃんとできれば喋ってて気持ち良いだろうなと思い、彼の動画講座を見つけて買ってみました。お値段5,480円、安くない値段です。でも1ヶ月ぐらいでマスターできるなら安いもんじゃないか?と毎度調子の良い悪魔が耳に囁きます。

発音マスタークラス|Pronunciation Masterclass【動画講座】

// ↑はアフィリエイトリンクとかお金もらってるとかじゃないです。1円も入りません。。

結果としてこの講座には非常に満足しています。英語の音声学をかじったことがある人にとっては常識的な話なのかもしれませんが、正直私は知らないことだらけでした。 今までセンスもないのに感覚だけでやろうとしてところを、知識とロジックから攻めることができるので、発音方法を言語化して説明できるようになると思います。 例えば、stock, stuck, stack、ってちゃんと区別つけて発音できますか?動画を見れば、発音方法と合わせて説明できるようになると思います。なお、実際に知っているからすぐに発音できるわけではないのは注意。このことは後のBoldVoiceの章で解説します。

英語の発音に関しては本でもよいのではないか?という意見もあると思います。発音本はたくさんありますが、説明がどうしても感覚的なものに頼っているものが多く、その感覚が伝わらないものが多いように感じます。一方でこの動画講座では、ATSUからは体系的な説明、例えば母音チャートを利用した説明や舌や口の動きを動画内で実際に体を動かして説明してくれます。相方でアメリカ人のNickという人が出てきますが、逆にこの人は感覚的な発音方法を教えてくれて、理論と感覚のバランスが心地よいです(キャラも良い)。この圧倒的な情報量は本ではとても再現できません、せいぜいCDが付いてきて雰囲気でシャドウイングできるぐらいです。また最近はYoutubeにもたくさん解説する動画はあるのですが、どれも断片的で、体系的に用意されているコンテンツはないように思えます。

発音本の存在を否定しているわけではありません。ただ順序として、英語の発音の方法、各音素の調音方法を一度理解してから、本を復習やチートシートとして使うはおすすめできると思います。 例えば初級音英語音声学は、音声学を専門の人に書いたものだと思いますが、英語の発音をただ良くしたい、という人にも非常に有益だと思いますし、上記動画講座の良い復習にもなります。

少し脱線しますが、仕事上、音声学を理解すると便利なことが多いので、川原先生のビジュアル音声学を買ったのですが、これがめちゃくちゃおもしろいです。この本は別に発音の練習方法本ではないですが、人の声の発生に関するメカニズムを図、コラム、簡単な数式などを駆使して書いて説明しいて、勉強になりました。これを読むと、日本語も英語もどの国の言語の発声も、口から声帯、肺にかけての管楽器なんだなと思えてきます。これは真面目な本ですが、2冊目の娘の言葉について熱く語っているこの本も、川原先生のお人柄を知れて面白いです。

話を戻します。この動画講座で発音は完璧かというとそんなことはなく、圧倒的にフィードバックが足りません。Nickのマネをしてアメリカ人になりきって動画内でシャドウイングしますが、本当に合ってるのかは誰も教えてくれません。

そこで次のアプリです。

BoldVoiceで発音を学習する

これはたまたま知ったのですが、割と新しめのアプリのようです。英語の発音練習というとELZA Speakが有名で私自身もやっていました。ただこのときはATSUの動画講座を見る前でしたし、アプリ内のレッスンもたくさんあって正直よくわからなくなって、飽きてやめてしまいました。 もう一度ELZA Speakをやる手もあったのですが、どうせなら他のアプリで、と思い見つけたのが、 BoldVoice(招待リンクになっています)です。基本的にはELZA同様に発音してそのスコアを出すアプリなのですが、ELZAと比べて良い点を書いてみます。

  • 発音に特化していて、毎日のレッスンが自動で決まり、練習メニューを選ぶ必要がない。
  • 各発音の練習の前の動画が非常に丁寧で分かりやすい
  • 練習したい単語を入れても単語単位で練習が可能
  • アプリがごちゃごちゃしておらずスッキリしている

一方で気になるところは

  • 日本語に対応していないので、英語の聞き取りがある程度できないと厳しい(字幕はある&聞き取りはかなりしやすい平易な英語)。体感としてTOEIC 600点あれば大丈夫。
  • 文として自然な英語の評価はされない(強勢、弱化、リンキングなど)
  • 高い(1年サブスクで22000円しました。今は分からない)

です。はい、高いです(2回目)。でもアプリ自体は非常によくできていますし、実際に動画講座でマスターしたと思っている発音をビシバシ指摘されるので良い買い物だったと信じています。とりあえずトライアルで試してみて(即サブスクを促してきますが無視しておけば5日ぐらいは体験できました)良さそうであれば買ってもよいのではないでしょうか。今買ってから3ヶ月目ぐらいですが、ほぼほぼ毎日できているかなと思います。5分〜10分ぐらいで終わるので、夜のお風呂入る前とかにやってます。 これで先程出てきた、stuck, stock, stackなどの単語を連続でちゃんと認識できるか、練習したりすると楽しいです。

という感じで、今回は真面目に英語の発音について書いてみました。それでは皆さん、/stʌk/ /stɑːk/ /stæk/ !

pathlibをもっと使おう

皆さんはPythonpathlib使ってますか?私は非常によく使っています.例えば機械学習では学習の前に前処理を多く行うケースが非常に多いですが,このような時にpathlibを知っておくと便利です.pathlibは意外とPython 3.4(2014年~)からとそれなりに新しいため,古くからのPythonユーザーは os.pathの方をよく使っているかもしれません.ただpathlibは文字列ではなくPathクラスとして扱ってくれることで,例えばLinux/Windowsのパス表記の違いを吸収してくれたりします.

pathlibos.pathの比較は公式のpathlibドキュメントに譲るとして,私がよく使うpathlibのクラスを紹介します.また今回改めてドキュメントを眺めて知った便利関数も多いので,公式ドキュメントに目を通すのもオススメします.

今回は下記のような複数の素性の異なるデータセットに対して処理するケースなどを考えてみます.

.
├── datasetA
│   ├── abc
│   │   ├── a.wav
│   │   └── b.wav
│   └── def
│       └── d.wav
└── datasetB
    ├── 123.wav
    └── sub
        └── 456.wav

便利関数26選

検索・走査系

所定ディレクトリ以下にある特定のファイルを再帰的に探したい

この時に使えるのが,globあるいはrglobです.個人的にはrglobの方がショートカット記法になっていて,正規表現のタイポが避けられるので好んで使っています.スペースの都合上 list化して表示しています.

from pathlib import Path

In [1]: list(Path(".").rglob("*.wav"))
Out[1]:
[PosixPath('datasetA/abc/a.wav'),
 PosixPath('datasetA/abc/b.wav'),
 PosixPath('datasetA/def/d.wav'),
 PosixPath('datasetB/123.wav'),
 PosixPath('datasetB/sub/456.wav')]

In [2]: list(Path(".").glob("**/*.wav"))
Out[2]:
[PosixPath('datasetA/abc/a.wav'),
 PosixPath('datasetA/abc/b.wav'),
 PosixPath('datasetA/def/d.wav'),
 PosixPath('datasetB/123.wav'),
 PosixPath('datasetB/sub/456.wav')]

サブディレクトリをリストアップしたい

os.listdir 相当の捜査です.

In [3]: list(Path(".").iterdir())
Out[3]: [PosixPath('datasetA'), PosixPath('datasetB')]

編集系

絶対パス内の相対パスを取得したい

例えばデータセット内のディレクトリ構造を維持したまま,新たに別のディレクトリにしてパスをすげ替えてファイルを書き出す場合などに有用です.

In [4]: Path("/home/jojonki/datasetA/abc.wav").relative_to("/home/jojonki")
Out[4]: PosixPath('datasetA/abc.wav')

ファイル名や拡張子を変更したい

これもよく使います.

# ファイル名を変更
In [5]: Path("datasetA/abc.wav").with_name("AAA.mp3")
Out[5]: PosixPath('datasetA/AAA.mp3')

# 拡張子を除くファイル名を変更
In [6]: Path("datasetA/abc.wav").with_stem("AAA")
Out[6]: PosixPath('datasetA/AAA.wav')

# 拡張子を変更
In [7]: Path("datasetA/abc.wav").with_suffix(".mp3")
Out[7]: PosixPath('datasetA/abc.mp3')

# os.rename相当
In [8]: Path("datasetA/abc/b.wav").rename("datasetA/abc/c.wav")
Out[8]: PosixPath('datasetA/abc/c.wav')

宣言系

Pathインスタンスを生成したい

非常に直感的にPathクラスを作れます.例えば何らかのデータのディレクトリに対して動的にパスを作る際などに便利です.

# スラッシュでつながる
In [9]: root_dir = Path("datasetA/abc")
In [9]: root_dir / "sub" / "def.wav"
Out[9]: PosixPath('datasetA/abc/sub/def.wav')

# os.path.joinと同様
In [10]: Path("datasetA").joinpath("abc", "def.wav")
Out[10]: PosixPath('datasetA/abc/def.wav')

生成系

ディレクトリを生成したい

In [11]: Path("datasetC/").mkdir()

# 必要に応じて親ディレクトリも作成.mkdir -p, os.makedirs相当
In [12]: Path("datasetD/1/2/3/4/5").mkdir(parents=True)

ファイルを読み書きしたい

これは知りませんでしたが便利そうです.

In [13]: Path("README.txt").write_text("# Title\nhello")
Out[13]: 13
    
In [14]: Path("README.txt").read_text()
Out[14]: '# Title\nhello'

アクセス系

これらもよく使うので頭の片隅に入れておくと良いと思います.

パスの存在を確認したり,絶対パスを取得したい

# 存在確認
In [15]: Path("datasetA").exists()
Out[15]: True
    
# ディレクトリ?
In [16]: Path("datasetA").is_dir()
Out[16]: True
    
# 絶対パス?
In [17]: Path("datasetA").is_absolute()
Out[17]: False
    
# 絶対パス取得
In [18]: Path("datasetA").absolute()
Out[18]: PosixPath('/Users/jonki/sandbox/datasetA')

ファイル名に関しての色々な情報を取りたい

In [19]: Path("datasetA/abc/a.wav")
Out[19]: PosixPath('datasetA/abc/a.wav')

# 拡張子も含めて
In [20]: Path("datasetA/abc/a.wav").name
Out[20]: 'a.wav'

# 拡張子除く
In [21]: Path("datasetA/abc/a.wav").stem
Out[21]: 'a'

# 拡張子を取得
In [22]: Path("datasetA/abc/a.wav").suffix
Out[22]: '.wav'

# 最後の.gzだけ
In [23]: Path("data.tar.gz").suffix
Out[23]: '.gz'

# まとめて拡張子を取る
In [24]: Path("data.tar.gz").suffixes
Out[24]: ['.tar', '.gz']

# そのファイル/ディレクトリの親ディレクトリ
In [25]: Path("datasetA/abc/a.wav").parent
Out[25]: PosixPath('datasetA/abc')

# パスを分解
In [26]: Path("datasetA/abc/a.wav").parts
Out[26]: ('datasetA', 'abc', 'a.wav')

まとめ

以上Pythonpathlibをまとめました. 昨今はChatGPTなどでやりたいことを伝えればChatGPTが生成してくれますが,今回紹介したようなコードは非常によく使うので覚えておいて損はないと思います.文字列同士を無理やり駆使してファイル名を変更していたりするコードがたまにありますが,pathlibを使えばそのようなこともなくなりますね.