* Simplex Repeater (Parrot Repeater) [#a7b6bc06]
 
 ** Simplex Repeaterとは [#vb58ff5a]
 
 俗にいうオウム返しリピーター。~
 受信した音声を録音し、そのまま送り返す。~
 これをRaspberry Pi 2で作ります。~
 
 Webに掲載されている手順では足りない部分やVerが変わっている部分を補足して整理しました。
 
 ** RasPiとRaspbianの準備 [#h884dd3b]
 
 GUIは不要なので、下記URLからRASPBIAN JESSIE LITEをダウンロードします。
 
 RasPi2で動かしましたが、RasPi3でもPeaterPiPry2は動くと思います。~
 ただし、RasPi3ではUARTがBluetoothと喧嘩するためURATからLoginすして作業するのはうまくいかない(文字化けする)かもしれません。~
 ただし、RasPi3ではUARTがBluetoothと喧嘩するためURATからLoginして作業するのはうまくいかない(文字化けする)かもしれません。~
 その場合はとりあえずUARTでログインしてSSHを有効にして、その後の作業はSSHでやるのが良いでしょう。
 
 https://www.raspberrypi.org/downloads/raspbian/
 
 ダウンロードしたらZip解凍して、Win32 DiskImager等でMicroSDカードにコピーします。~
 コピーが完了したら起動して、UARTまたはSSHでログインし、Updateを行います。
  $ sudo apt-get update
  $ sudo apt-get upgrade
 
 再起動します。
 
 ** PeaterPiPry2のセットアップ [#d1d3bab1]
 
 PeaterPiPry2はPythonで動くスクリプトです。~
 これはもともとRaspberry Pi B(初期のもの)を対象としています。
 
 順を追って必要なモジュールをインストールしていきます。
 
 *** PeaterPiPry2を動かす前の準備 [#b807fecd]
 
 http://www.twotonedetect.net/twotonedetect-on-a-raspberry-pi/
 
 ここに書いてある手順でいろいろなモジュールを入れていきます。
 
 Pythonを入れる
  $ sudo apt-get install python-setuptools
  $ sudo apt-get install python-dev
 
 Pythonのモジュール管理ツールpipを入れる
  $ cd
  $ mkdir pip
  $ cd pip
  $ wget https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz
  $ tar zxf pip-1.3.1.tar.gz
  $ cd pip-1.3.1
  $ sudo python setup.py install
 
 Pythonモジュールの追加
  $ sudo pip install Pycrypto
  $ sudo pip install Iniparse
  $ sudo pip install numpy
 
 pyaudioの取得とインストール
  $ cd
  $ sudo apt-get install git
  $ git clone http://people.csail.mit.edu/hubert/git/pyaudio.git
  $ sudo apt-get install libportaudio0 libportaudio2 libportaudiocpp0 portaudio19-dev
  $ sudo pip install pyaudio
 
 ffmpegの取得とインストール(apt-getできないので手動で入れます)
  $ cd
  $ mkdir ffmpegtemp
  $ cd ffmpegtemp
  $ sudo su
  # wget https://github.com/ccrisan/motioneye/wiki/precompiled/ffmpeg_2.8.3.git325b593-1_armhf.deb
  # dpkg -i ffmpeg_2.8.3.git325b593-1_armhf.deb
  # apt-get install libdc1394-22 libxvidcore-dev libav-tools libopencore-amrwb-dev libopencore-amrnb-dev
  # exit
  $
 
 pulseaudioのインストール
  $ sudo apt-get install pulseaudio
  $ sudo apt-get install pavucontrol
 
 pulseaudioの設定ファイルの修正
  $sudo vi /etc/pulse/daemon.conf
  
  ;resample-method=speex-float-3
   ↑これを、
  resample-method=trivial
   ↑こうする
 
 ** PeaterPiPyr2のインストールとセットアップ [#fe95d07d]
 
 http://www.twotonedetect.net/raspberry-pi-simplex-repeater-the-peaterpipyr/
 
 このページに従って作業すればよいのですが、ここから取得できる本体PeaterPiPyr2.pyはBUGっていて動きません。~
 次の手順でファイルを揃えます。
 
 まず、パッケージを取得して展開します。
  $ mkdir PeaterPiPyr2
  $ cd PeaterPiPyr2
  $ wget http://www.twotonedetect.net/downloads/simplexrepeater/PeaterPiPyr2.tgz
  $ tar zxf PeaterPiPyr2.tgz
 
 BUG FIXされたPeaterPiPyr2は次のURLから取得します。
 
 https://github.com/teopost/RepeaterPi/blob/master/PeaterPiPyr2.py
 
 取得したPeaterPiPyr2.pyを先のアーカイブに含まれていたPeaterPiPyr2.pyと差し替えます。
 
 PeaterPiPyr2.pyの中身をいくつか修正します。~
 使用しているUSB-AudioはCreative Sound Blaster Play!2です。
  $ vi PeaterPiPyr2.py
  
  chunk = 4096
  RATE = 44100
  
 この2つの数値を変更します。~
 RATEはUSB-Audioが対応しているサンプリング周波数にします。~
 Sound Blaster Play!2は44100でないとエラーになります。~
 chunkはバッファーの大きさを指定していて、これもある程度大きくしないとバッファオーオーバーフローが発生して動きません。4096か8192あたりにします。
 chunkはバッファーの大きさを指定していて、これもある程度大きくしないとBuffer
 Over Flow が発生して動きません。4096か8192あたりにします。
 
 次に、/etc/pulse/daemon.confを修正します。
  $ sudo vi /etc/pulse/daemon.conf
  
  修正前:
  ; default-fragments = 4
  ; default-fragment-size-msec = 25
  
  修正後:
  default-fragments = 10
  default-fragment-size-msec = 2
 この値は、録音再生時に音がザザザザと変になる場合は調整が必要です。~
 デフォルトではだめでした。
 
 最後にPeaterPiPyr2.pyのconfigファイルとTX.py RX.pyを修正します。~
 TX.pyとRX.pyににはPTT出力のピン指定があります。GPIO番号ではなく物理ピン番号で指定します。
 
 config.cfgの例
  [Section1]
  audio_threshold = 150    ;音声検出の閾値
  trigger_time = 0.2       ;録音スタートの音声時間(最低0.2秒)
  record_seconds = 2.0     ;最低録音時間(0秒以上、7秒以下)
  release_time = 2.0       ;無音検出時間(この時間以上無音が継続すると録音終了)
  input_device_index = 2   ;入力デバイスID
  output_device_index = 2  ;出力デバイスID

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS