投稿

4月, 2018の投稿を表示しています

Jetson TX1 (JetPack 3.2) に Amazon Alexa をインストールしてSmapleAppで遊ぶ

ラズパイほどインパクトないんで、なぜTX1に?という疑問は置いといて、Amazon Alexa (Alexa Voice Service)をインストールした。いろいろハマったし、いまだ解決してない問題もあるのが、メモしておく。なお、AVSはUbuntu 16.04 LTSが条件なので、必然的にJetPackは3.2となる。 私は以下を参照した。 CQ出版インターフェス 2018/4月号 (AIスピーカー特集、ラズパイを使用) Alexa AVS-Device-SDK Wiki Ubuntu Linux Quick Start Guide  (上記、Wiki内) Audio 入出力 TX1は、HDMIでAudioを出力できる。私は最初、手持ちの古いUSB DACをつないだが問題なく使えた。入力は安そうなUSBマイク(エレコム HS-MC05USBK)を買って接続、問題なく使えた。いずれも、Soundで、入出力先を指定すればすぐ使えた。インターフェースからの引用だが、以下のコマンドでテストしておく。 #出力テスト $ speaker-test -t wav #入力テスト マイクで5秒録音、それを聞いてみる。 $ arecord --format=S16_LE --duration=5 --rate=16000 --file-type=raw out.r $ aplay --format=S16_LE --rate=16000 out.raw Amazon開発者登録は、以下を参照したがハマった。 失敗しないAlexa開発者アカウントの作り方 Amazon.co.jpとAmazon.comのどちらにも登録済みのメールアドレスを使うと問題が起きるらしい。なので、大昔から持っているAmazon.co.jpしか登録してないアドレスを使ったのだが、Amazon 開発者ポータルにログインできない。そんなアドレスは見つからないといわれ、思い余ってアカウントの新規作成をやったら(これはやってはいけない)そのアドレスは既に登録済みだといわれ.... 結局、co.jpで別メールアドレスを使って新しいアカウントを作成してみたら、あっさりと問題解決。 製品情報の登録をインターフェースを見ながらやったら、Amazonのページが変わっている。特にセキュリティプロファ...

Jetson TX1 (JetPack 3.2) に Amazon Alexa をインストールしてSmapleAppで遊ぶ

ラズパイほどインパクトないんで、なぜTX1に?という疑問は置いといて、Amazon Alexa (Alexa Voice Service)をインストールした。いろいろハマったし、いまだ解決してない問題もあるのが、メモしておく。なお、AVSはUbuntu 16.04 LTSが条件なので、必然的にJetPackは3.2となる。 私は以下を参照した。 CQ出版インターフェス 2018/4月号 (AIスピーカー特集、ラズパイを使用) Alexa AVS-Device-SDK Wiki Ubuntu Linux Quick Start Guide  (上記、Wiki内) Audio 入出力 TX1は、HDMIでAudioを出力できる。私は最初、手持ちの古いUSB DACをつないだが問題なく使えた。入力は安そうなUSBマイク(エレコム HS-MC05USBK)を買って接続、問題なく使えた。いずれも、Soundで、入出力先を指定すればすぐ使えた。インターフェースからの引用だが、以下のコマンドでテストしておく。 #出力テスト $ speaker-test -t wav #入力テスト マイクで5秒録音、それを聞いてみる。 $ arecord --format=S16_LE --duration=5 --rate=16000 --file-type=raw out.r $ aplay --format=S16_LE --rate=16000 out.raw Amazon開発者登録は、以下を参照したがハマった。 失敗しないAlexa開発者アカウントの作り方 Amazon.co.jpとAmazon.comのどちらにも登録済みのメールアドレスを使うと問題が起きるらしい。なので、大昔から持っているAmazon.co.jpしか登録してないアドレスを使ったのだが、Amazon 開発者ポータルにログインできない。そんなアドレスは見つからないといわれ、思い余ってアカウントの新規作成をやったら(これはやってはいけない)そのアドレスは既に登録済みだといわれ.... 結局、co.jpで別メールアドレスを使って新しいアカウントを作成してみたら、あっさりと問題解決。 製品情報の登録をインターフェースを見ながらやったら、Amazonのページが変わっている。特にセキュリティプロファ...

NVIDIA Optimusを搭載したノートPCでUbuntu 16.04 +「最新」CUDAをインストール

数年前に買ったノートPCにUbuntu 16.04をインストールし、プロプライエタリなNVIDIAのドライバーをインストールして、「最新」CUDAをインストールして、そこそこハマッタので、メモを残しておく。 Ubuntu 16.04をインストール後、プロプライエタリなNVIDIAのドライバーをインストールしたら、ブートしなくなった(頭が痛い…) Ctl+Alt+F1で仮想コンソールに移行し、 $ sudo apt purge "インストしたドライバーパッケージ” で何とか回復した。あるいは 再起動後、GRUBメニューでUbuntuを選択した状態で'e'キーを押し、 起動オプションをいじる。 'quiet splash'と書いてあるところの直後に'text 3'を追加してF10キーを押す。 するとランレベル3でCUIログインになりpurgeできるようになる、という、どこかに出ていた 技を使ったかも。 (までに何度、Ubuntuを再インストしたことやら…) どうも私のノートPCは、NVIDIA Optimusとか言って、GPUがNVIDIAのものと、インテルのものが2つ入っているのが原因らしい。で、この場合、bumblebeeを使った方法が紹介されているページがチラホラあったが、さらに調べてみると、bumblebeeは2013年から開発が止まっていて、ubuntu 16.04からはdeprecatedになっているらしい。そこでnvidia-primeを使う。参照したページをメモし忘れた(オイオイ…) まず、プロプライエタリなNVIDIAのドライバーのバージョンを決める。 $ sudo apt-cache search 'nvidia-[0-9]+$' で、出てきたもので選ぶ。私は” nvidia-384”を選択した。その理由は忘れた。(オイオイ、そこが肝心だろ …)確か、NVIDIAのサイトで、私のGPUに対応したLinux 64用のドライバーのバージョンを調べて、それか、それ以下のものにした記憶がある。次に、 $ sudo apt install nvidia-384 nvidia-prime nvidia-settings で、リブート後、Dashから”Nvid...

Jetson TX1 + JetPack 3.2 + OpenCV 3.4.0 コンパイル with CUDA and OpenGL

NVIDIAのTX1で遊び始めた。JetPack 3.2にはOpenCV 3.3.1が含まれているが、どうやらCUDAもOpenGLもコンパイルから外されているらしい。そこでOpenCV 3.4.0をTX1でコンパイルしてみた。本当は現時点での最新、3.4.1も試してみたが、コンパイル中にエラー発生で、うまくいかなかったので3.4.0となった。なお、私のTX1にはSATAのSSDが増設してある。内蔵のeMMCだけでは容量的に無理かもしれない。 基本、下記の2つのリンク先を参考にさせてもらった。 OpenCV with CUDA for Tegra How to Install OpenCV (3.4.0) on Jetson TX2 前者の手順を3.4.0で行って、OpenGLをコンパイルに含めると生じる問題を、後者を参考に解決した。変更点を以下にまとめる。 好きなバージョンをチェックアウト $ git clone https://github.com/opencv/opencv.git $ cd opencv $ git tag $ git checkout -b v3.4.0 3.4.0   当然、opencv_extraも同じバージョンをチェックアウト。 v3.4.0なので、cherry-pick はすべてスキップ cmakeのオプションは "Jetson TX1" に以下の変更を入れた -DWITH_OPENGL=ON を追加 CUDAが9.0なので、 -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda- 9.0 に変更 OpenGLをONにすると、OpenCVをmakeしている途中でコンパイルエラーになる問題を解決。  /usr/local/cuda/include/cuda_gl_interop.h をエディットしてline #62~68あたりを次のようにコメントアウトする //#if defined(__arm__) || defined(__aarch64__) //#ifndef GL_VERSION //#error Please include the appropriate gl headers before including cuda_...