@jjlmoya/utils-games-development 1.53.0 → 1.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/category/index.ts +2 -1
- package/src/entries.ts +6 -1
- package/src/index.ts +2 -0
- package/src/tests/contrast_legibility.test.ts +245 -0
- package/src/tests/locale_completeness.test.ts +2 -2
- package/src/tests/tool_validation.test.ts +2 -2
- package/src/tool/itchioGameTester/itchio-game-tester.css +3 -3
- package/src/tool/localizationSanitizer/localization-sanitizer.css +13 -13
- package/src/tool/retroSfxGenerator/bibliography.astro +6 -0
- package/src/tool/retroSfxGenerator/bibliography.ts +16 -0
- package/src/tool/retroSfxGenerator/client.ts +256 -0
- package/src/tool/retroSfxGenerator/component.astro +146 -0
- package/src/tool/retroSfxGenerator/entry.ts +27 -0
- package/src/tool/retroSfxGenerator/i18n/de.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/en.ts +224 -0
- package/src/tool/retroSfxGenerator/i18n/es.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/fr.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/id.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/it.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/ja.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/ko.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/nl.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/pl.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/pt.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/ru.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/sv.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/tr.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/zh.ts +211 -0
- package/src/tool/retroSfxGenerator/index.ts +11 -0
- package/src/tool/retroSfxGenerator/logic.test.ts +40 -0
- package/src/tool/retroSfxGenerator/logic.ts +214 -0
- package/src/tool/retroSfxGenerator/retro-sfx-generator.css +429 -0
- package/src/tool/retroSfxGenerator/seo.astro +15 -0
- package/src/tool/retroSfxGenerator/ui.ts +41 -0
- package/src/tool/saveFileEditor/game-save-file-editor.css +5 -5
- package/src/tool/spriteSheetPacker/sprite-sheet-packer.css +5 -5
- package/src/tool/steamBbcodeTranslator/app-client.ts +125 -0
- package/src/tool/steamBbcodeTranslator/bbcode-parser.ts +110 -0
- package/src/tool/steamBbcodeTranslator/bibliography.astro +6 -0
- package/src/tool/steamBbcodeTranslator/bibliography.ts +14 -0
- package/src/tool/steamBbcodeTranslator/component.astro +83 -0
- package/src/tool/steamBbcodeTranslator/entry.ts +28 -0
- package/src/tool/steamBbcodeTranslator/html-parser.ts +42 -0
- package/src/tool/steamBbcodeTranslator/html-renderer.ts +71 -0
- package/src/tool/steamBbcodeTranslator/i18n/de.ts +207 -0
- package/src/tool/steamBbcodeTranslator/i18n/en.ts +236 -0
- package/src/tool/steamBbcodeTranslator/i18n/es.ts +207 -0
- package/src/tool/steamBbcodeTranslator/i18n/fr.ts +195 -0
- package/src/tool/steamBbcodeTranslator/i18n/id.ts +195 -0
- package/src/tool/steamBbcodeTranslator/i18n/it.ts +195 -0
- package/src/tool/steamBbcodeTranslator/i18n/ja.ts +195 -0
- package/src/tool/steamBbcodeTranslator/i18n/ko.ts +195 -0
- package/src/tool/steamBbcodeTranslator/i18n/nl.ts +195 -0
- package/src/tool/steamBbcodeTranslator/i18n/pl.ts +195 -0
- package/src/tool/steamBbcodeTranslator/i18n/pt.ts +195 -0
- package/src/tool/steamBbcodeTranslator/i18n/ru.ts +195 -0
- package/src/tool/steamBbcodeTranslator/i18n/sv.ts +195 -0
- package/src/tool/steamBbcodeTranslator/i18n/tr.ts +195 -0
- package/src/tool/steamBbcodeTranslator/i18n/zh.ts +195 -0
- package/src/tool/steamBbcodeTranslator/index.ts +12 -0
- package/src/tool/steamBbcodeTranslator/logic.test.ts +41 -0
- package/src/tool/steamBbcodeTranslator/logic.ts +96 -0
- package/src/tool/steamBbcodeTranslator/markdown-parser.ts +115 -0
- package/src/tool/steamBbcodeTranslator/markdown-renderer.ts +85 -0
- package/src/tool/steamBbcodeTranslator/seo.astro +15 -0
- package/src/tool/steamBbcodeTranslator/steam-bbcode-translator.css +392 -0
- package/src/tool/steamBbcodeTranslator/storage.ts +30 -0
- package/src/tool/steamBbcodeTranslator/types.ts +36 -0
- package/src/tool/steamBbcodeTranslator/ui.ts +18 -0
- package/src/tool/steamCapsuleGenerator/steam-capsule-generator.css +6 -6
- package/src/tools.ts +4 -0
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import type { RetroSfxGeneratorUI } from '../ui';
|
|
3
|
+
import { bibliographyEntries } from '../bibliography';
|
|
4
|
+
|
|
5
|
+
export const content: ToolLocaleContent<RetroSfxGeneratorUI> = {
|
|
6
|
+
slug: 'pembuat-efek-suara-retro-game',
|
|
7
|
+
title: 'Pembuat Efek Suara Retro untuk Game',
|
|
8
|
+
description: 'Buat efek suara game retro singkat langsung di peramban Anda dengan preset instan, kontrol bentuk gelombang, dan ekspor WAV.',
|
|
9
|
+
ui: {
|
|
10
|
+
waveformLabel: 'Bentuk gelombang',
|
|
11
|
+
waveformSquare: 'Kotak',
|
|
12
|
+
waveformSawtooth: 'Gergaji',
|
|
13
|
+
waveformSine: 'Sinus',
|
|
14
|
+
waveformTriangle: 'Segitiga',
|
|
15
|
+
waveformNoise: 'Kebisingan',
|
|
16
|
+
presetLabel: 'Bank suara cepat',
|
|
17
|
+
presetExplosion: 'Ledakan',
|
|
18
|
+
presetLaser: 'Laser',
|
|
19
|
+
presetJump: 'Lompat',
|
|
20
|
+
presetCoin: 'Koin',
|
|
21
|
+
presetPowerUp: 'Peningkat kekuatan',
|
|
22
|
+
frequencyLabel: 'Frekuensi awal',
|
|
23
|
+
frequencyEndLabel: 'Frekuensi akhir',
|
|
24
|
+
durationLabel: 'Durasi',
|
|
25
|
+
decayLabel: 'Peluruhan',
|
|
26
|
+
sweepLabel: 'Sapuan nada',
|
|
27
|
+
vibratoLabel: 'Vibrato',
|
|
28
|
+
lowpassLabel: 'Tapis lolos rendah',
|
|
29
|
+
highpassLabel: 'Tapis lolos tinggi',
|
|
30
|
+
noiseMixLabel: 'Campuran kebisingan',
|
|
31
|
+
toneSection: 'Nada',
|
|
32
|
+
dynamicsSection: 'Dinamika',
|
|
33
|
+
filterSection: 'Tekstur',
|
|
34
|
+
playButton: 'Putar suara',
|
|
35
|
+
stopButton: 'Hentikan',
|
|
36
|
+
downloadButton: 'Unduh WAV',
|
|
37
|
+
randomizeButton: 'Acak',
|
|
38
|
+
resetButton: 'Atur ulang',
|
|
39
|
+
waveformPreviewLabel: 'Pratinjau gelombang',
|
|
40
|
+
generatedLabel: 'Dihasilkan',
|
|
41
|
+
statusReady: 'Siap didengarkan',
|
|
42
|
+
statusPlaying: 'Memutar di peramban Anda',
|
|
43
|
+
statusStopped: 'Pemutaran dihentikan',
|
|
44
|
+
statusDownloaded: 'WAV diunduh',
|
|
45
|
+
statusAudioBlocked: 'Pemutaran memerlukan izin audio di tab peramban',
|
|
46
|
+
statusGenerating: 'Rendring suara',
|
|
47
|
+
presetHint: 'Pilih preset awal lalu sesuaikan kontrol di bawah.',
|
|
48
|
+
monoWavHint: '44.1 kHz · 16-bit mono WAV',
|
|
49
|
+
},
|
|
50
|
+
seo: [
|
|
51
|
+
{
|
|
52
|
+
type: 'title',
|
|
53
|
+
level: 2,
|
|
54
|
+
text: 'Buat Audio Game Saat Game Jam Tanpa Meninggalkan Peramban',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
type: 'paragraph',
|
|
58
|
+
html: 'Efek suara game yang baik harus menyampaikan aksi secara instan. Alat ini membantu Anda membuat suara retro klasik seperti lompatan, koin, ledakan, dan tembakan laser menggunakan sintesis audio peramban.',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
type: 'stats',
|
|
62
|
+
columns: 4,
|
|
63
|
+
items: [
|
|
64
|
+
{ label: 'Preset suara', value: '5 pola awal' },
|
|
65
|
+
{ label: 'Pilihan osilator', value: '5 bentuk gelombang' },
|
|
66
|
+
{ label: 'Format ekspor', value: '16-bit PCM WAV' },
|
|
67
|
+
{ label: 'Pemrosesan', value: 'Berbasis peramban' },
|
|
68
|
+
],
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'title',
|
|
72
|
+
level: 2,
|
|
73
|
+
text: 'Fungsi Kontrol',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'comparative',
|
|
77
|
+
columns: 2,
|
|
78
|
+
items: [
|
|
79
|
+
{
|
|
80
|
+
title: 'Nada dan Gerakan',
|
|
81
|
+
description: 'Kontrol nada menentukan identitas dasar suara.',
|
|
82
|
+
points: [
|
|
83
|
+
'Frekuensi awal menentukan nada dasar osilator',
|
|
84
|
+
'Sapuan nada mengubah frekuensi secara bertahap',
|
|
85
|
+
'Vibrato menambahkan getaran nada periodik',
|
|
86
|
+
'Bentuk gelombang menghasilkan tekstur harmonik berbeda',
|
|
87
|
+
],
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
title: 'Bentuk dan Tekstur',
|
|
91
|
+
description: 'Dinamika dan filter menentukan bagaimana suara berakhir.',
|
|
92
|
+
points: [
|
|
93
|
+
'Durasi menentukan panjang total efek suara',
|
|
94
|
+
'Peluruhan mengatur penurunan amplitudo',
|
|
95
|
+
'Tapis lolos rendah melembutkan frekuensi tinggi',
|
|
96
|
+
'Tapis lolos tinggi menghilangkan frekuensi rendah',
|
|
97
|
+
],
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
type: 'title',
|
|
103
|
+
level: 2,
|
|
104
|
+
text: 'Panduan Praktis Efek Suara Game',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
type: 'table',
|
|
108
|
+
headers: ['Acara', 'Preset Awal', 'Penyesuaian Pertama'],
|
|
109
|
+
rows: [
|
|
110
|
+
['Ledakan', 'Kebisingan frekuensi rendah', 'Tambah durasi dan kurangi tapis lolos rendah'],
|
|
111
|
+
['Laser', 'Gergaji dengan sapuan turun', 'Persingkat durasi dan naikkan tapis lolos tinggi'],
|
|
112
|
+
['Lompat', 'Kotak dengan sapuan naik', 'Kurangi peluruhan agar nada naik terdengar jelas'],
|
|
113
|
+
['Koin', 'Kotak dengan sapuan naik singkat', 'Naitkan frekuensi awal untuk suara jernih'],
|
|
114
|
+
['Peningkat kekuatan', 'Segitiga dengan sapuan naik panjang', 'Tambahkan vibrato untuk efek dinamis'],
|
|
115
|
+
],
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'title',
|
|
119
|
+
level: 2,
|
|
120
|
+
text: 'Mengapa WAV Cocok untuk Ekspor Prototip',
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'paragraph',
|
|
124
|
+
html: 'Format WAV sangat kompatibel dengan berbagai mesin game tanpa memerlukan pustaka kompresi tambahan.',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'tip',
|
|
128
|
+
title: 'Dengarkan Pada Volume Game',
|
|
129
|
+
html: 'Uji suara di dalam game untuk memastikan tidak mengganggu musik latar.',
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
faqTitle: 'Pertanyaan Umum',
|
|
133
|
+
faq: [
|
|
134
|
+
{
|
|
135
|
+
question: 'Apakah suara saya diunggah ke server?',
|
|
136
|
+
answer: 'Tidak. Seluruh sintesis dan pembuatan berkas WAV terjadi lokal di peramban Anda.',
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
question: 'Apakah berkas WAV ini bisa digunakan di proyek game?',
|
|
140
|
+
answer: 'Ya, hasil ekspor dirancang untuk prototipe dan proyek game jam.',
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
question: 'Bagaimana cara kerja sapuan nada?',
|
|
144
|
+
answer: 'Nilai positif menaikkan nada sedangkan nilai negatif menurunkan nada akhir secara proporsional.',
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
question: 'Mengapa suara tidak keluar?',
|
|
148
|
+
answer: 'Pastikan tab peramban memiliki izin untuk memutar suara dan klik Putar suara lagi.',
|
|
149
|
+
},
|
|
150
|
+
],
|
|
151
|
+
howTo: [
|
|
152
|
+
{
|
|
153
|
+
name: 'Pilih preset suara',
|
|
154
|
+
text: 'Pilih Ledakan, Laser, Lompat, Koin, atau Peningkat kekuatan.',
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
name: 'Sesuaikan kontrol',
|
|
158
|
+
text: 'Atur gelombang, nada, durasi, dan filter.',
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
name: 'Dengarkan pratinjau',
|
|
162
|
+
text: 'Klik Putar suara untuk mendengarkan hasil pengaturan.',
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
name: 'Unduh WAV',
|
|
166
|
+
text: 'Klik Unduh WAV untuk menyimpan berkas audio.',
|
|
167
|
+
},
|
|
168
|
+
],
|
|
169
|
+
schemas: [
|
|
170
|
+
{
|
|
171
|
+
'@context': 'https://schema.org',
|
|
172
|
+
'@type': 'SoftwareApplication',
|
|
173
|
+
name: 'Pembuat Efek Suara Retro untuk Game',
|
|
174
|
+
applicationCategory: 'MultimediaApplication',
|
|
175
|
+
operatingSystem: 'Any',
|
|
176
|
+
offers: {
|
|
177
|
+
'@type': 'Offer',
|
|
178
|
+
price: '0',
|
|
179
|
+
priceCurrency: 'USD',
|
|
180
|
+
},
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
'@context': 'https://schema.org',
|
|
184
|
+
'@type': 'FAQPage',
|
|
185
|
+
mainEntity: [
|
|
186
|
+
{
|
|
187
|
+
'@type': 'Question',
|
|
188
|
+
name: 'Apakah suara saya diunggah ke server?',
|
|
189
|
+
acceptedAnswer: {
|
|
190
|
+
'@type': 'Answer',
|
|
191
|
+
text: 'Tidak. Seluruh sintesis terjadi di peramban Anda.',
|
|
192
|
+
},
|
|
193
|
+
},
|
|
194
|
+
],
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
'@context': 'https://schema.org',
|
|
198
|
+
'@type': 'HowTo',
|
|
199
|
+
name: 'Cara membuat efek suara retro game',
|
|
200
|
+
step: [
|
|
201
|
+
{
|
|
202
|
+
'@type': 'HowToStep',
|
|
203
|
+
name: 'Pilih preset suara',
|
|
204
|
+
text: 'Pilih preset awal.',
|
|
205
|
+
},
|
|
206
|
+
],
|
|
207
|
+
},
|
|
208
|
+
],
|
|
209
|
+
bibliographyTitle: 'Referensi',
|
|
210
|
+
bibliography: bibliographyEntries,
|
|
211
|
+
};
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import type { RetroSfxGeneratorUI } from '../ui';
|
|
3
|
+
import { bibliographyEntries } from '../bibliography';
|
|
4
|
+
|
|
5
|
+
export const content: ToolLocaleContent<RetroSfxGeneratorUI> = {
|
|
6
|
+
slug: 'generatore-effetti-sonori-retro',
|
|
7
|
+
title: 'Generatore di Effetti Sonori Retro per Giochi',
|
|
8
|
+
description: 'Crea brevi effetti sonori retro per videogiochi nel tuo browser con preset immediati, oscilloscopio live ed esportazione WAV.',
|
|
9
|
+
ui: {
|
|
10
|
+
waveformLabel: 'Forma d onda',
|
|
11
|
+
waveformSquare: 'Quadra',
|
|
12
|
+
waveformSawtooth: 'Dente di sega',
|
|
13
|
+
waveformSine: 'Sinusoidale',
|
|
14
|
+
waveformTriangle: 'Triangolare',
|
|
15
|
+
waveformNoise: 'Rumore',
|
|
16
|
+
presetLabel: 'Banco suoni rapidi',
|
|
17
|
+
presetExplosion: 'Esplosione',
|
|
18
|
+
presetLaser: 'Laser',
|
|
19
|
+
presetJump: 'Salto',
|
|
20
|
+
presetCoin: 'Moneta',
|
|
21
|
+
presetPowerUp: 'Potenziamento',
|
|
22
|
+
frequencyLabel: 'Frequenza iniziale',
|
|
23
|
+
frequencyEndLabel: 'Frequenza finale',
|
|
24
|
+
durationLabel: 'Durata',
|
|
25
|
+
decayLabel: 'Decadimento',
|
|
26
|
+
sweepLabel: 'Variazione tono',
|
|
27
|
+
vibratoLabel: 'Vibrato',
|
|
28
|
+
lowpassLabel: 'Passa-basso',
|
|
29
|
+
highpassLabel: 'Passa-alto',
|
|
30
|
+
noiseMixLabel: 'Miscela rumore',
|
|
31
|
+
toneSection: 'Tono',
|
|
32
|
+
dynamicsSection: 'Dinamica',
|
|
33
|
+
filterSection: 'Tessitura',
|
|
34
|
+
playButton: 'Riproduci suono',
|
|
35
|
+
stopButton: 'Interrompi',
|
|
36
|
+
downloadButton: 'Scarica WAV',
|
|
37
|
+
randomizeButton: 'Casuale',
|
|
38
|
+
resetButton: 'Reimposta',
|
|
39
|
+
waveformPreviewLabel: 'Forma d onda live',
|
|
40
|
+
generatedLabel: 'Generato',
|
|
41
|
+
statusReady: 'Pronto per l ascolto',
|
|
42
|
+
statusPlaying: 'In riproduzione nel browser',
|
|
43
|
+
statusStopped: 'Riproduzione interrotta',
|
|
44
|
+
statusDownloaded: 'WAV scaricato',
|
|
45
|
+
statusAudioBlocked: 'La riproduzione richiede l autorizzazione audio del browser',
|
|
46
|
+
statusGenerating: 'Generazione suono in corso',
|
|
47
|
+
presetHint: 'Scegli un punto di partenza e modella il segnale con i controlli.',
|
|
48
|
+
monoWavHint: '44.1 kHz · WAV mono a 16 bit',
|
|
49
|
+
},
|
|
50
|
+
seo: [
|
|
51
|
+
{
|
|
52
|
+
type: 'title',
|
|
53
|
+
level: 2,
|
|
54
|
+
text: 'Crea l audio del tuo gioco durante una game jam direttamente nel browser',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
type: 'paragraph',
|
|
58
|
+
html: 'Un buon effetto sonoro per videogiochi deve comunicare un azione all istante. Una frequenza crescente evoca un salto o un potenziamento, una discesa rapida suggerisce un laser, e un rumore con decadimento simula un esplosione. Questo generatore consente di personalizzare tutti questi parametri.',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
type: 'stats',
|
|
62
|
+
columns: 4,
|
|
63
|
+
items: [
|
|
64
|
+
{ label: 'Preset sonori', value: '5 modelli base' },
|
|
65
|
+
{ label: 'Oscillatori', value: '5 forme d onda' },
|
|
66
|
+
{ label: 'Formato export', value: 'WAV PCM 16 bit' },
|
|
67
|
+
{ label: 'Elaborazione', value: 'Nel browser' },
|
|
68
|
+
],
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'title',
|
|
72
|
+
level: 2,
|
|
73
|
+
text: 'Funzione dei controlli',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'comparative',
|
|
77
|
+
columns: 2,
|
|
78
|
+
items: [
|
|
79
|
+
{
|
|
80
|
+
title: 'Tono e movimento',
|
|
81
|
+
description: 'I controlli di tono definiscono l identita del suono.',
|
|
82
|
+
points: [
|
|
83
|
+
'La frequenza iniziale stabilisce la nota di partenza',
|
|
84
|
+
'La variazione di tono sposta la frequenza verso il valore finale',
|
|
85
|
+
'Il vibrato aggiunge una modulazione periodica lieve',
|
|
86
|
+
'Le diverse forme d onda generano timbri differenti',
|
|
87
|
+
],
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
title: 'Forma e tessitura',
|
|
91
|
+
description: 'Dinamica e filtri modellano l inviluppo del suono.',
|
|
92
|
+
points: [
|
|
93
|
+
'La durata definisce il tempo totale dell effetto',
|
|
94
|
+
'Il decadimento regola la velocita di dissolvenza dell ampiezza',
|
|
95
|
+
'Il filtro passa-basso ammorbidisce le frequenze acute',
|
|
96
|
+
'Il filtro passa-alto elimina le frequenze basse',
|
|
97
|
+
],
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
type: 'title',
|
|
103
|
+
level: 2,
|
|
104
|
+
text: 'Guida pratica per gli eventi di gioco',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
type: 'table',
|
|
108
|
+
headers: ['Evento', 'Preset di partenza', 'Prima modifica consiglia'],
|
|
109
|
+
rows: [
|
|
110
|
+
['Esplosione', 'Rumore a bassa frequenza', 'Aumentare la durata e abbassare il filtro passa-basso'],
|
|
111
|
+
['Laser', 'Dente di sega con variazione discendente', 'Accorciare la durata e alzare il filtro passa-alto'],
|
|
112
|
+
['Salto', 'Quadra con variazione ascendente', 'Ridurre il decadimento per mantenere chiaro l incremento'],
|
|
113
|
+
['Moneta', 'Quadra con breve variazione ascendente', 'Alzare la frequenza iniziale per un suono brillante'],
|
|
114
|
+
['Potenziamento', 'Triangolare con lunga variazione ascendente', 'Aggiungere un po di vibrato per dare dinamismo'],
|
|
115
|
+
],
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'title',
|
|
119
|
+
level: 2,
|
|
120
|
+
text: 'Perche il formato WAV e ideale per i prototipi',
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'paragraph',
|
|
124
|
+
html: 'Il formato WAV e immediatamente compatibile con i motori di gioco senza richiedere librerie di decompressione esterne.',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'tip',
|
|
128
|
+
title: 'Testare al volume effettivo del gioco',
|
|
129
|
+
html: 'Un suono gratificante da solo puo risultare stancante se ripetuto spesso nel gioco. Verificalo nel contesto di gioco reale.',
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
faqTitle: 'Domande Frequenti',
|
|
133
|
+
faq: [
|
|
134
|
+
{
|
|
135
|
+
question: 'I miei suoni vengono caricati su un server?',
|
|
136
|
+
answer: 'No. La sintesi e la codifica del file WAV avvengono interamente nel browser.',
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
question: 'Posso usare questi suoni nel mio progetto commerciale?',
|
|
140
|
+
answer: 'Sì, i suoni generati sono pensati per prototipi e progetti di game jam.',
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
question: 'Come funziona la variazione di tono?',
|
|
144
|
+
answer: 'Il cursore ricalcola la frequenza finale in modo proporzionale alla frequenza di partenza.',
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
question: 'Cosa fare se non si sente alcun suono?',
|
|
148
|
+
answer: 'Assicurati che l audio sia abilitato nella scheda del browser e riprova.',
|
|
149
|
+
},
|
|
150
|
+
],
|
|
151
|
+
howTo: [
|
|
152
|
+
{
|
|
153
|
+
name: 'Scegli un preset',
|
|
154
|
+
text: 'Seleziona Esplosione, Laser, Salto, Moneta o Potenziamento.',
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
name: 'Modella il segnale',
|
|
158
|
+
text: 'Regola forma d onda, frequenza, durata e filtri.',
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
name: 'Ascolta il risultato',
|
|
162
|
+
text: 'Fai clic su Riproduci suono per l ascolto in tempo reale.',
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
name: 'Scarica il file WAV',
|
|
166
|
+
text: 'Fai clic su Scarica WAV per salvare il file audio.',
|
|
167
|
+
},
|
|
168
|
+
],
|
|
169
|
+
schemas: [
|
|
170
|
+
{
|
|
171
|
+
'@context': 'https://schema.org',
|
|
172
|
+
'@type': 'SoftwareApplication',
|
|
173
|
+
name: 'Generatore di Effetti Sonori Retro per Giochi',
|
|
174
|
+
applicationCategory: 'MultimediaApplication',
|
|
175
|
+
operatingSystem: 'Any',
|
|
176
|
+
offers: {
|
|
177
|
+
'@type': 'Offer',
|
|
178
|
+
price: '0',
|
|
179
|
+
priceCurrency: 'EUR',
|
|
180
|
+
},
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
'@context': 'https://schema.org',
|
|
184
|
+
'@type': 'FAQPage',
|
|
185
|
+
mainEntity: [
|
|
186
|
+
{
|
|
187
|
+
'@type': 'Question',
|
|
188
|
+
name: 'I miei suoni vengono caricati su un server?',
|
|
189
|
+
acceptedAnswer: {
|
|
190
|
+
'@type': 'Answer',
|
|
191
|
+
text: 'No. La sintesi avviene interamente nel browser.',
|
|
192
|
+
},
|
|
193
|
+
},
|
|
194
|
+
],
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
'@context': 'https://schema.org',
|
|
198
|
+
'@type': 'HowTo',
|
|
199
|
+
name: 'Come creare un effetto sonoro retro',
|
|
200
|
+
step: [
|
|
201
|
+
{
|
|
202
|
+
'@type': 'HowToStep',
|
|
203
|
+
name: 'Scegli un preset',
|
|
204
|
+
text: 'Seleziona un modello di partenza.',
|
|
205
|
+
},
|
|
206
|
+
],
|
|
207
|
+
},
|
|
208
|
+
],
|
|
209
|
+
bibliographyTitle: 'Riferimenti',
|
|
210
|
+
bibliography: bibliographyEntries,
|
|
211
|
+
};
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import type { RetroSfxGeneratorUI } from '../ui';
|
|
3
|
+
import { bibliographyEntries } from '../bibliography';
|
|
4
|
+
|
|
5
|
+
export const content: ToolLocaleContent<RetroSfxGeneratorUI> = {
|
|
6
|
+
slug: 'retro-sfx-generator',
|
|
7
|
+
title: 'ゲーム用レトロ効果音ジェネレーター',
|
|
8
|
+
description: 'ブラウザ上でレトロゲームのサウンドエフェクトを生成。プリセット選択、波形調整、オシロスコープ表示、ワンクリックWAV保存に対応。',
|
|
9
|
+
ui: {
|
|
10
|
+
waveformLabel: '波形',
|
|
11
|
+
waveformSquare: '矩形波',
|
|
12
|
+
waveformSawtooth: 'ノコギリ波',
|
|
13
|
+
waveformSine: '正弦波',
|
|
14
|
+
waveformTriangle: '三角波',
|
|
15
|
+
waveformNoise: 'ノイズ',
|
|
16
|
+
presetLabel: 'クイックサウンドバンク',
|
|
17
|
+
presetExplosion: '爆発',
|
|
18
|
+
presetLaser: 'レーザー',
|
|
19
|
+
presetJump: 'ジャンプ',
|
|
20
|
+
presetCoin: 'コイン',
|
|
21
|
+
presetPowerUp: 'パワーアップ',
|
|
22
|
+
frequencyLabel: '開始周波数',
|
|
23
|
+
frequencyEndLabel: '終了周波数',
|
|
24
|
+
durationLabel: '長さ',
|
|
25
|
+
decayLabel: '減衰',
|
|
26
|
+
sweepLabel: 'ピッチスウィープ',
|
|
27
|
+
vibratoLabel: 'ビブラート',
|
|
28
|
+
lowpassLabel: 'ローパス',
|
|
29
|
+
highpassLabel: 'ハイパス',
|
|
30
|
+
noiseMixLabel: 'ノイズミックス',
|
|
31
|
+
toneSection: 'トーン',
|
|
32
|
+
dynamicsSection: 'ダイナミクス',
|
|
33
|
+
filterSection: 'テクスチャ',
|
|
34
|
+
playButton: '音を再生',
|
|
35
|
+
stopButton: '停止',
|
|
36
|
+
downloadButton: 'WAVダウンロード',
|
|
37
|
+
randomizeButton: 'ランダム生成',
|
|
38
|
+
resetButton: 'リセット',
|
|
39
|
+
waveformPreviewLabel: 'リアルタイム波形表示',
|
|
40
|
+
generatedLabel: '生成済み',
|
|
41
|
+
statusReady: '再生準備完了',
|
|
42
|
+
statusPlaying: 'ブラウザで再生中',
|
|
43
|
+
statusStopped: '再生停止',
|
|
44
|
+
statusDownloaded: 'WAV保存完了',
|
|
45
|
+
statusAudioBlocked: '再生にはブラウザタブの音声許可が必要です',
|
|
46
|
+
statusGenerating: '効果音をレンダリング中',
|
|
47
|
+
presetHint: 'プリセットを選択し、下のコントロールで波形を調整してください。',
|
|
48
|
+
monoWavHint: '44.1 kHz · 16-bit モノラル WAV',
|
|
49
|
+
},
|
|
50
|
+
seo: [
|
|
51
|
+
{
|
|
52
|
+
type: 'title',
|
|
53
|
+
level: 2,
|
|
54
|
+
text: 'ゲームジャム中にブラウザだけでゲームサウンドを即座に作成',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
type: 'paragraph',
|
|
58
|
+
html: '優れたゲーム効果音は、プレイヤーの操作に対して瞬時にフィードバックを返します。上昇音はジャンプやアイテム取得、下降音は攻撃や落下、ノイズ成分を含む減衰音は爆発を表現します。このジェネレーターは、ブラウザ内の音源合成機能を利用してレトロサウンドを作成します。',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
type: 'stats',
|
|
62
|
+
columns: 4,
|
|
63
|
+
items: [
|
|
64
|
+
{ label: 'サウンドプリセット', value: '5種類の基本パターン' },
|
|
65
|
+
{ label: 'オシレーター選択', value: '5種類の波形' },
|
|
66
|
+
{ label: '出力フォーマット', value: '16-bit PCM WAV' },
|
|
67
|
+
{ label: '処理方式', value: 'ブラウザ内ローカル処理' },
|
|
68
|
+
],
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'title',
|
|
72
|
+
level: 2,
|
|
73
|
+
text: '各パラメータの機能説明',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'comparative',
|
|
77
|
+
columns: 2,
|
|
78
|
+
items: [
|
|
79
|
+
{
|
|
80
|
+
title: 'ピッチと変化',
|
|
81
|
+
description: 'トーンコントロールは効果音の基本的な音高と変化を設定します。',
|
|
82
|
+
points: [
|
|
83
|
+
'開始周波数は音の最初の高さを設定します',
|
|
84
|
+
'ピッチスウィープは周波数の変化量をコントロールします',
|
|
85
|
+
'ビブラートは音高に規則的な揺れを加えます',
|
|
86
|
+
'各種波形により異なる高調波成分が生成されます',
|
|
87
|
+
],
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
title: '時間変化と質感',
|
|
91
|
+
description: 'ダイナミクスとフィルターは音の余韻や質感を整えます。',
|
|
92
|
+
points: [
|
|
93
|
+
'長さは効果音全体の再生時間を決定します',
|
|
94
|
+
'減衰は音量の減少速度を調整します',
|
|
95
|
+
'ローパスフィルターは高周波成分をカットしてマイルドにします',
|
|
96
|
+
'ハイパスフィルターは低周波成分をカットし、ノイズで質感を加えます',
|
|
97
|
+
],
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
type: 'title',
|
|
103
|
+
level: 2,
|
|
104
|
+
text: '代表的なゲームイベント向け設定例',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
type: 'table',
|
|
108
|
+
headers: ['イベント', 'おすすめのプリセット', '調整のヒント'],
|
|
109
|
+
rows: [
|
|
110
|
+
['爆発', '低音ノイズ', '長さを伸ばしローパスを下げることで重厚感が増します'],
|
|
111
|
+
['レーザー', '下降スウィープのノコギリ波', '長さを短くしハイパスを上げるとシャープになります'],
|
|
112
|
+
['ジャンプ', '上昇スウィープの矩形波', '減衰を調整してピッチの上昇感を強調します'],
|
|
113
|
+
['コイン', '短時間上昇の矩形波', '開始周波数を高くして明るい取得音にします'],
|
|
114
|
+
['パワーアップ', '長めの変化をつけた三角波', 'ビブラートを少し加えて動きを出します'],
|
|
115
|
+
],
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'title',
|
|
119
|
+
level: 2,
|
|
120
|
+
text: 'プロトタイプにWAVフォーマットが最適な理由',
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'paragraph',
|
|
124
|
+
html: 'WAVフォーマットは主要なゲームエンジン(Unity, Godot, Unreal Engineなど)にそのまま取り込むことができ、デコード処理の負荷がありません。本ツールで作成されたファイルはブラウザ内で高速に生成されます。',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'tip',
|
|
128
|
+
title: '実際のゲーム音量で確認する',
|
|
129
|
+
html: '単体で聴くと気持ち良い効果音でも、ゲーム内で連続再生されると騒々しく感じられる場合があります。必ずBGMと合わせた状態で音量調整を行ってください。',
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
faqTitle: 'よくある質問',
|
|
133
|
+
faq: [
|
|
134
|
+
{
|
|
135
|
+
question: '作成した音声をサーバーにアップロードしますか?',
|
|
136
|
+
answer: 'いいえ。すべての音声合成およびWAVエンコードはブラウザ内で処理されます。',
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
question: 'ダウンロードした効果音をゲームで使用できますか?',
|
|
140
|
+
answer: 'はい。ゲームジャムやプロトタイプ開発、個人のゲーム作品にそのままご利用いただけます。',
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
question: 'ピッチスウィープの仕組みは?',
|
|
144
|
+
answer: '開始周波数を基準として、正の値で音高上昇、負の値で音高下降を行う計算式になっています。',
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
question: '音が鳴らない場合の対処法は?',
|
|
148
|
+
answer: 'ブラウザの自動再生制限がかかっている可能性があります。「音を再生」ボタンを再度クリックしてください。',
|
|
149
|
+
},
|
|
150
|
+
],
|
|
151
|
+
howTo: [
|
|
152
|
+
{
|
|
153
|
+
name: 'プリセットを選択',
|
|
154
|
+
text: '「爆発」「レーザー」「ジャンプ」「コイン」「パワーアップ」から希望のタイプを選択します。',
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
name: 'パラメーターを調整',
|
|
158
|
+
text: '波形の種類や周波数、減衰時間、フィルターなどのスライダーを調整します。',
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
name: '音を確認',
|
|
162
|
+
text: '「音を再生」ボタンを押して実際の音声を再生確認します。',
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
name: 'WAVファイルを保存',
|
|
166
|
+
text: '「WAVダウンロード」をクリックして音声ファイルをローカルに保存します。',
|
|
167
|
+
},
|
|
168
|
+
],
|
|
169
|
+
schemas: [
|
|
170
|
+
{
|
|
171
|
+
'@context': 'https://schema.org',
|
|
172
|
+
'@type': 'SoftwareApplication',
|
|
173
|
+
name: 'ゲーム用レトロ効果音ジェネレーター',
|
|
174
|
+
applicationCategory: 'MultimediaApplication',
|
|
175
|
+
operatingSystem: 'Any',
|
|
176
|
+
offers: {
|
|
177
|
+
'@type': 'Offer',
|
|
178
|
+
price: '0',
|
|
179
|
+
priceCurrency: 'JPY',
|
|
180
|
+
},
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
'@context': 'https://schema.org',
|
|
184
|
+
'@type': 'FAQPage',
|
|
185
|
+
mainEntity: [
|
|
186
|
+
{
|
|
187
|
+
'@type': 'Question',
|
|
188
|
+
name: '作成した音声をサーバーにアップロードしますか?',
|
|
189
|
+
acceptedAnswer: {
|
|
190
|
+
'@type': 'Answer',
|
|
191
|
+
text: 'いいえ。すべての音声合成およびWAVエンコードはブラウザ内で処理されます。',
|
|
192
|
+
},
|
|
193
|
+
},
|
|
194
|
+
],
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
'@context': 'https://schema.org',
|
|
198
|
+
'@type': 'HowTo',
|
|
199
|
+
name: 'レトロゲーム効果音の作成手順',
|
|
200
|
+
step: [
|
|
201
|
+
{
|
|
202
|
+
'@type': 'HowToStep',
|
|
203
|
+
name: 'プリセットを選択',
|
|
204
|
+
text: '音效プリセットを選択します。',
|
|
205
|
+
},
|
|
206
|
+
],
|
|
207
|
+
},
|
|
208
|
+
],
|
|
209
|
+
bibliographyTitle: '参考文献',
|
|
210
|
+
bibliography: bibliographyEntries,
|
|
211
|
+
};
|