たま日記

たまに書く

TX81Zを解析した(ポルタメント編)


TX81Zはポルタメントの変化に要する時間を0~99の値で指定する。0の場合ポルタメントしない。音の高さは直線的に変化するわけではなく、以下のようなカーブで変化する。

f:id:androuet:20201214171724p:plain
C3->C5->C3のカーブ

ポルタメントの音の変化はYM2414内部で行われるのではなくソフトウェア的に行わなれる。YM2151と同様にYM2414は音の高さをKCとKFで指定する(らしい)。KCは$00~$7fの値を取り、それぞれC#0~C8に対応する。KC=$4Aは440HzのA4に対応する。KFは半音を0~63の64段階に区切る値で、KCからのずれを表す。1オクターブは12*64=768段階の音の高さに区切られていることになる。2オクターブだと768*2=1536段階に分けられる。

C3からC5の2オクターブ間をポルタメントさせてみた。Portamento timeを1~25まで変化させたときの、C3の高さからの差分は以下のように計測された(先頭の0は省略)。

1  C3 C5  444 762 1016 1206 1333 1397 1460 1524 1536
2  C3 C5  425 729 972 1154 1275 1397 1458 1518 1536
3  C3 C5  406 696 928 1102 1218 1334 1392 1450 1508 1536
4  C3 C5  369 633 844 1002 1160 1266 1371 1424 1477 1529 1536
5  C3 C5  353 606 808 959 1111 1212 1313 1363 1414 1464 1515 1536
6  C3 C5  337 579 772 916 1061 1158 1254 1351 1399 1447 1495 1536
7  C3 C5  323 555 740 925 1063 1156 1248 1341 1387 1433 1480 1526 1536
8  C3 C5  311 534 712 890 1023 1157 1246 1335 1379 1424 1468 1513 1536
9  C3 C5  299 513 684 855 983 1111 1197 1282 1325 1368 1410 1453 1496 1536
10 C3 C5  288 495 701 866 990 1113 1196 1278 1361 1402 1443 1485 1526 1536
11 C3 C5  278 477 675 834 954 1073 1152 1232 1311 1351 1391 1431 1470 1510 1536
12 C3 C5  267 459 650 803 918 1032 1109 1185 1262 1338 1377 1415 1453 1491 1530 1536
13 C3 C5  257 441 624 771 882 992 1102 1176 1249 1323 1359 1396 1433 1470 1506 1536
14 C3 C5  246 458 634 775 881 987 1092 1163 1233 1304 1339 1374 1410 1445 1480 1515 1536
15 C3 C5  236 438 607 742 877 978 1080 1147 1215 1282 1316 1350 1383 1417 1451 1485 1518 1536
16 C3 C5  227 422 585 715 845 942 1040 1105 1170 1235 1300 1332 1365 1397 1430 1462 1495 1527 1536
17 C3 C5  218 406 562 687 812 906 1000 1093 1156 1218 1281 1312 1343 1375 1406 1437 1468 1500 1531 1536
18 C3 C5  210 390 540 660 780 870 960 1050 1110 1170 1230 1290 1320 1350 1380 1410 1440 1470 1500 1530 1536
19 C3 C5  201 373 517 632 747 862 948 1035 1092 1150 1207 1265 1322 1351 1380 1408 1437 1466 1495 1523 1536
20 C3 C5  192 357 495 632 742 852 935 1017 1100 1155 1210 1265 1320 1347 1375 1402 1430 1457 1485 1512 1536
21 C3 C5  185 344 477 609 715 821 901 980 1060 1113 1166 1219 1272 1325 1351 1378 1404 1431 1457 1484 1510 1536
22 C3 C5  178 331 459 586 688 790 867 943 1020 1096 1147 1198 1249 1300 1326 1351 1377 1402 1428 1453 1479 1504 1530 1536
23 C3 C5  171 318 441 563 661 759 857 931 1004 1078 1127 1176 1225 1274 1323 1347 1372 1396 1421 1445 1470 1494 1519 1536
24 C3 C5  164 305 423 540 634 728 822 893 963 1034 1081 1128 1175 1222 1269 1316 1339 1363 1386 1410 1433 1457 1480 1504 1527 1536
25 C3 C5  159 295 409 523 614 705 796 864 932 1001 1069 1114 1160 1205 1251 1296 1319 1342 1365 1387 1410 1433 1456 1478 1501 1524 1536

また、C5からC3の間の場合は次のように計測された(先頭の1536は省略)。

1 C5 C3  1091 774 520 329 202 75 12 0
2 C5 C3  1110 807 564 381 260 138 78 17 0
3 C5 C3  1130 840 608 434 318 202 86 28 0
4 C5 C3  1166 903 692 533 375 270 164 111 59 6 0
5 C5 C3  1182 930 728 526 374 273 172 122 71 21 0
6 C5 C3  1198 957 764 571 426 329 233 136 88 40 0
7 C5 C3  1212 981 749 564 426 333 241 148 102 56 9 0
8 C5 C3  1224 957 779 601 468 334 245 156 112 67 23 0
9 C5 C3  1236 980 766 595 467 339 253 168 125 82 39 0
10 C5 C3  1247 999 793 628 504 381 298 216 133 92 51 9 0
11 C5 C3  1257 1019 820 661 542 423 343 264 184 144 105 65 25 0
12 C5 C3  1268 1038 847 694 579 465 350 273 197 120 82 44 6 0
13 C5 C3  1278 1058 874 727 580 470 360 286 213 139 102 66 29 0
14 C5 C3  1289 1077 901 760 619 513 408 337 267 196 126 90 55 20 0
15 C5 C3  1299 1097 928 793 658 557 456 354 287 219 152 118 84 51 17 0
16 C5 C3  1308 1113 951 821 691 593 496 398 333 268 203 138 106 73 41 8 0
17 C5 C3  1317 1129 973 817 692 598 504 411 348 286 223 161 129 98 67 36 4 0
18 C5 C3  1326 1146 996 846 726 606 516 426 366 306 246 186 156 126 96 66 36 6 0
19 C5 C3  1334 1162 1018 874 759 644 558 472 386 328 271 213 156 127 98 69 41 12 0
20 C5 C3  1343 1178 1041 903 793 683 601 518 436 381 326 271 216 161 133 106 78 51 23 0
21 C5 C3  1350 1191 1059 926 820 714 608 529 449 370 317 264 211 158 131 105 78 52 25 0
22 C5 C3  1357 1204 1077 949 847 745 643 567 490 414 363 312 261 210 159 133 108 82 57 31 6 0
23 C5 C3  1364 1217 1070 948 850 752 654 580 507 433 384 335 286 237 188 164 139 115 90 66 41 17 0
24 C5 C3  1371 1230 1089 972 854 760 666 596 525 455 384 337 290 243 196 149 126 102 79 55 32 8 0
25 C5 C3  1376 1240 1103 990 876 785 694 626 557 489 421 375 330 284 239 193 148 125 102 80 57 34 11 0

Portamento time>25の計測値は載せていない。99の場合こんな感じ:

99 C3 C5  1 3 4 6 7 9 10 12 13 15 16 18 19 21 22 24 25 27 28 30 31 33 34 36 37 39 40 42 43 45 46 48 49 51 52 54 55 57 58 60 61 63 64 66 67 69 70 72 73 75 76 78 79 81 82 84 85 87 88 90 91 93 94 96 97 99 100 102 103 105 106 108 109 111 112 114 115 117 118 120 121 123 124 126 127 129 130 132 133 135 136 138 139 141 142 144 145 147 148 150 151 153 154 156 157 159 160 162 163 165 166 168 169 171 172 174 175 177 178 180 181 183 184 186 187 189 190 192 193 195 196 198 199 201 202 204 205 207 208 210 211 213 214 216 217 219 220 222 223 225 226 228 229 231 232 234 235 237 238 240 241 243 244 246 247 249 250 252 253 255 256 258 259 260 261 263 264 265 266 268 269 270 271 273 274 275 276 278 279 280 281 283 284 285 286 288 289 290 291 293 294 295 296 298 299 300 301 303 304 305 306 308 309 310 311 313 314 315 316 318 319 320 321 323 324 325 326 328 329 330 331 333 334 335 336 338 339 340 341 343 344 345 346 348 349 350 351 353 354 355 356 358 359 360 361 363 364 365 366 368 369 370 371 373 374 375 376 378 379 380 381 383 384 385 386 388 389 390 391 393 394 395 396 398 399 400 401 403 404 405 406 408 409 410 411 413 414 415 416 418 419 420 421 423 424 425 426 428 429 430 431 433 434 435 436 438 439 440 441 443 444 445 446 448 449 450 451 453 454 455 456 458 459 460 461 463 464 465 466 468 469 470 471 473 474 475 476 478 479 480 481 483 484 485 486 488 489 490 491 493 494 495 496 498 499 500 501 503 504 505 506 508 509 510 511 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 769 770 771 772 772 773 774 775 775 776 777 778 778 779 780 781 781 782 783 784 784 785 786 787 787 788 789 790 790 791 792 793 793 794 795 796 796 797 798 799 799 800 801 802 802 803 804 805 805 806 807 808 808 809 810 811 811 812 813 814 814 815 816 817 817 818 819 820 820 821 822 823 823 824 825 826 826 827 828 829 829 830 831 832 832 833 834 835 835 836 837 838 838 839 840 841 841 842 843 844 844 845 846 847 847 848 849 850 850 851 852 853 853 854 855 856 856 857 858 859 859 860 861 862 862 863 864 865 865 866 867 868 868 869 870 871 871 872 873 874 874 875 876 877 877 878 879 880 880 881 882 883 883 884 885 886 886 887 888 889 889 890 891 892 892 893 894 895 895 896 897 898 898 899 900 901 901 902 903 904 904 905 906 907 907 908 909 910 910 911 912 913 913 914 915 916 916 917 918 919 919 920 921 922 922 923 924 925 925 926 927 928 928 929 930 931 931 932 933 934 934 935 936 937 937 938 939 940 940 941 942 943 943 944 945 946 946 947 948 949 949 950 951 952 952 953 954 955 955 956 957 958 958 959 960 961 961 962 963 964 964 965 966 967 967 968 969 970 970 971 972 973 973 974 975 976 976 977 978 979 979 980 981 982 982 983 984 985 985 986 987 988 988 989 990 991 991 992 993 994 994 995 996 997 997 998 999 1000 1000 1001 1002 1003 1003 1004 1005 1006 1006 1007 1008 1009 1009 1010 1011 1012 1012 1013 1014 1015 1015 1016 1017 1018 1018 1019 1020 1021 1021 1022 1023 1024 1024 1025 1025 1026 1026 1027 1027 1028 1028 1029 1029 1030 1030 1031 1031 1032 1032 1033 1033 1034 1034 1035 1035 1036 1036 1037 1037 1038 1038 1039 1039 1040 1040 1041 1041 1042 1042 1043 1043 1044 1044 1045 1045 1046 1046 1047 1047 1048 1048 1049 1049 1050 1050 1051 1051 1052 1052 1053 1053 1054 1054 1055 1055 1056 1056 1057 1057 1058 1058 1059 1059 1060 1060 1061 1061 1062 1062 1063 1063 1064 1064 1065 1065 1066 1066 1067 1067 1068 1068 1069 1069 1070 1070 1071 1071 1072 1072 1073 1073 1074 1074 1075 1075 1076 1076 1077 1077 1078 1078 1079 1079 1080 1080 1081 1081 1082 1082 1083 1083 1084 1084 1085 1085 1086 1086 1087 1087 1088 1088 1089 1089 1090 1090 1091 1091 1092 1092 1093 1093 1094 1094 1095 1095 1096 1096 1097 1097 1098 1098 1099 1099 1100 1100 1101 1101 1102 1102 1103 1103 1104 1104 1105 1105 1106 1106 1107 1107 1108 1108 1109 1109 1110 1110 1111 1111 1112 1112 1113 1113 1114 1114 1115 1115 1116 1116 1117 1117 1118 1118 1119 1119 1120 1120 1121 1121 1122 1122 1123 1123 1124 1124 1125 1125 1126 1126 1127 1127 1128 1128 1129 1129 1130 1130 1131 1131 1132 1132 1133 1133 1134 1134 1135 1135 1136 1136 1137 1137 1138 1138 1139 1139 1140 1140 1141 1141 1142 1142 1143 1143 1144 1144 1145 1145 1146 1146 1147 1147 1148 1148 1149 1149 1150 1150 1151 1151 1152 1152 1153 1153 1154 1154 1155 1155 1156 1156 1157 1157 1158 1158 1159 1159 1160 1160 1161 1161 1162 1162 1163 1163 1164 1164 1165 1165 1166 1166 1167 1167 1168 1168 1169 1169 1170 1170 1171 1171 1172 1172 1173 1173 1174 1174 1175 1175 1176 1176 1177 1177 1178 1178 1179 1179 1180 1180 1181 1181 1182 1182 1183 1183 1184 1184 1185 1185 1186 1186 1187 1187 1188 1188 1189 1189 1190 1190 1191 1191 1192 1192 1193 1193 1194 1194 1195 1195 1196 1196 1197 1197 1198 1198 1199 1199 1200 1200 1201 1201 1202 1202 1203 1203 1204 1204 1205 1205 1206 1206 1207 1207 1208 1208 1209 1209 1210 1210 1211 1211 1212 1212 1213 1213 1214 1214 1215 1215 1216 1216 1217 1217 1218 1218 1219 1219 1220 1220 1221 1221 1222 1222 1223 1223 1224 1224 1225 1225 1226 1226 1227 1227 1228 1228 1229 1229 1230 1230 1231 1231 1232 1232 1233 1233 1234 1234 1235 1235 1236 1236 1237 1237 1238 1238 1239 1239 1240 1240 1241 1241 1242 1242 1243 1243 1244 1244 1245 1245 1246 1246 1247 1247 1248 1248 1249 1249 1250 1250 1251 1251 1252 1252 1253 1253 1254 1254 1255 1255 1256 1256 1257 1257 1258 1258 1259 1259 1260 1260 1261 1261 1262 1262 1263 1263 1264 1264 1265 1265 1266 1266 1267 1267 1268 1268 1269 1269 1270 1270 1271 1271 1272 1272 1273 1273 1274 1274 1275 1275 1276 1276 1277 1277 1278 1278 1279 1279 1280 1280 1280 1281 1281 1281 1281 1282 1282 1282 1282 1283 1283 1283 1283 1284 1284 1284 1284 1285 1285 1285 1285 1286 1286 1286 1286 1287 1287 1287 1287 1288 1288 1288 1288 1289 1289 1289 1289 1290 1290 1290 1290 1291 1291 1291 1291 1292 1292 1292 1292 1293 1293 1293 1293 1294 1294 1294 1294 1295 1295 1295 1295 1296 1296 1296 1296 1297 1297 1297 1297 1298 1298 1298 1298 1299 1299 1299 1299 1300 1300 1300 1300 1301 1301 1301 1301 1302 1302 1302 1302 1303 1303 1303 1303 1304 1304 1304 1304 1305 1305 1305 1305 1306 1306 1306 1306 1307 1307 1307 1307 1308 1308 1308 1308 1309 1309 1309 1309 1310 1310 1310 1310 1311 1311 1311 1311 1312 1312 1312 1312 1313 1313 1313 1313 1314 1314 1314 1314 1315 1315 1315 1315 1316 1316 1316 1316 1317 1317 1317 1317 1318 1318 1318 1318 1319 1319 1319 1319 1320 1320 1320 1320 1321 1321 1321 1321 1322 1322 1322 1322 1323 1323 1323 1323 1324 1324 1324 1324 1325 1325 1325 1325 1326 1326 1326 1326 1327 1327 1327 1327 1328 1328 1328 1328 1329 1329 1329 1329 1330 1330 1330 1330 1331 1331 1331 1331 1332 1332 1332 1332 1333 1333 1333 1333 1334 1334 1334 1334 1335 1335 1335 1335 1336 1336 1336 1336 1337 1337 1337 1337 1338 1338 1338 1338 1339 1339 1339 1339 1340 1340 1340 1340 1341 1341 1341 1341 1342 1342 1342 1342 1343 1343 1343 1343 1344 1344 1344 1344 1345 1345 1345 1345 1346 1346 1346 1346 1347 1347 1347 1347 1348 1348 1348 1348 1349 1349 1349 1349 1350 1350 1350 1350 1351 1351 1351 1351 1352 1352 1352 1352 1353 1353 1353 1353 1354 1354 1354 1354 1355 1355 1355 1355 1356 1356 1356 1356 1357 1357 1357 1357 1358 1358 1358 1358 1359 1359 1359 1359 1360 1360 1360 1360 1361 1361 1361 1361 1362 1362 1362 1362 1363 1363 1363 1363 1364 1364 1364 1364 1365 1365 1365 1365 1366 1366 1366 1366 1367 1367 1367 1367 1368 1368 1368 1368 1369 1369 1369 1369 1370 1370 1370 1370 1371 1371 1371 1371 1372 1372 1372 1372 1373 1373 1373 1373 1374 1374 1374 1374 1375 1375 1375 1375 1376 1376 1376 1376 1377 1377 1377 1377 1378 1378 1378 1378 1379 1379 1379 1379 1380 1380 1380 1380 1381 1381 1381 1381 1382 1382 1382 1382 1383 1383 1383 1383 1384 1384 1384 1384 1385 1385 1385 1385 1386 1386 1386 1386 1387 1387 1387 1387 1388 1388 1388 1388 1389 1389 1389 1389 1390 1390 1390 1390 1391 1391 1391 1391 1392 1392 1392 1392 1393 1393 1393 1393 1394 1394 1394 1394 1395 1395 1395 1395 1396 1396 1396 1396 1397 1397 1397 1397 1398 1398 1398 1398 1399 1399 1399 1399 1400 1400 1400 1400 1401 1401 1401 1401 1402 1402 1402 1402 1403 1403 1403 1403 1404 1404 1404 1404 1405 1405 1405 1405 1406 1406 1406 1406 1407 1407 1407 1407 1408 1408 1408 1408 1409 1409 1409 1409 1410 1410 1410 1410 1411 1411 1411 1411 1412 1412 1412 1412 1413 1413 1413 1413 1414 1414 1414 1414 1415 1415 1415 1415 1416 1416 1416 1416 1417 1417 1417 1417 1418 1418 1418 1418 1419 1419 1419 1419 1420 1420 1420 1420 1421 1421 1421 1421 1422 1422 1422 1422 1423 1423 1423 1423 1424 1424 1424 1424 1425 1425 1425 1425 1426 1426 1426 1426 1427 1427 1427 1427 1428 1428 1428 1428 1429 1429 1429 1429 1430 1430 1430 1430 1431 1431 1431 1431 1432 1432 1432 1432 1433 1433 1433 1433 1434 1434 1434 1434 1435 1435 1435 1435 1436 1436 1436 1436 1437 1437 1437 1437 1438 1438 1438 1438 1439 1439 1439 1439 1440 1440 1440 1440 1441 1441 1441 1441 1442 1442 1442 1442 1443 1443 1443 1443 1444 1444 1444 1444 1445 1445 1445 1445 1446 1446 1446 1446 1447 1447 1447 1447 1448 1448 1448 1448 1449 1449 1449 1449 1450 1450 1450 1450 1451 1451 1451 1451 1452 1452 1452 1452 1453 1453 1453 1453 1454 1454 1454 1454 1455 1455 1455 1455 1456 1456 1456 1456 1457 1457 1457 1457 1458 1458 1458 1458 1459 1459 1459 1459 1460 1460 1460 1460 1461 1461 1461 1461 1462 1462 1462 1462 1463 1463 1463 1463 1464 1464 1464 1464 1465 1465 1465 1465 1466 1466 1466 1466 1467 1467 1467 1467 1468 1468 1468 1468 1469 1469 1469 1469 1470 1470 1470 1470 1471 1471 1471 1471 1472 1472 1472 1472 1473 1473 1473 1473 1474 1474 1474 1474 1475 1475 1475 1475 1476 1476 1476 1476 1477 1477 1477 1477 1478 1478 1478 1478 1479 1479 1479 1479 1480 1480 1480 1480 1481 1481 1481 1481 1482 1482 1482 1482 1483 1483 1483 1483 1484 1484 1484 1484 1485 1485 1485 1485 1486 1486 1486 1486 1487 1487 1487 1487 1488 1488 1488 1488 1489 1489 1489 1489 1490 1490 1490 1490 1491 1491 1491 1491 1492 1492 1492 1492 1493 1493 1493 1493 1494 1494 1494 1494 1495 1495 1495 1495 1496 1496 1496 1496 1497 1497 1497 1497 1498 1498 1498 1498 1499 1499 1499 1499 1500 1500 1500 1500 1501 1501 1501 1501 1502 1502 1502 1502 1503 1503 1503 1503 1504 1504 1504 1504 1505 1505 1505 1505 1506 1506 1506 1506 1507 1507 1507 1507 1508 1508 1508 1508 1509 1509 1509 1509 1510 1510 1510 1510 1511 1511 1511 1511 1512 1512 1512 1512 1513 1513 1513 1513 1514 1514 1514 1514 1515 1515 1515 1515 1516 1516 1516 1516 1517 1517 1517 1517 1518 1518 1518 1518 1519 1519 1519 1519 1520 1520 1520 1520 1521 1521 1521 1521 1522 1522 1522 1522 1523 1523 1523 1523 1524 1524 1524 1524 1525 1525 1525 1525 1526 1526 1526 1526 1527 1527 1527 1527 1528 1528 1528 1528 1529 1529 1529 1529 1530 1530 1530 1530 1531 1531 1531 1531 1532 1532 1532 1532 1533 1533 1533 1533 1534 1534 1534 1534 1535 1535 1535 1535 1536

99 C5 C3  1534 1532 1530 1529 1527 1525 1523 1522 1520 1518 1516 1515 1513 1511 1509 1508 1506 1504 1502 1501 1499 1497 1495 1494 1492 1490 1488 1487 1485 1483 1481 1480 1478 1476 1474 1473 1471 1469 1468 1466 1465 1463 1462 1460 1459 1457 1456 1454 1453 1451 1450 1448 1447 1445 1444 1442 1441 1439 1438 1436 1435 1433 1432 1430 1429 1427 1426 1424 1423 1421 1420 1418 1417 1415 1414 1412 1411 1409 1408 1406 1405 1403 1402 1400 1399 1397 1396 1394 1393 1391 1390 1388 1387 1385 1384 1382 1381 1379 1378 1376 1375 1373 1372 1370 1369 1367 1366 1364 1363 1361 1360 1358 1357 1355 1354 1352 1351 1349 1348 1346 1345 1343 1342 1340 1339 1337 1336 1334 1333 1331 1330 1328 1327 1325 1324 1322 1321 1319 1318 1316 1315 1313 1312 1310 1309 1307 1306 1304 1303 1301 1300 1298 1297 1295 1294 1292 1291 1289 1288 1286 1285 1283 1282 1280 1279 1277 1276 1274 1273 1271 1270 1268 1267 1265 1264 1262 1261 1259 1258 1256 1255 1253 1252 1250 1249 1247 1246 1244 1243 1241 1240 1238 1237 1235 1234 1232 1231 1229 1228 1226 1225 1223 1222 1220 1219 1217 1216 1214 1213 1212 1211 1209 1208 1207 1206 1204 1203 1202 1201 1199 1198 1197 1196 1194 1193 1192 1191 1189 1188 1187 1186 1184 1183 1182 1181 1179 1178 1177 1176 1174 1173 1172 1171 1169 1168 1167 1166 1164 1163 1162 1161 1159 1158 1157 1156 1154 1153 1152 1151 1149 1148 1147 1146 1144 1143 1142 1141 1139 1138 1137 1136 1134 1133 1132 1131 1129 1128 1127 1126 1124 1123 1122 1121 1119 1118 1117 1116 1114 1113 1112 1111 1109 1108 1107 1106 1104 1103 1102 1101 1099 1098 1097 1096 1094 1093 1092 1091 1089 1088 1087 1086 1084 1083 1082 1081 1079 1078 1077 1076 1074 1073 1072 1071 1069 1068 1067 1066 1064 1063 1062 1061 1059 1058 1057 1056 1054 1053 1052 1051 1049 1048 1047 1046 1044 1043 1042 1041 1039 1038 1037 1036 1034 1033 1032 1031 1029 1028 1027 1026 1024 1023 1022 1021 1019 1018 1017 1016 1014 1013 1012 1011 1009 1008 1007 1006 1004 1003 1002 1001 999 998 997 996 994 993 992 991 989 988 987 986 984 983 982 981 979 978 977 976 974 973 972 971 969 968 967 966 964 963 962 961 959 958 957 956 955 954 953 952 951 950 949 948 947 946 945 944 943 942 941 940 939 938 937 936 935 934 933 932 931 930 929 928 927 926 925 924 923 922 921 920 919 918 917 916 915 914 913 912 911 910 909 908 907 906 905 904 903 902 901 900 899 898 897 896 895 894 893 892 891 890 889 888 887 886 885 884 883 882 881 880 879 878 877 876 875 874 873 872 871 870 869 868 867 866 865 864 863 862 861 860 859 858 857 856 855 854 853 852 851 850 849 848 847 846 845 844 843 842 841 840 839 838 837 836 835 834 833 832 831 830 829 828 827 826 825 824 823 822 821 820 819 818 817 816 815 814 813 812 811 810 809 808 807 806 805 804 803 802 801 800 799 798 797 796 795 794 793 792 791 790 789 788 787 786 785 784 783 782 781 780 779 778 777 776 775 774 773 772 771 770 769 768 767 766 765 764 763 762 761 760 759 758 757 756 755 754 753 752 751 750 749 748 747 746 745 744 743 742 741 740 739 738 737 736 735 734 733 732 731 730 729 728 727 726 725 724 723 722 721 720 719 718 717 716 715 714 713 712 711 710 709 708 707 706 705 704 703 703 702 701 700 700 699 698 697 697 696 695 694 694 693 692 691 691 690 689 688 688 687 686 685 685 684 683 682 682 681 680 679 679 678 677 676 676 675 674 673 673 672 671 670 670 669 668 667 667 666 665 664 664 663 662 661 661 660 659 658 658 657 656 655 655 654 653 652 652 651 650 649 649 648 647 646 646 645 644 643 643 642 641 640 640 639 638 637 637 636 635 634 634 633 632 631 631 630 629 628 628 627 626 625 625 624 623 622 622 621 620 619 619 618 617 616 616 615 614 613 613 612 611 610 610 609 608 607 607 606 605 604 604 603 602 601 601 600 599 598 598 597 596 595 595 594 593 592 592 591 590 589 589 588 587 586 586 585 584 583 583 582 581 580 580 579 578 577 577 576 575 574 574 573 572 571 571 570 569 568 568 567 566 565 565 564 563 562 562 561 560 559 559 558 557 556 556 555 554 553 553 552 551 550 550 549 548 547 547 546 545 544 544 543 542 541 541 540 539 538 538 537 536 535 535 534 533 532 532 531 530 529 529 528 527 526 526 525 524 523 523 522 521 520 520 519 518 517 517 516 515 514 514 513 512 511 511 510 509 508 508 507 506 505 505 504 503 502 502 501 500 499 499 498 497 496 496 495 494 493 493 492 491 490 490 489 488 487 487 486 485 484 484 483 482 481 481 480 479 478 478 477 476 475 475 474 473 472 472 471 470 469 469 468 467 466 466 465 464 463 463 462 461 460 460 459 458 457 457 456 455 454 454 453 452 451 451 450 449 448 448 447 447 446 446 445 445 444 444 443 443 442 442 441 441 440 440 439 439 438 438 437 437 436 436 435 435 434 434 433 433 432 432 431 431 430 430 429 429 428 428 427 427 426 426 425 425 424 424 423 423 422 422 421 421 420 420 419 419 418 418 417 417 416 416 415 415 414 414 413 413 412 412 411 411 410 410 409 409 408 408 407 407 406 406 405 405 404 404 403 403 402 402 401 401 400 400 399 399 398 398 397 397 396 396 395 395 394 394 393 393 392 392 391 391 390 390 389 389 388 388 387 387 386 386 385 385 384 384 383 383 382 382 381 381 380 380 379 379 378 378 377 377 376 376 375 375 374 374 373 373 372 372 371 371 370 370 369 369 368 368 367 367 366 366 365 365 364 364 363 363 362 362 361 361 360 360 359 359 358 358 357 357 356 356 355 355 354 354 353 353 352 352 351 351 350 350 349 349 348 348 347 347 346 346 345 345 344 344 343 343 342 342 341 341 340 340 339 339 338 338 337 337 336 336 335 335 334 334 333 333 332 332 331 331 330 330 329 329 328 328 327 327 326 326 325 325 324 324 323 323 322 322 321 321 320 320 319 319 318 318 317 317 316 316 315 315 314 314 313 313 312 312 311 311 310 310 309 309 308 308 307 307 306 306 305 305 304 304 303 303 302 302 301 301 300 300 299 299 298 298 297 297 296 296 295 295 294 294 293 293 292 292 291 291 290 290 289 289 288 288 287 287 286 286 285 285 284 284 283 283 282 282 281 281 280 280 279 279 278 278 277 277 276 276 275 275 274 274 273 273 272 272 271 271 270 270 269 269 268 268 267 267 266 266 265 265 264 264 263 263 262 262 261 261 260 260 259 259 258 258 257 257 256 256 255 255 254 254 253 253 252 252 251 251 250 250 249 249 248 248 247 247 246 246 245 245 244 244 243 243 242 242 241 241 240 240 239 239 238 238 237 237 236 236 235 235 234 234 233 233 232 232 231 231 230 230 229 229 228 228 227 227 226 226 225 225 224 224 223 223 222 222 221 221 220 220 219 219 218 218 217 217 216 216 215 215 214 214 213 213 212 212 211 211 210 210 209 209 208 208 207 207 206 206 205 205 204 204 203 203 202 202 201 201 200 200 199 199 198 198 197 197 196 196 195 195 194 194 193 193 192 192 191 191 191 191 190 190 190 190 189 189 189 189 188 188 188 188 187 187 187 187 186 186 186 186 185 185 185 185 184 184 184 184 183 183 183 183 182 182 182 182 181 181 181 181 180 180 180 180 179 179 179 179 178 178 178 178 177 177 177 177 176 176 176 176 175 175 175 175 174 174 174 174 173 173 173 173 172 172 172 172 171 171 171 171 170 170 170 170 169 169 169 169 168 168 168 168 167 167 167 167 166 166 166 166 165 165 165 165 164 164 164 164 163 163 163 163 162 162 162 162 161 161 161 161 160 160 160 160 159 159 159 159 158 158 158 158 157 157 157 157 156 156 156 156 155 155 155 155 154 154 154 154 153 153 153 153 152 152 152 152 151 151 151 151 150 150 150 150 149 149 149 149 148 148 148 148 147 147 147 147 146 146 146 146 145 145 145 145 144 144 144 144 143 143 143 143 142 142 142 142 141 141 141 141 140 140 140 140 139 139 139 139 138 138 138 138 137 137 137 137 136 136 136 136 135 135 135 135 134 134 134 134 133 133 133 133 132 132 132 132 131 131 131 131 130 130 130 130 129 129 129 129 128 128 128 128 127 127 127 127 126 126 126 126 125 125 125 125 124 124 124 124 123 123 123 123 122 122 122 122 121 121 121 121 120 120 120 120 119 119 119 119 118 118 118 118 117 117 117 117 116 116 116 116 115 115 115 115 114 114 114 114 113 113 113 113 112 112 112 112 111 111 111 111 110 110 110 110 109 109 109 109 108 108 108 108 107 107 107 107 106 106 106 106 105 105 105 105 104 104 104 104 103 103 103 103 102 102 102 102 101 101 101 101 100 100 100 100 99 99 99 99 98 98 98 98 97 97 97 97 96 96 96 96 95 95 95 95 94 94 94 94 93 93 93 93 92 92 92 92 91 91 91 91 90 90 90 90 89 89 89 89 88 88 88 88 87 87 87 87 86 86 86 86 85 85 85 85 84 84 84 84 83 83 83 83 82 82 82 82 81 81 81 81 80 80 80 80 79 79 79 79 78 78 78 78 77 77 77 77 76 76 76 76 75 75 75 75 74 74 74 74 73 73 73 73 72 72 72 72 71 71 71 71 70 70 70 70 69 69 69 69 68 68 68 68 67 67 67 67 66 66 66 66 65 65 65 65 64 64 64 64 63 63 63 63 62 62 62 62 61 61 61 61 60 60 60 60 59 59 59 59 58 58 58 58 57 57 57 57 56 56 56 56 55 55 55 55 54 54 54 54 53 53 53 53 52 52 52 52 51 51 51 51 50 50 50 50 49 49 49 49 48 48 48 48 47 47 47 47 46 46 46 46 45 45 45 45 44 44 44 44 43 43 43 43 42 42 42 42 41 41 41 41 40 40 40 40 39 39 39 39 38 38 38 38 37 37 37 37 36 36 36 36 35 35 35 35 34 34 34 34 33 33 33 33 32 32 32 32 31 31 31 31 30 30 30 30 29 29 29 29 28 28 28 28 27 27 27 27 26 26 26 26 25 25 25 25 24 24 24 24 23 23 23 23 22 22 22 22 21 21 21 21 20 20 20 20 19 19 19 19 18 18 18 18 17 17 17 17 16 16 16 16 15 15 15 15 14 14 14 14 13 13 13 13 12 12 12 12 11 11 11 11 10 10 10 10 9 9 9 9 8 8 8 8 7 7 7 7 6 6 6 6 5 5 5 5 4 4 4 4 3 3 3 3 2 2 2 2 1 1 1 1 0

この値に対応するKC・KFが1秒間に96回ほどYM2414のレジスタに書き込まれる。

ポルタメントタイム・開始・終了の高さを与えたときの変化の様子は次の手続きで求めることができる。

int ptime = ポルタメントタイム(099)
int start = 開始する高さ(1オクターブ768区切り 例えばC3=2240)
int end =   終了する高さ(〃                  例えばC5=3776)
int offset4 = (end-start)*4;
if (offset4 < 0) offset4 -= 256; // 下がる場合

int tick() {
    int v;
    if (offset4 > 0) {
        int d = (offset4 >> 10) + 1;
        offset4 -= d * mul[ptime];
        int v4 = end*4 - offset4;
        v = v4 / 4;
        if (v > end) v = end;
    } else {
        int d = (offset4 >> 10);
        offset4 -= d * mul[ptime];
        int v4 = end*4 - (offset4 + 256);
        v = v4 / 4;
        if (v < end) v = end;
    }
    return v;
}

配列mulの要素はポルタメントタイムで決まる係数。

int mul[100] = {
      0, 254, 243, 232, 211, 202, 193, 185, 178, 171, // 1~9
    165, 159, 153, 147, 141, 135, 130, 125, 120, 115, // 10~19
    110, 106, 102,  98,  94,  91,  88,  85,  82,  79, // 20~29
     76,  74,  72,  70,  68,  66,  64,  62,  60,  58, // 30~39
     56,  54,  53,  51,  49,  47,  46,  44,  42,  41, // 40~49
     39,  38,  37,  36,  34,  33,  31,  30,  28,  27, // 50~59
     26,  25,  24,  23,  22,  21,  20,  19,  18,  18, // 60~69
     17,  16,  16,  15,  14,  14,  13,  13,  12,  12, // 70~79
     11,  11,  10,  10,   9,   9,   8,   8,   7,   7, // 80~89
      6,   6,   5,   5,   4,   4,   3,   3,   2,   1  // 90~99
};

vgmplayのym2151.c内に同じようなカーブを生成する手続きがあった(ADSRのA?)。そっちのほうが綺麗に書けるかもしれない。