ガイダンス送信pgm
をテンプレートにして作成
ホーム
検索
最終更新
テスト
リンク
ヘルプ
新規
pukiwiki-official
pukiwiki-dev
ヘルプ
プラグインヘルプ
開始行:
***ガイダンス送信pgm [#y9695552]
【送信pgm】
># nano /etc/asterisk/scripts/dmr_monitor6.sh
<
中身は次の通り
>
#!/bin/bash
# 設定
LETTERS_DIR="/usr/share/asterisk/sounds/en/letters"
DIGITS_DIR="/usr/share/asterisk/sounds/en/digits"
FIXED_FILE="/tmp/asl-tts-root/at-jj1yeg.ul"
OUTPUT="/var/lib/asterisk/sounds/final_speech.ul"
EXT=".ulaw"
echo "monitoring $log_file (sox integration version)..."
tail -n 0 -F /var/log/mmdvm/MMDVM_Bridge-*.log | while r...
# 1. voice header 検知 (コールサインの抽出)
if echo "$line" | grep -q "received network voice hea...
# コールサインを抽出して小文字に変換
callsign=$(echo "$line" | sed -n 's/.*from \(.*\)...
echo "Detected callsign: $callsign"
fi
# 2. end of transmission 検知
if echo "$line" | grep -q "received network end of vo...
duration=$(echo "$line" | sed -n 's/.* transmissi...
# durationが空でなく、3.0秒未満の場合に処理実行
if [ -n "$duration" ] && [ "$(echo "$duration < 3...
echo "short key detected ($duration s). gener...
# 音声ファイルリストの作成
FILE_LIST=""
for (( i=0; i<${#callsign}; i++ )); do
char="${callsign:$i:1}"
PARAMS="-t ul -r 8000 -c 1"
if [[ "$char" =~ [a-z] ]]; then
FILE_LIST="$FILE_LIST $PARAMS $LETTER...
elif [[ "$char" =~ [0-9] ]]; then
FILE_LIST="$FILE_LIST $PARAMS $DIGITS...
fi
done
# sox で結合して一つのファイルにする
if [ -n "$FILE_LIST" ]; then
sox $FILE_LIST -t ul -r 8000 -c 1 "$FIXED...
# Asterisk で再生
echo "playing final_speech..."
asterisk -rx "rpt playback 52984 /var/lib...
fi
fi
fi
done
<
コマンドとして実行できるように
> # chmod 755 /etc/asterisk/scripts/dmr_monitor6.sh
<
次のサービスとして登録し自動起動とする
># nano /etc/systemd/system/dmr-monitor.service
<
中身は
> [Unit]
StartLimitIntervalSec=0
Description=DMR Monitor and ASL3 TTS Playback Service
After=asterisk.service
[Service]
Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbi...
ExecStart=/etc/asterisk/scripts/dmr_monitor6.sh
Restart=always
RestartSec=5
User=root
StandardOutput=append:/var/log/dmr_monitor.log
StandardError=inherit
[Install]
WantedBy=multi-user.target
<
これを起動させるが、その前に[[音声ファイル>音声ファイル...
> /tmp/asl-tts-root/at-jj1yeg
<
自動起動はcron -e で
5 9 * * * /usr/bin/systemctl stop dmr-monitor.service &&...
&color(Red){''以下まだ工事中''};
終了行:
***ガイダンス送信pgm [#y9695552]
【送信pgm】
># nano /etc/asterisk/scripts/dmr_monitor6.sh
<
中身は次の通り
>
#!/bin/bash
# 設定
LETTERS_DIR="/usr/share/asterisk/sounds/en/letters"
DIGITS_DIR="/usr/share/asterisk/sounds/en/digits"
FIXED_FILE="/tmp/asl-tts-root/at-jj1yeg.ul"
OUTPUT="/var/lib/asterisk/sounds/final_speech.ul"
EXT=".ulaw"
echo "monitoring $log_file (sox integration version)..."
tail -n 0 -F /var/log/mmdvm/MMDVM_Bridge-*.log | while r...
# 1. voice header 検知 (コールサインの抽出)
if echo "$line" | grep -q "received network voice hea...
# コールサインを抽出して小文字に変換
callsign=$(echo "$line" | sed -n 's/.*from \(.*\)...
echo "Detected callsign: $callsign"
fi
# 2. end of transmission 検知
if echo "$line" | grep -q "received network end of vo...
duration=$(echo "$line" | sed -n 's/.* transmissi...
# durationが空でなく、3.0秒未満の場合に処理実行
if [ -n "$duration" ] && [ "$(echo "$duration < 3...
echo "short key detected ($duration s). gener...
# 音声ファイルリストの作成
FILE_LIST=""
for (( i=0; i<${#callsign}; i++ )); do
char="${callsign:$i:1}"
PARAMS="-t ul -r 8000 -c 1"
if [[ "$char" =~ [a-z] ]]; then
FILE_LIST="$FILE_LIST $PARAMS $LETTER...
elif [[ "$char" =~ [0-9] ]]; then
FILE_LIST="$FILE_LIST $PARAMS $DIGITS...
fi
done
# sox で結合して一つのファイルにする
if [ -n "$FILE_LIST" ]; then
sox $FILE_LIST -t ul -r 8000 -c 1 "$FIXED...
# Asterisk で再生
echo "playing final_speech..."
asterisk -rx "rpt playback 52984 /var/lib...
fi
fi
fi
done
<
コマンドとして実行できるように
> # chmod 755 /etc/asterisk/scripts/dmr_monitor6.sh
<
次のサービスとして登録し自動起動とする
># nano /etc/systemd/system/dmr-monitor.service
<
中身は
> [Unit]
StartLimitIntervalSec=0
Description=DMR Monitor and ASL3 TTS Playback Service
After=asterisk.service
[Service]
Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbi...
ExecStart=/etc/asterisk/scripts/dmr_monitor6.sh
Restart=always
RestartSec=5
User=root
StandardOutput=append:/var/log/dmr_monitor.log
StandardError=inherit
[Install]
WantedBy=multi-user.target
<
これを起動させるが、その前に[[音声ファイル>音声ファイル...
> /tmp/asl-tts-root/at-jj1yeg
<
自動起動はcron -e で
5 9 * * * /usr/bin/systemctl stop dmr-monitor.service &&...
&color(Red){''以下まだ工事中''};
ページ名: