Skip to content

lambda-tech-club/DTMF-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

DTMF Generator for SMS

ショートメッセージサービス用のDTMF信号を生成する

Open In Colab

YouTube: https://youtu.be/x4DU_dA2LAc

Usage

事前準備初期設定出力波形の生成処理を実行してから目的に合わせて次に進む

電話番号の送信

  • 電話番号をgenerate_DTMF_waveの引数に与えるとDTMF波形が得られる
  • 半角数字以外の文字は無視される
# 電話番号を入力
DIAL_NUMBER: str = "090-0123-4567"
# DTMF信号に変換
data = generate_DTMF_wave(DIAL_NUMBER)
# 信号送出
Audio(data, rate=SAMPLING_RATE, autoplay=True)

メッセージの送信

  • メッセージの文字列をメッセージ番号に変換してgenerate_DTMF_waveの引数に与える
  • 半角カタカナ、半角英数、一部記号のみに対応
  • 詳細仕様: https://www.docomo.ne.jp/service/sms/usage/
# メッセージを入力(半角カタカナと半角英数、一部記号のみに対応)
MESSAGE: str = "テキストメツセージ"
# メッセージ番号に変換
message_numbers = (CODE_TABLE[m] for m in MESSAGE if m in CODE_TABLE)
# 仕様に合わせて先頭と末尾に番号追加
dial_number = "*2*2" + "".join(message_numbers) + "##"
# DTMF信号に変換
data = generate_DTMF_wave(dial_number)
# 信号送出
Audio(data, rate=SAMPLING_RATE, autoplay=True)

メッセージの送信(全角やひらがなを使いたい場合)

  • 全角やひらがなを使いたい場合はjaconvなどを使い半角カタカナに変換すれば良い
# メッセージを入力
MESSAGE: str = "テキストメッセージ"
# 半角カタカナに合わせて正規化
normalized_message = z2h(hira2kata(MESSAGE), kana=True, ascii=True, digit=True)
# メッセージ番号に変換
message_numbers = (CODE_TABLE[m] for m in normalized_message if m in CODE_TABLE)
# 仕様に合わせて先頭と末尾に番号追加
dial_number = "*2*2" + "".join(message_numbers) + "##"
# DTMF信号に変換
data = generate_DTMF_wave(dial_number)
# 信号送出
Audio(data, rate=SAMPLING_RATE, autoplay=True)

About

ショートメッセージサービス用のDTMF信号を生成する

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published