-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
129 lines (118 loc) · 6.67 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MTR用走行音作成ガイド</title>
</head>
<body>
<style>
html {
background-color: #f1f1f1;
text-align: center;
color: #000000;
}
* {
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}
a {
display: block;
width: 30%;
padding: 15px;
margin: auto;
background-color: #0088ff;
text-decoration: none;
border-radius: 5px;
color: white;
text-align: center;
}
input {
display: block;
outline: none;
width: 80%;
padding: 15px;
margin: auto;
border: none;
background-color: #e0e0e0;
text-decoration: none;
border-radius: 5px;
}
a:hover {
background-color: #1692ff;
cursor: pointer;
}
#center {
padding: 20px;
text-align: left;
}
</style>
<div id="center">
<h1>MTR用走行音作成ガイド</h1>
<h4>私がMTR用の走行音を作成するときに行っている手順をまとめました。このガイドを使用するにはAudacityが必要です。また、このガイドではリソースパックの作成手順について説明しませんのでご了承ください。</h4>
<p>0.元にする走行音を用意します。OTOTETSUやVVVF-Simulator等のソフトで生成したものでも構いません。</p><br>
<p>1.生成するファイル数を入力(デフォルト:120)</p>
<input type="number" id="count" placeholder="生成するファイル数を入力..." value="120"><br>
<p>2.切り抜きオフセット値を入力(デフォルト:3.3)</p>
<input type="number" id="offset" placeholder="切り抜きオフセット値を入力..." value="3.3"><br>
<p>3.音声ファイル一つあたりの秒数を入力(デフォルト:0.6)</p>
<input type="number" id="second" placeholder="1ファイルあたりの秒数を入力..." value="0.6"><br>
<p>4.名前空間IDを入力</p>
<input type="text" id="input" placeholder="名前空間IDを入力..." value="my_custom_sound"><br>
<a id="generate" onclick="generate()">5.ラベルとjsonを生成 ※複数ファイルのダウンロードを許可してください</a><br>
<h3>~この後の手順~</h3>
<p>6.ファイルがダウンロード出来たら、Audacityを開き、ファイル→インポート→ラベルをインポート と進みます。(Audacityのバージョンによって差異があるかもしれません)</p>
<p>7.先ほどダウンロードしたlabel.txtというファイルを選び、読み込みます。</p>
<p>8.ファイル→インポート→オーディオをインポート と進み、走行音の音源をAudacityにインポートします。</p>
<p>9.次に、ファイル→オーディオをエクスポート と進み、以下の画像と同じ設定でエクスポートします。</p>
<img src="image.png">
<p>また、エクスポートするフォルダは「(起動構成があるフォルダ)/resourcepacks/(自分のリソースパック)/assets/mtr/sounds/(先ほど設定した名前空間ID)/acceleration」に設定してください。
</p>
<p>10.エクスポートが完了したら、Ctrl+Aで編集エリア内をすべて選択し、エフェクト→特殊→リバース(逆方向)と進み、適用します。</p>
<p>11.先ほどと同様の手順でファイルをエクスポートします。</p>
<p>ただし、エクスポートするフォルダは「(起動構成があるフォルダ)/resourcepacks/(自分のリソースパック)/assets/mtr/sounds/(先ほど設定した名前空間ID)/deceleration」に設定してください。
</p>
<p>12.Minecraftにファイルを認識させるため、「(起動構成があるフォルダ)/resourcepacks/(自分のリソースパック)/assets/mtr/」に先ほどダウンロードしたsounds.jsonを貼り付けます。
</p>
<p>13.「(起動構成があるフォルダ)/resourcepacks/(自分のリソースパック)/assets/mtr/mtr_custom_resources.json」を開き、走行音を設定したい車両のプロパティの欄に以下の画像に書いてある内容を追記します。
</p>
<img src="image2.png">
<p>ただし、speed_sound_base_idは設定した「名前空間ID」に、speed_sound_countは設定した「生成するファイル数」と同じ数値に書き換えてください。</p>
<p>14.リソースパックを適用し、走行音が正常に再生されればOKです。</p>
</div>
<script>
function generate() {
const count = document.getElementById('count').value;
const offset = document.getElementById('offset').value;
const second = document.getElementById('second').value;
const nameid = document.getElementById('input').value;
const element = document.getElementById('doc');
const abc = ['a', 'b', 'c']
let label = '';
let json = [];
for (let i = 0; i < count; i++) {
const temp = i / offset * second;
label += temp + ' ' + parseFloat(temp + parseFloat(second)) + ' ' + 'speed_' + Math.floor(i / 3) + abc[i % 3] + '\n';
let tempjson = {};
tempjson.name = "mtr:" + nameid + "/acceleration/" + "speed_" + Math.floor(i / 3) + abc[i % 3];
tempjson.pitch = 1;
tempjson.attenuation_distance = 32;
const temp2 = nameid + '_acceleration_' + Math.floor(i / 3) + abc[i % 3];
json.push('"' + temp2 + '"' + ':' + JSON.stringify(tempjson));
}
let name = 'label.txt';
let a = document.createElement('a');
a.href = URL.createObjectURL(new Blob([label], {
type: "text/plain"
}));
a.download = name;
a.click();
name = 'sounds.json';
a = document.createElement('a');
let exportjson = '{' + json.toString() + '}';
a.href = 'data:application/json;charset=utf-8,' + encodeURIComponent(exportjson);
a.download = name;
a.click();
}
</script>
</body>
</html>