いきなりプログラミング Python~サポートページ~

 書籍「いきなりプログラミングPython」をご購入いただきありがとうございます。このページは本書で使われるサンプル画像や、無料で使える動画素材、補足コードやエラー対応について紹介しています。

こんにちは。wat(@watlablog)です。書籍で扱いきれなかった要素をここで紹介します!

サンプル画像

 本書の第5章と第6章は画像処理関連のコードを紹介しています。お手軽に画像処理を試せるように、書籍で使用していた画像(+α)を公開します。是非ダウンロードして遊んでみてください。

apple-and-banana
ダウンロード
cube
ダウンロード
flower
ダウンロード
cats
ダウンロード
cup
ダウンロード
people
ダウンロード
tokyo
ダウンロード

サンプル動画

 本書第6章で笑顔の検出を行っている動画素材は商用利用可能なvideoAC(https://video-ac.com/)様のダウンロード素材です。書籍と同じ動画で確認をしたい場合は、「https://video-ac.com/video/17803」をダウンロードして頂き、翔泳社ダウンロードサイトより入手できる動画に対する笑顔キャプチャー「smile_capture_video.ipynb」のコードで遊んでみてください。

補足コード

第3章:周波数分析のコード

 書籍第3章P102には2つの音声「recorded.wav」と「pitch-shifted.wav」を周波数波形で比較する内容を紹介しています。ここではそのコードを紹介します。
 このプログラムではSciPyという外部ライブラリを使います。SciPyを使用するには、 pip install scipyをコマンドラインやターミナルで実行してください。

 プログラム実行フォルダにrecorded.wavとpitch-shifted.wavを置き、次のプログラムを実行してください。

 ボイスチェンジ前後で周波数の異なる波形が比較できていたら成功です。

周波数波形の比較

 本コードにはフーリエ変換という計算が使われています。より詳しい説明を知りたい方は、是非WATLABブログの以下の記事を読んでみてください。
PythonでFFT実装!SciPyのフーリエ変換まとめ

エラー対応

Code6-1-2でUnpicklingErrorが発生する

  ultralytics pip installすると torchという外部ライブラリも依存関係として自動的にインストールされます。どうやら近年のバージョンアップで torch==2.6からセキュリティ関連のアップデートが施されたことが原因のエラーと考えられます。

 応急対策としては pip uninstall torchを実行後、 pip install torch==2.5を実行して torchのバージョンをダウンするのが最も簡明です。
 もしかすると環境によっては torchvision 0.20にバージョンダウンすることが必要かもしれません。この辺は書籍を読んでくださった方と以下の記事でコメントのやりとりをしていますので、参考にリンクを置いておきます。
 https://watlab-blog.com/2019/05/21/pyaudio-install/