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

投稿プログラム : 多音色ピアノ

パンくずリスト

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

概要

MML音源を鍵盤で演奏・録音・再生できるプログラムです。 MMLに変換することはできません。

操作方法

  • ABボタンで音色の変更
  • 上下ボタンで音量の変更(5刻み)
  • 左右ボタンでパンボットの変更(5刻み)
  • Xボタンでペダル(音が鳴り続ける)
  • REC/STOPボタンで録音ができます。
  • 録音している間はRECボタンがピンク色になります。
  • ファイルメニューでロード・セーブや再生ができます。

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

IMG_1753.JPG

QR コード

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

1/42/4
qr02.pngqr12.png
3/44/4
qr22.pngqr32.png

プログラムリスト

  1. ’ケンハ゛ン エンソウソフト by ittan
  2. ’(real keyboard V1.2)
  3. VISIBLE 1,1,0,0,1,1
  4. ACLS:CLEAR
  5. SYSBEEP=FALSE
  6. GPAGE 0:GCLS 10
  7. GPAGE 1:GCLS 10
  8. SPPAGE 0:SPCLR
  9. SPPAGE 1:SPCLR
  10. PNLTYPE”OFF”
  11. ’ホ゛タンサクセイ
  12. RESTORE @BTDATA
  13. FOR I=0 TO 2
  14.  FOR J=0 TO 3
  15.   C$=””
  16.   FOR K=0 TO 3
  17.    READ A$
  18.    C$=C$+A$
  19.   NEXT K
  20.   CHRSET”SPS0”,I*4+J,C$
  21.  NEXT J
  22. NEXT I
  23. FOR I=0 TO 2
  24. SPSET I+1,I,0,0,0,0
  25. SPOFS I+1,240,I*20
  26. GFILL 239,I*20+1,253,I*20+13,244+I
  27. NEXT
  28. SPSET 0,12,0,0,0,0
  29. SPSCALE 0,40
  30. SPOFS 0,−16,0
  31. L=16
  32. ’ケンハ゛ンサクセイ
  33. GLINE 0,95,224,95,14
  34. FOR G=0 TO 96 STEP 96
  35.   FOR I=0 TO 13:L1=(I+1)*L
  36.    GLINE L1,G,L1,96+G,14
  37.    GPAINT L1−1,G,15:A=0
  38.    S=I%7
  39.    IF S<=1 THEN A=1
  40.    IF S>=3 AND S!=6 THEN A=1
  41.    IF A==0 THEN @SKIP
  42.    L2=I*L+L−6
  43.    GFILL L2,G,L2+L−4,55+G,31
  44.    @SKIP
  45.   NEXT I
  46. NEXT G
  47. GFILL 225,0,240,94,30
  48. ’オンカイサクセイ
  49. @O
  50. DATA 0,2,4,5,7,9,11
  51. DATA 1,3,6,8,10
  52. RESTORE @O
  53. DIM MNOTE(7),MNOTE2(5)
  54. FOR I=0 TO 6
  55. READ MNOTE(I)
  56. NEXT
  57. FOR I=0 TO 4
  58. READ MNOTE2(I)
  59. NEXT
  60. ’キソセッテイ
  61. MN=0   ’オンテイ
  62. MO=48  ’オンショク
  63. MV=100 ’ホ゛リュ−ム
  64. MP=65  ’ハ゜ンホ゛ット
  65. ’Music player サクセイ
  66. DIM M$(50)
  67. MI=0   ’ファイルスウ
  68. O=−1
  69. ’0―48    MN
  70. ’49―118  MO
  71. ’119―143 MV
  72. ’144―168 MP
  73. ’169     キュウフ
  74. ’170     ノハ゛シ
  75. ’179―255 ナカ゛サ(コンマ)
  76. T2=3     ’コンマスウ(3スイショウ)
  77. @TYTL
  78. TYTL=0
  79. LOCATE 0,0
  80. ?”┌─────────────────┐”
  81. ?”│Real keybord v1.2│”
  82. ?”└─────────────────┘”
  83. @LOOP ケンハ゛ンモ−ト゛
  84. IF TYTL==1 THEN GOTO@TYTL
  85. LOCATE 0,3
  86. ?”АБ :TONE:”MO”   ”
  87. ?”↑↓ :VOL.:”MV”   ”
  88. ?”←→ :PAN.:”MP”   ”
  89. ?”Ф  :ヘ゜タ゛ル
  90. BT=NOT(OB) AND BUTTON()
  91. OB=BUTTON()
  92. IF BT THEN GOSUB@BT
  93. IF TCHST==0 THEN GOSUB@STOPBG
  94. IF U THEN GOTO@LOOP
  95. IF TCHST THEN GOSUB@PLAY
  96. GOTO@LOOP
  97. END
  98. @STOPBG
  99. U=0
  100. IF BUTTON() AND 64 THEN RETURN
  101. BGMSTOP
  102. RETURN
  103. @BT ホ゛タンチェック
  104. IF BT==1  THEN MV=MV+5
  105. IF BT==2  THEN MV=MV−5
  106. IF BT==4  THEN MP=MP−5
  107. IF BT==8  THEN MP=MP+5
  108. IF BT==16 THEN MO=MO+1
  109. IF BT==32 THEN MO=MO−1
  110. IF MV>125 THEN MV=125
  111. IF MV<0   THEN MV=0
  112. IF MP>125 THEN MP=125
  113. IF MP<0   THEN MP=0
  114. IF MO>128  THEN MO=0
  115. IF MO<0   THEN MO=128
  116. RETURN
  117. @PLAY オトヲナラス
  118. U=1:X=TCHX:Y=TCHY
  119. C=GSPOIT(X,Y)
  120. IF C==10 OR C==14 THEN RETURN
  121. IF C>240 THEN @P
  122. IF C==30 THEN C=47
  123. C=((C+1)/16)−1
  124. ON C GOSUB @WH,@BR
  125. IF C>1 THEN M0=48:SX=230:SY=84
  126. MN=(M0−24)*(4096/12)
  127. SPOFS 0,SX−2,SY
  128. A$=”V”+STR$(MV)+”P”+STR$(MP)+”L1@”+STR$(MO)+”N”+STR$(M0+48)
  129. BGMPLAY A$
  130. GOSUB @P0
  131. RETURN
  132. @WH
  133. M0=FLOOR(X/L)
  134. M0=M0+(1−FLOOR(Y/96))*14
  135. M0=FLOOR(M0/7)*12+MNOTE(M0%7)
  136. X=FLOOR(X/L)
  137. Y=FLOOR(Y/96)
  138. SX=X*16+6
  139. SY=84+Y*96
  140. RETURN
  141. @BR
  142. M2=0
  143. M1=FLOOR((X−8)/L)
  144. IF M1%7>2 THEN M2=1
  145. M3=FLOOR(M1/7)
  146. M4=10−FLOOR(Y/96)*10
  147. M1=M1−M3*2−M2+M4
  148. M0=MNOTE2(M1%5)
  149. M0=M0+FLOOR(M1/5)*12
  150. X=FLOOR((X−8)/L)
  151. Y=FLOOR(Y/96)
  152. SX=X*16+14
  153. SY=46+Y*96
  154. RETURN
  155. @P
  156. P=C
  157. IF P>=249 THEN P=249
  158. IF P==247 THEN M0=169
  159. ON P−244 GOSUB @PFILE,@PSTOP,@PREC
  160. RETURN
  161. @PFILE
  162. CLS
  163. TYTL=1
  164. LOCATE 0,0
  165. ?”―FILEMENU―”
  166. ?”L:musicロ−ト゛
  167. ?”S:musicセ−フ゛
  168. ?”P:musicフ゜レイ
  169. ?”N:シンキサクセイ
  170. ?”Q:ファイルメニュ−オワリ
  171. ?”E:ツ−ルオワリ
  172. INPUT FM$
  173. IF FM$==”L” THEN GOSUB @PFL
  174. IF FM$==”S” THEN GOSUB @PFS
  175. IF FM$==”P” THEN GOSUB @PFP
  176. IF FM$==”N” THEN GOSUB @PFN
  177. IF FM$==”Q” THEN CLS:RETURN
  178. IF FM$==”E” THEN GOTO @PFE
  179. GOTO@PFILE
  180. @PFL
  181. MEM$=””
  182. INPUT”ロ−ト゛スルナマエハ”;FM$
  183. FOR I=0 TO 99
  184.  F$=”MEM:”+FM$+STR$(I)
  185.  LOAD F$
  186.  M$(I)=MEM$
  187.  MXI=I
  188.  IF RESULT==FALSE THEN I=100
  189. NEXT
  190. MI=MXI
  191. RETURN
  192. @PFS
  193. INPUT”セ−フ゛スルナマエハ”;FM$
  194. FOR I=0 TO MI
  195. MEM$=M$(MI)
  196. F$=”MEM:”+FM$+STR$(I)
  197. SAVE F$
  198. NEXT
  199. RETURN
  200. @PFN
  201. FOR I=0 TO MI
  202. M$(I)=””
  203. NEXT
  204. MI=0
  205. ?”テ゛−タカ゛ ショウキョサレマシタ。”
  206. WAIT 120
  207. RETURN
  208. @PFP
  209. ?”エンソウチュウ...”
  210. MXI=MI
  211. GOSUB @MPLAY
  212. ?”エンソウシュウリョウ”
  213. WAIT 120
  214. RETURN
  215. @PFE
  216. ACLS
  217. CLEAR
  218. ?”オツカレ―”
  219. END
  220. @PSTOP
  221. REC=0
  222. SPCHR 3,2,0,0,0,0
  223. LOCATE 0,CSRY
  224. ?”        ”
  225. RETURN
  226. @PREC
  227. SPCHR 3,2,7,0,0,0
  228. REC=1:T0=MAINCNTL
  229. OP=−1
  230. OS=−1
  231. OL=−1:OO=−1:OV=−1
  232. LOCATE 0,CSRY
  233. ?”RECチュウ..”
  234. RETURN
  235. @P0 オト
  236. F$=””
  237. IF OV!=MV THEN F$=F$+CHR$(119+MV/5)
  238. IF OO!=MO THEN F$=F$+CHR$(49+MO)
  239. IF OP!=MP THEN F$=F$+CHR$(144+MP/5)
  240. OL=PL
  241. OV=MV
  242. OO=MO
  243. OP=MP
  244. GOSUB @P02
  245. F$=F$+CHR$(M0)
  246. IF 256−LEN(M$(MI))−LEN(F$)<0 THEN MI=MI+1
  247. IF REC THEN M$(MI)=M$(MI)+F$
  248. PSP=−1
  249. IF M0==169 THEN PSP=4
  250. GOSUB @PSP
  251. RETURN
  252. @P02
  253. T1=(MAINCNTL−T0)/T2
  254. T0=MAINCNTL
  255. IF T1>77 THEN T1=77
  256. T1=FLOOR(T1)
  257. F$=F$+CHR$(178+T1)
  258. RETURN
  259. @PSP
  260. IF PSP==−1 THEN @PSP2
  261. SPCHR PSP,PSP−1,1,0,0,0
  262. @PSP2
  263. IF O==−1 THEN @PSP3
  264. SPCHR O,O−1,0,0,0,0
  265. @PSP3
  266. O=PSP
  267. RETURN
  268. @MPLAY
  269. MS=0
  270. MD=0
  271. @MLOOP
  272. IF MXI<MD THEN RETURN
  273. M$=MID$(M$(MD),MS,1)
  274. MS=MS+1
  275. IF M$==”” THEN MD=MD+1:MS=0:GOTO@MLOOP
  276. M=ASC(M$)
  277. IF M<49 THEN @MN
  278. IF M<119 THEN @MO
  279. IF M<144 THEN @MV
  280. IF M<169 THEN @MP
  281. IF M==169 THEN @MR
  282. IF M==170 THEN @M_
  283. IF M>=178 THEN @ML2
  284. @ML
  285. PL=M−171
  286. PL2=1
  287. FOR I=0 TO PL−1
  288. PL2=PL2*2
  289. NEXT
  290. GOTO@MLOOP
  291. @ML2
  292. PL=M−178
  293. PL2=PL*T2
  294. GOTO@MR
  295. @MO
  296. MO=M−49
  297. GOTO@MLOOP
  298. @MV
  299. MV=(M−119)*5
  300. GOTO@MLOOP
  301. @MP
  302. MP=(M−144)*5
  303. GOTO@MLOOP
  304. @MN
  305. MN=(4096/12)*(M−24)
  306. A$=”V”+STR$(MV)+”P”+STR$(MP)+”L1@”+STR$(MO)+”N”+STR$(M+48)
  307. BGMPLAY A$
  308. ’BEEP MO,MN,MV,MP
  309. GOTO@MLOOP
  310. @M_
  311. @MR
  312. IF PL2==0 THEN GOTO@MLOOP
  313. WAIT PL2:GOTO@MLOOP
  314. ’−−−−−−−−−−−−−−−−−−−−−−−−−−−−
  315. @BTDATA
  316. ’0
  317. DATA”EEEEEEEEEBBBBBBB”
  318. DATA”EBEEEBEEEBEBBBBE”
  319. DATA”EBEEBBBEEBEBBBBE”
  320. DATA”EBEBBBEEEBBBBBBB”
  321. DATA”EEEEEEEEBBBBBBBE”
  322. DATA”EBBBBBBEBBBBBBBE”
  323. DATA”BBBBBBBEBBBBBBBE”
  324. DATA”EBBBBBBEBBBBBBBE”
  325. DATA”EBBBBEBBEBBBBEBB”
  326. DATA”EBBBBEBBEBBBBEBB”
  327. DATA”EBBBBEEEEBBBBBBB”
  328. DATA”EEEEEEEE00000000”
  329. DATA”BEEEBBBEBEBBBBBE”
  330. DATA”BEEEBBBEBEBBBBBE”
  331. DATA”BEEEBBBEBBBBBBBE”
  332. DATA”EEEEEEEE00000000”
  333. ’1
  334. DATA”EEEEEEEEE6666666”
  335. DATA”E66EE6EEE6E6666E”
  336. DATA”E66E666EE666E66E”
  337. DATA”E6EE666EE6666666”
  338. DATA”EEEEEEEE6666666E”
  339. DATA”E666666E6666666E”
  340. DATA”6666666E6666666E”
  341. DATA”6666666E6666666E”
  342. DATA”E66666E6E6666E6E”
  343. DATA”E6666E6EE6666E6E”
  344. DATA”E66666E6E6666666”
  345. DATA”EEEEEEEE00000000”
  346. DATA”6EE6666E6E6E666E”
  347. DATA”6EE6666E6E66666E”
  348. DATA”6E66666E6666666E”
  349. DATA”EEEEEEEE00000000”
  350. ’2
  351. DATA”EEEEEEEEE2222222”
  352. DATA”E2222222E2222222”
  353. DATA”E2222222E2EEE22E”
  354. DATA”E2E22E2EE2EEE22E”
  355. DATA”EEEEEEEE2222222E”
  356. DATA”2222222E2222222E”
  357. DATA”2222222EEE22E22E”
  358. DATA”222E2E2EE22E222E”
  359. DATA”E2E2E22EE2E22E2E”
  360. DATA”E2222222E2222222”
  361. DATA”E2222222E2222222”
  362. DATA”EEEEEEEE00000000”
  363. DATA”222E2E2EEE22E22E”
  364. DATA”2222222E2222222E”
  365. DATA”2222222E2222222E”
  366. DATA”EEEEEEEE00000000”

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

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

  • 投稿者 : BASIC初心者です。アドバイス等ありましたらお願いします。 (2012/04/04 (水) 11:02:55)
  • 名無しさん : おつかれ〜 (2012/04/09 (月) 15:21:59)
  • hata0401 : かれー食べる? (2012/07/13 (金) 21:56:56)
  • ねじ : 鍵盤の機能だけ欲しかったので丁度良かったです。 (2013/03/16 (土) 01:11:15)

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