@jjlmoya/utils-games-development 1.54.0 → 1.56.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/entries.ts +7 -1
- package/src/index.ts +2 -0
- package/src/tests/contrast_legibility.test.ts +291 -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 +17 -15
- package/src/tool/pixelArtPaletteSwapper/app-client.ts +229 -0
- package/src/tool/pixelArtPaletteSwapper/bibliography.astro +6 -0
- package/src/tool/pixelArtPaletteSwapper/bibliography.ts +16 -0
- package/src/tool/pixelArtPaletteSwapper/component.astro +153 -0
- package/src/tool/pixelArtPaletteSwapper/entry.ts +28 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/de.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/en.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/es.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/fr.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/id.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/it.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/ja.ts +225 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/ko.ts +225 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/nl.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/pl.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/pt.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/ru.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/sv.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/tr.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/zh.ts +225 -0
- package/src/tool/pixelArtPaletteSwapper/index.ts +12 -0
- package/src/tool/pixelArtPaletteSwapper/logic.test.ts +43 -0
- package/src/tool/pixelArtPaletteSwapper/logic.ts +171 -0
- package/src/tool/pixelArtPaletteSwapper/pixel-art-palette-swapper.css +728 -0
- package/src/tool/pixelArtPaletteSwapper/seo.astro +15 -0
- package/src/tool/pixelArtPaletteSwapper/ui.ts +35 -0
- package/src/tool/retroSfxGenerator/bibliography.astro +6 -0
- package/src/tool/retroSfxGenerator/bibliography.ts +16 -0
- package/src/tool/retroSfxGenerator/client.ts +263 -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 +61 -0
- package/src/tool/retroSfxGenerator/logic.ts +214 -0
- package/src/tool/retroSfxGenerator/retro-sfx-generator.css +435 -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/steam-bbcode-translator.css +8 -8
- 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: 'generateur-effets-sonores-retro',
|
|
7
|
+
title: 'Generateur d Effets Sonores Retro pour Jeux',
|
|
8
|
+
description: 'Creez de courts effets sonores retro pour vos jeux dans votre navigateur avec des prereglages, oscilliscope en direct et export WAV.',
|
|
9
|
+
ui: {
|
|
10
|
+
waveformLabel: 'Forme d onde',
|
|
11
|
+
waveformSquare: 'Carree',
|
|
12
|
+
waveformSawtooth: 'Dent de scie',
|
|
13
|
+
waveformSine: 'Sinusoidale',
|
|
14
|
+
waveformTriangle: 'Triangulaire',
|
|
15
|
+
waveformNoise: 'Bruit',
|
|
16
|
+
presetLabel: 'Banque de sons rapides',
|
|
17
|
+
presetExplosion: 'Explosion',
|
|
18
|
+
presetLaser: 'Laser',
|
|
19
|
+
presetJump: 'Saut',
|
|
20
|
+
presetCoin: 'Piece',
|
|
21
|
+
presetPowerUp: 'Bonus',
|
|
22
|
+
frequencyLabel: 'Frequence initiale',
|
|
23
|
+
frequencyEndLabel: 'Frequence finale',
|
|
24
|
+
durationLabel: 'Duree',
|
|
25
|
+
decayLabel: 'Declin',
|
|
26
|
+
sweepLabel: 'Balayage de hauteur',
|
|
27
|
+
vibratoLabel: 'Vibrato',
|
|
28
|
+
lowpassLabel: 'Passe-bas',
|
|
29
|
+
highpassLabel: 'Passe-haut',
|
|
30
|
+
noiseMixLabel: 'Melange de bruit',
|
|
31
|
+
toneSection: 'Tonalite',
|
|
32
|
+
dynamicsSection: 'Dynamique',
|
|
33
|
+
filterSection: 'Texture',
|
|
34
|
+
playButton: 'Jouer le son',
|
|
35
|
+
stopButton: 'Arreter',
|
|
36
|
+
downloadButton: 'Telecharger WAV',
|
|
37
|
+
randomizeButton: 'Aleatoire',
|
|
38
|
+
resetButton: 'Reinitialiser',
|
|
39
|
+
waveformPreviewLabel: 'Forme d onde en direct',
|
|
40
|
+
generatedLabel: 'Genere',
|
|
41
|
+
statusReady: 'Pret pour l ecoute',
|
|
42
|
+
statusPlaying: 'Lecture dans votre navigateur',
|
|
43
|
+
statusStopped: 'Lecture arretee',
|
|
44
|
+
statusDownloaded: 'WAV telecharge',
|
|
45
|
+
statusAudioBlocked: 'La lecture necessite un onglet autorisant l audio',
|
|
46
|
+
statusGenerating: 'Rendu du son en cours',
|
|
47
|
+
presetHint: 'Choisissez un point de depart puis ajustez les parametres.',
|
|
48
|
+
monoWavHint: '44.1 kHz · WAV mono 16 bits',
|
|
49
|
+
},
|
|
50
|
+
seo: [
|
|
51
|
+
{
|
|
52
|
+
type: 'title',
|
|
53
|
+
level: 2,
|
|
54
|
+
text: 'Concevez l audio de votre jeu pendant une game jam directement dans votre navigateur',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
type: 'paragraph',
|
|
58
|
+
html: 'Un bon effet sonore retro doit communiquer une action rapidement. Une montee de ton dynamique evoque un saut ou un bonus, un balayage descendant rapel un laser, et un bruit sourd avec declin simule une explosion. Ce generateur permet de personnaliser ces signaux en temps réel.',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
type: 'stats',
|
|
62
|
+
columns: 4,
|
|
63
|
+
items: [
|
|
64
|
+
{ label: 'Prereglages sonores', value: '5 modeles de base' },
|
|
65
|
+
{ label: 'Formes d onde', value: '5 types d oscillateur' },
|
|
66
|
+
{ label: 'Format d export', value: 'WAV PCM 16 bits' },
|
|
67
|
+
{ label: 'Traitement', value: 'Navigateur local' },
|
|
68
|
+
],
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'title',
|
|
72
|
+
level: 2,
|
|
73
|
+
text: 'Explication des parametres',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'comparative',
|
|
77
|
+
columns: 2,
|
|
78
|
+
items: [
|
|
79
|
+
{
|
|
80
|
+
title: 'Hauteur et mouvement',
|
|
81
|
+
description: 'Les parametres de hauteur definissent l identite du son.',
|
|
82
|
+
points: [
|
|
83
|
+
'La frequence initiale fixe le ton de depart',
|
|
84
|
+
'Le balayage modifie la frequence vers la valeur finale',
|
|
85
|
+
'Le vibrato ajoute une modulation sinusoidale douce',
|
|
86
|
+
'Les oscillateurs generent diverses textures harmoniques',
|
|
87
|
+
],
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
title: 'Forme et texture',
|
|
91
|
+
description: 'La dynamique et les filtres faconnent l enveloppe.',
|
|
92
|
+
points: [
|
|
93
|
+
'La duree definit le temps total de l effet',
|
|
94
|
+
'Le declin reduit l amplitude au cours du temps',
|
|
95
|
+
'Le filtre passe-bas adoucit les hautes frequences',
|
|
96
|
+
'Le filtre passe-haut et le bruit apportent du grain',
|
|
97
|
+
],
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
type: 'title',
|
|
103
|
+
level: 2,
|
|
104
|
+
text: 'Recettes pratiques pour evenements de jeu',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
type: 'table',
|
|
108
|
+
headers: ['Evenement', 'Prereglage conseille', 'Premier ajustement a tester'],
|
|
109
|
+
rows: [
|
|
110
|
+
['Explosion', 'Bruit a basse frequence', 'Augmenter la duree et baisser le passe-bas'],
|
|
111
|
+
['Laser', 'Dent de scie avec balayage descendant', 'Raccourcir la duree et monter le passe-haut'],
|
|
112
|
+
['Saut', 'Carree avec balayage ascendant', 'Reduire le declin pour garder la montee claire'],
|
|
113
|
+
['Piece', 'Carree avec court balayage ascendant', 'Augmenter la frequence initiale pour un son brillant'],
|
|
114
|
+
['Bonus', 'Triangulaire avec long balayage ascendant', 'Ajouter un peu de vibrato pour donner du mouvement'],
|
|
115
|
+
],
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'title',
|
|
119
|
+
level: 2,
|
|
120
|
+
text: 'Pourquoi le format WAV est ideal pour le prototypage',
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'paragraph',
|
|
124
|
+
html: 'Le format WAV est directement compatible avec la plupart des moteurs de jeu et logiciels d edition sans necessiter de bibliotheques tierces.',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'tip',
|
|
128
|
+
title: 'Tester au volume reel du jeu',
|
|
129
|
+
html: 'Un son tres fort en solo peut devenir agressif s il est repete frequemment. Testez directement dans votre moteur de jeu.',
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
faqTitle: 'Foire Aux Questions',
|
|
133
|
+
faq: [
|
|
134
|
+
{
|
|
135
|
+
question: 'Mes sons sont-ils envoyes sur un serveur ?',
|
|
136
|
+
answer: 'Non. Tout le traitement est effectue localement dans votre navigateur.',
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
question: 'Puis-je utiliser ces sons dans mon jeu ?',
|
|
140
|
+
answer: 'Oui, ces sons sont conçus pour vos prototypes et jeux de jam.',
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
question: 'Comment fonctionne le balayage de hauteur ?',
|
|
144
|
+
answer: 'Le curseur calcule la frequence finale proportionnellement a la frequence de depart.',
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
question: 'Que faire en cas de silence ?',
|
|
148
|
+
answer: 'Verifiez que l audio est autorise dans les parametres de votre navigateur.',
|
|
149
|
+
},
|
|
150
|
+
],
|
|
151
|
+
howTo: [
|
|
152
|
+
{
|
|
153
|
+
name: 'Choisir un prereglage',
|
|
154
|
+
text: 'Selectionnez Explosion, Laser, Saut, Piece ou Bonus.',
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
name: 'Ajuster le signal',
|
|
158
|
+
text: 'Modifiez la forme d onde, la hauteur, la duree et les filtres.',
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
name: 'Ecouter le rendu',
|
|
162
|
+
text: 'Cliquez sur Jouer le son pour tester le resultat.',
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
name: 'Telecharger le WAV',
|
|
166
|
+
text: 'Cliquez sur Telecharger WAV pour obtenir le fichier audio.',
|
|
167
|
+
},
|
|
168
|
+
],
|
|
169
|
+
schemas: [
|
|
170
|
+
{
|
|
171
|
+
'@context': 'https://schema.org',
|
|
172
|
+
'@type': 'SoftwareApplication',
|
|
173
|
+
name: 'Generateur d Effets Sonores Retro pour Jeux',
|
|
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: 'Mes sons sont-ils envoyes sur un serveur ?',
|
|
189
|
+
acceptedAnswer: {
|
|
190
|
+
'@type': 'Answer',
|
|
191
|
+
text: 'Non. Tout le traitement est effectue localement dans votre navigateur.',
|
|
192
|
+
},
|
|
193
|
+
},
|
|
194
|
+
],
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
'@context': 'https://schema.org',
|
|
198
|
+
'@type': 'HowTo',
|
|
199
|
+
name: 'Comment creer un effet sonore retro',
|
|
200
|
+
step: [
|
|
201
|
+
{
|
|
202
|
+
'@type': 'HowToStep',
|
|
203
|
+
name: 'Choisir un prereglage',
|
|
204
|
+
text: 'Selectionnez un son de base.',
|
|
205
|
+
},
|
|
206
|
+
],
|
|
207
|
+
},
|
|
208
|
+
],
|
|
209
|
+
bibliographyTitle: 'References',
|
|
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: '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
|
+
};
|