Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JetsonNanoで自動作曲配信システムを作ってる途中の話

Db8a7eb9cf22f26cedce8295a53c8d7c?s=47 Kawazu
December 14, 2021

 JetsonNanoで自動作曲配信システムを作ってる途中の話

Db8a7eb9cf22f26cedce8295a53c8d7c?s=128

Kawazu

December 14, 2021
Tweet

Transcript

  1. JetsonNanoで 自動作曲配信システムを 作ってる途中の話 河津正和

  2. 河津正和 バックエンドエンジニア 自社サービス開発をしつつ、本業以外で フリーランス的な仕事なども Twitter: kawazu255_ 自己紹介

  3. やってるコミュニティ 毎月ゲストをお呼びして シビックテックな話を伺う CivicTechRadio テクニカルディレクターの ための 技術知見共有コミュニティ Technical Director Meetup

    音楽に関わる技術の LT MusicLT
  4. 以前作った自動作曲プログラム

  5. システム構成 メロディ・伴奏 MIDI ドラム MIDI MIDI合成 MIDIファイル生成側 MIDIファイル再生側 合成後 MIDI

  6. Google Magenta • 米Googleのディープラーニング(深層学習)プロジェクト「Google Brain」から生まれ た、機械学習を用いて優れたアートや音楽を生み出せるかどうかを試すプロジェク ト。 • 機械学習システム「TensorFlow」を使用している。 •

    学習モデルも存在しており、環境構築さえやれば作曲プログラムを動かすことがで きる。 • https://github.com/tensorflow/magenta
  7. None
  8. 毎回配信開始が手間 PCのリソース持っていかれる(CPUや 音声系)

  9. もういっそのことずっと 配信しっぱなしにできたらいいのに

  10. そうだ!JetsonNanoを使おう!

  11. JetsonNanoな理由 • もう一個ラップトップ買うのは流石に高い • JetsonNanoなら(Macbookとかより)お得 • Tensorflowが動くっぽいからMagentaも動くんじゃない?(適当)

  12. None
  13. ロードマップ • JetsonNanoをセットアップ • 自動作曲プログラムをJetsonNanoにセット • 配信設定を整える

  14. ロードマップ • JetsonNanoをセットアップ • 自動作曲プログラムをJetsonNanoにセット • 配信設定を整える

  15. 用意したJetsonNano周辺機器 • JetsonNano本体 • ケースとファン • 有線キーボード&有線マウス • USB Wi-Fiモジュール(結局有線LANにした)

    • ちっこいディスプレイ • 5V/3AのmicroUSB電源は持っていた(ラズパイ用) • microSDカードも持っていた(ラズパイ用でTeamのやつ)
  16. None
  17. 起動しない

  18. 仮説 • microUSB電源をさすとLED点灯するがそれすらない • JetsonNanoのmicroUSBは5V/2A対応なのでそれが原因? • 安定稼働のためには5V/4AのACアダプタがいいらしい • ACアダプタを使うには一部回路をショートさせる必要あり(JetsonNano仕様) •

    回路ショートのためにジャンパワイヤを買おう
  19. すでにジャンパピン刺さってた! 刺さってる状態でmicroUSBを使って たのが原因ぽい (新規購入の方気をつけて )

  20. None
  21. 一度Nvidiaの画面になった後 起動しない

  22. 仮説 • JetsonNanoハードの起動は成功しているのでOS側? • microSDカードが怪しい • UHS-I規格に対応するSDカードじゃないとダメっぽい!

  23. None
  24. 起動成功!

  25. ここまでの要約 • 5V/4Aの電源を用意しておこう! • UHS-I規格のSDカードを用意しておこう!

  26. ロードマップ • JetsonNanoをセットアップ(←詰まってるところ) • 自動作曲プログラムをJetsonNanoにセット • 配信設定を整える

  27. None
  28. Docker化しているので docker-compose buildで 動くはず(鬼門) ちなみにMacでは動いた TensorflowがJetsonNanoで動くなら Magentaもいけると思うが...

  29. $ sudo apt-get install python3-pip $ pip3 install pygame $

    sudo apt-get install docker.io $ sudo apt-get install docker-compose
  30. Step 3/18 : RUN apt update && apt install -y

    python-pip python3-pip ---> [Warning] The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested ---> Running in 2378b4820e6e standard_init_linux.go:228: exec user process caused: exec format error ERROR: Service 'magenta' failed to build: The command '/bin/sh -c apt update && apt install -y python-pip python3-pip' returned a non-zero code: 1 イメージをビルドしたマシンと、コンテナを実行するマシンのCPUアーキテ クチャが異なるために発生するエラー
  31. ここがlinux/amd64前提なので書き換えの必要あり

  32. arm64/v8のベースイメージを使って 自分でmagentaをインストール& 環境構築しないとダメそう

  33. ロードマップ • JetsonNanoをセットアップ(←詰まってるところ) • 自動作曲プログラムをJetsonNanoにセット • 配信設定を整える

  34. None
  35. Ubuntu用OBSがあるので いけそう(希望)

  36. 感想と今後 • ハード系で詰まると機器などの調達でリードタイムあるから試すときは時間に余裕持ってやった ほうがいいですね(LT1週間前の突貫は無茶) • JetsonNano上でmagentaの環境を作るところをやってみる ◦ 最悪無理にdockerで作らなくてもいいかも • AI系ライブラリがCPUアーキテクチャ依存なのはあるあるらしくて、もっと事前に調べておけばよ

    かった • もっと音楽の話したかったのに気づいたらほぼ JetsonNanoとDockerの話だった • magenta自動作曲用の学習モデルは色々あるらしく、次機会があればその辺り試してみた話を したいかも
  37. 次回、完結編...?