プチコンまとめWiki (初代/mkII)

投稿プログラム : DTMFエンコーダ

パンくずリスト

2012年4月15日投稿 / 投稿者 : いったん / タグ : 投稿プログラム ツール QRコード mkII専用

概要

このプログラムはDTMF信号を再現するプログラムです。

信号の一番近い音階をMMLで鳴らしています。

操作方法

  • 再生させたい信号を入力すると鳴ります。
  • 対応する信号は 0,1,2,3,4,5,6,7,8,9,#,*,A,B,C,Dです。

DTMF信号とは

DTMFとは、Dual Tone Multiple Frequency の略で、 プッシュホン電話機が電話局に電話番号を送る時に使う、ピポパ音のことです。 無線などでも使われています。

信号は高音域と低音域の二音の4×4パターンを組み合わせてできています。

スクリーンショット・動画

動作しているところを撮影した写真や動画があれば貼り付けてください。

QR コード

プチコンmkII 向けの QR コードです。

PRG:DTMF
qr0.PNG

プログラムリスト

  1. ’DTMFシンコ゛ウ エンコータ゛ by ittan
  2. CLEAR
  3. ’ショキセッテイ
  4. INTERVAL=20:’オンセイ ノ カンカク
  5. A$=”7F”*32+”80”*32
  6. BGMPRG 224,127,0,0,127,A$
  7. DIM B(24),C(8)
  8. ’Hzスウ(サンコウ)
  9. B(0)=440
  10. FOR I=1 TO 23
  11. B(I)=B(I−1)*105.943/100
  12. NEXT
  13. ’DTMFオンカイ(キンシ゛チ)
  14. DATA 8,10,11,13,17,19,21,23
  15. FOR I=0 TO 7
  16. READ C(I)
  17. NEXT
  18. @LOOP
  19. INPUT A$
  20. FOR I=0 TO LEN(A$)−1
  21. S$=MID$(A$,I,1)
  22. S=−1
  23. IF S$==”1” THEN S=0
  24. IF S$==”2” THEN S=1
  25. IF S$==”3” THEN S=2
  26. IF S$==”4” THEN S=3
  27. IF S$==”5” THEN S=4
  28. IF S$==”6” THEN S=5
  29. IF S$==”7” THEN S=6
  30. IF S$==”8” THEN S=7
  31. IF S$==”9” THEN S=8
  32. IF S$==”*” THEN S=9
  33. IF S$==”0” THEN S=10
  34. IF S$==”#” THEN S=11
  35. IF S$==”A” THEN S=12
  36. IF S$==”B” THEN S=13
  37. IF S$==”C” THEN S=14
  38. IF S$==”D” THEN S=15
  39. IF S==−1 THEN ?”ERROR”
  40. GOSUB @B
  41. NEXT I
  42. GOTO @LOOP
  43. @B ’オトヲナラス
  44. L=69
  45. IF S==−1 THEN RETURN
  46. E=L+C(S%4+4)
  47. D=L+C(FLOOR(S/4))
  48. ?B(E−L)”Hz:”B(D−L)”Hz”
  49. M$=”:0L20@224N”+STR$(D)+”:1L20@224N”+STR$(E)
  50. BGMPLAY M$
  51. WAIT INTERVAL
  52. RETURN

CHECKER FLAG (ひとことコメント)

この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は掲示板へ)

  • 投稿者 : アドバイスなどありましたらお願いします (2012/04/15 (日) 15:42:59)
  • わぁぃ@ : 26行目からずらっと並んでいるIF文はDATA文を使えばすっきりする。 (2012/04/15 (日) 15:47:47)
  • 名無しさん : 投稿者さんは、なんでこのプログラム作ったんですか? (2012/04/15 (日) 16:11:25)
  • 投稿者 : 名探偵コナンの映画でこのプログラムを声でしていたので (2012/04/15 (日) 16:21:54)
  • わぁぃ@ : 22行目をA$=INKEY$():IF A$==”” THEN @LOOPにするとエンター押す手間が省ける。 (2012/04/15 (日) 17:08:55)
  • 5年のすい : ああ、戦慄の楽譜ですよね。 (2012/04/15 (日) 21:10:14)
  • 5年のすい : すいません, (2012/04/15 (日) 21:11:26)
  • 名無しさん : 自分の聞いてたラジオでDTMF使ったスマホアプリやってた (2012/04/15 (日) 23:18:44)
  • 下手な人 : mkII専用なら25〜41行目はS=INSTR("123456789*0#ABCD",S$)の1文にまとめられそうですね。 (2012/04/17 (火) 07:07:36)
  • 名無しさん : <<<<わぁい@さんへ その方法を使うとエラーがたくさん出て、少し大変でした。 (2012/04/17 (火) 17:08:29)
  • カービィ★KIRBY : このプログラムって、どんな使い道があるのですかねぇ? (2012/06/03 (日) 14:38:49)
  • 名無しさん : 32123332223##321233322321でメリーさんの羊が弾けます。 (2012/10/30 (火) 16:51:43)
  • nao sato : そのコナンのやつって、戦慄のフルスコアじゃないですか? (2013/02/03 (日) 15:15:29)
  • 名無しさん : 上に描いてある (2013/02/03 (日) 15:49:04)

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.033 秒 | このページの最終更新 : 2013/02/03 (日) 15:49:04 (2481d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30