@nodaro/shared 1.4.2

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.
Files changed (665) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +32 -0
  3. package/dist/index.cjs +12506 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.cts +12269 -0
  6. package/dist/index.d.ts +12269 -0
  7. package/dist/index.js +11831 -0
  8. package/dist/index.js.map +1 -0
  9. package/package.json +54 -0
  10. package/src/__tests__/__snapshots__/prompt-builder-segments.test.ts.snap +65 -0
  11. package/src/__tests__/ai-avatar-pricing.test.ts +321 -0
  12. package/src/__tests__/apply-video-negative-prompt.test.ts +76 -0
  13. package/src/__tests__/attach-columns.test.ts +28 -0
  14. package/src/__tests__/audio-crossfade-curves.test.ts +33 -0
  15. package/src/__tests__/build-model-menu.test.ts +58 -0
  16. package/src/__tests__/character-aspect-defaults.test.ts +142 -0
  17. package/src/__tests__/character-mention-slug.test.ts +199 -0
  18. package/src/__tests__/character-reference-photo-kinds.test.ts +32 -0
  19. package/src/__tests__/character-usage-mode.test.ts +147 -0
  20. package/src/__tests__/character-variant-assets.test.ts +142 -0
  21. package/src/__tests__/character-voice.test.ts +130 -0
  22. package/src/__tests__/cinematic-avatar-pricing.test.ts +119 -0
  23. package/src/__tests__/combine-transitions.test.ts +137 -0
  24. package/src/__tests__/component-types.test.ts +87 -0
  25. package/src/__tests__/condition-variables.test.ts +98 -0
  26. package/src/__tests__/credit-identifiers.test.ts +811 -0
  27. package/src/__tests__/default-video-provider.test.ts +63 -0
  28. package/src/__tests__/entity-image-handle.test.ts +43 -0
  29. package/src/__tests__/entity-variants.test.ts +33 -0
  30. package/src/__tests__/fal-lip-sync-sets.test.ts +31 -0
  31. package/src/__tests__/featured-entities.test.ts +33 -0
  32. package/src/__tests__/film-pricing.test.ts +64 -0
  33. package/src/__tests__/filter-condition.test.ts +285 -0
  34. package/src/__tests__/freecut-protocol.test.ts +35 -0
  35. package/src/__tests__/generate-text-items.test.ts +19 -0
  36. package/src/__tests__/generated-results.test.ts +50 -0
  37. package/src/__tests__/graph-utils.test.ts +618 -0
  38. package/src/__tests__/group-aggregation.test.ts +83 -0
  39. package/src/__tests__/i18n-locale-completeness.test.ts +156 -0
  40. package/src/__tests__/image-critic-node.test.ts +86 -0
  41. package/src/__tests__/image-mask-mode.test.ts +16 -0
  42. package/src/__tests__/image-ref-limit.test.ts +78 -0
  43. package/src/__tests__/inpaint-region.test.ts +24 -0
  44. package/src/__tests__/input-field-map-parity.test.ts +30 -0
  45. package/src/__tests__/json-evaluator.test.ts +289 -0
  46. package/src/__tests__/json-path.test.ts +64 -0
  47. package/src/__tests__/lip-sync-pricing.test.ts +142 -0
  48. package/src/__tests__/list-merge.test.ts +96 -0
  49. package/src/__tests__/list-sort.test.ts +134 -0
  50. package/src/__tests__/llm-models.test.ts +445 -0
  51. package/src/__tests__/location-mention-slug.test.ts +246 -0
  52. package/src/__tests__/locations-coverage-critic-schema.test.ts +92 -0
  53. package/src/__tests__/loop-delimiter.test.ts +39 -0
  54. package/src/__tests__/lottie-slots.test.ts +245 -0
  55. package/src/__tests__/model-catalog-flux2-resolutions.test.ts +21 -0
  56. package/src/__tests__/model-constants-location.test.ts +20 -0
  57. package/src/__tests__/model-constants.test.ts +122 -0
  58. package/src/__tests__/model-tree.test.ts +86 -0
  59. package/src/__tests__/no-internal-imports.test.ts +25 -0
  60. package/src/__tests__/node-default-mappings.test.ts +175 -0
  61. package/src/__tests__/node-mappable-fields.test.ts +7 -0
  62. package/src/__tests__/node-preset-export.test.ts +46 -0
  63. package/src/__tests__/node-preset-extract.test.ts +166 -0
  64. package/src/__tests__/node-refs-canonical.test.ts +54 -0
  65. package/src/__tests__/node-refs-combine.test.ts +54 -0
  66. package/src/__tests__/node-refs.test.ts +187 -0
  67. package/src/__tests__/node-runtime-keys.test.ts +99 -0
  68. package/src/__tests__/object-aspect-defaults.test.ts +59 -0
  69. package/src/__tests__/parameter-node-value.test.ts +137 -0
  70. package/src/__tests__/pinterest-url.test.ts +35 -0
  71. package/src/__tests__/pipeline-chat.test.ts +110 -0
  72. package/src/__tests__/pipeline-validation.test.ts +98 -0
  73. package/src/__tests__/presentation-utils.test.ts +1137 -0
  74. package/src/__tests__/producer-types.test.ts +47 -0
  75. package/src/__tests__/prompt-length-limits.test.ts +156 -0
  76. package/src/__tests__/provider-directive-defaults.test.ts +46 -0
  77. package/src/__tests__/reduce-strategy-registry.test.ts +43 -0
  78. package/src/__tests__/reference-board-templates.test.ts +33 -0
  79. package/src/__tests__/reference-roles.test.ts +36 -0
  80. package/src/__tests__/resolve-field-mappings.test.ts +110 -0
  81. package/src/__tests__/resolve-pipeline-model.test.ts +76 -0
  82. package/src/__tests__/scene-node-types.test.ts +80 -0
  83. package/src/__tests__/scraper-actors.test.ts +67 -0
  84. package/src/__tests__/seedance-2-catalog.test.ts +18 -0
  85. package/src/__tests__/seedance-2-credit-id.test.ts +23 -0
  86. package/src/__tests__/seedance-aspects.test.ts +52 -0
  87. package/src/__tests__/selector.test.ts +1151 -0
  88. package/src/__tests__/settled-with-limit.test.ts +214 -0
  89. package/src/__tests__/social-media-specs.test.ts +129 -0
  90. package/src/__tests__/sub-workflow-validation.test.ts +88 -0
  91. package/src/__tests__/switchx-pricing.test.ts +28 -0
  92. package/src/__tests__/to-connected-references.test.ts +153 -0
  93. package/src/__tests__/utilities.test.ts +541 -0
  94. package/src/__tests__/video-analysis-pricing.test.ts +58 -0
  95. package/src/__tests__/video-analysis.test.ts +63 -0
  96. package/src/__tests__/video-audio-capability.test.ts +204 -0
  97. package/src/__tests__/video-gen-providers.test.ts +28 -0
  98. package/src/__tests__/video-mode-aliases.test.ts +150 -0
  99. package/src/__tests__/video-ref-limits.test.ts +72 -0
  100. package/src/__tests__/video-utils.test.ts +303 -0
  101. package/src/__tests__/voice-changer-models.test.ts +33 -0
  102. package/src/__tests__/workflow-export-strip.test.ts +46 -0
  103. package/src/ai-avatar-pricing.ts +213 -0
  104. package/src/ancestor-refs.ts +48 -0
  105. package/src/animals.ts +231 -0
  106. package/src/audio-crossfade-curves.ts +73 -0
  107. package/src/audio-fx-presets.ts +64 -0
  108. package/src/avatar-payload-validators.ts +214 -0
  109. package/src/caption-styles.ts +31 -0
  110. package/src/character-aspect-defaults.ts +102 -0
  111. package/src/character-facets.ts +37 -0
  112. package/src/character-mention-slug.ts +166 -0
  113. package/src/character-usage-mode.ts +109 -0
  114. package/src/character-variant-assets.ts +121 -0
  115. package/src/character-voice.ts +151 -0
  116. package/src/cinematic-avatar-pricing.ts +111 -0
  117. package/src/clone-utils.ts +46 -0
  118. package/src/combine-transitions.ts +482 -0
  119. package/src/community.ts +112 -0
  120. package/src/component-types.ts +127 -0
  121. package/src/condition-variables.ts +65 -0
  122. package/src/credit-estimators/index.ts +15 -0
  123. package/src/credit-estimators/video-utils.ts +165 -0
  124. package/src/credit-identifiers.ts +304 -0
  125. package/src/entity-approval-types.ts +31 -0
  126. package/src/entity-aspect-defaults.ts +82 -0
  127. package/src/entity-asset-types.ts +296 -0
  128. package/src/entity-image-handle.ts +36 -0
  129. package/src/extra-refs.ts +139 -0
  130. package/src/featured-entities.ts +136 -0
  131. package/src/film-pricing.ts +117 -0
  132. package/src/filter-condition.ts +250 -0
  133. package/src/flux2-pricing.ts +18 -0
  134. package/src/freecut-protocol.ts +52 -0
  135. package/src/furniture.ts +167 -0
  136. package/src/generate-text-items.ts +15 -0
  137. package/src/generated-results.ts +63 -0
  138. package/src/group-aggregation.ts +75 -0
  139. package/src/hint-graph-types.ts +18 -0
  140. package/src/i18n/action-fx.ar.ts +89 -0
  141. package/src/i18n/action-fx.de.ts +89 -0
  142. package/src/i18n/action-fx.es.ts +89 -0
  143. package/src/i18n/action-fx.fr.ts +89 -0
  144. package/src/i18n/action-fx.he.ts +89 -0
  145. package/src/i18n/action-fx.hi.ts +89 -0
  146. package/src/i18n/action-fx.ja.ts +89 -0
  147. package/src/i18n/action-fx.ko.ts +89 -0
  148. package/src/i18n/action-fx.pt-BR.ts +89 -0
  149. package/src/i18n/action-fx.ru.ts +89 -0
  150. package/src/i18n/action-fx.zh-CN.ts +89 -0
  151. package/src/i18n/aesthetic.ar.ts +170 -0
  152. package/src/i18n/aesthetic.de.ts +48 -0
  153. package/src/i18n/aesthetic.es.ts +169 -0
  154. package/src/i18n/aesthetic.fr.ts +52 -0
  155. package/src/i18n/aesthetic.he.ts +169 -0
  156. package/src/i18n/aesthetic.hi.ts +55 -0
  157. package/src/i18n/aesthetic.ja.ts +165 -0
  158. package/src/i18n/aesthetic.ko.ts +169 -0
  159. package/src/i18n/aesthetic.pt-BR.ts +148 -0
  160. package/src/i18n/aesthetic.ru.ts +155 -0
  161. package/src/i18n/aesthetic.zh-CN.ts +172 -0
  162. package/src/i18n/animals.ar.ts +145 -0
  163. package/src/i18n/animals.de.ts +144 -0
  164. package/src/i18n/animals.es.ts +158 -0
  165. package/src/i18n/animals.fr.ts +144 -0
  166. package/src/i18n/animals.he.ts +155 -0
  167. package/src/i18n/animals.hi.ts +157 -0
  168. package/src/i18n/animals.ja.ts +159 -0
  169. package/src/i18n/animals.ko.ts +159 -0
  170. package/src/i18n/animals.pt-BR.ts +157 -0
  171. package/src/i18n/animals.ru.ts +155 -0
  172. package/src/i18n/animals.zh-CN.ts +155 -0
  173. package/src/i18n/atmosphere.ar.ts +49 -0
  174. package/src/i18n/atmosphere.de.ts +47 -0
  175. package/src/i18n/atmosphere.es.ts +50 -0
  176. package/src/i18n/atmosphere.fr.ts +47 -0
  177. package/src/i18n/atmosphere.he.ts +47 -0
  178. package/src/i18n/atmosphere.hi.ts +49 -0
  179. package/src/i18n/atmosphere.ja.ts +49 -0
  180. package/src/i18n/atmosphere.ko.ts +49 -0
  181. package/src/i18n/atmosphere.pt-BR.ts +49 -0
  182. package/src/i18n/atmosphere.ru.ts +47 -0
  183. package/src/i18n/atmosphere.zh-CN.ts +152 -0
  184. package/src/i18n/backdrop.ar.ts +53 -0
  185. package/src/i18n/backdrop.de.ts +46 -0
  186. package/src/i18n/backdrop.es.ts +54 -0
  187. package/src/i18n/backdrop.fr.ts +52 -0
  188. package/src/i18n/backdrop.he.ts +51 -0
  189. package/src/i18n/backdrop.hi.ts +59 -0
  190. package/src/i18n/backdrop.ja.ts +61 -0
  191. package/src/i18n/backdrop.ko.ts +59 -0
  192. package/src/i18n/backdrop.pt-BR.ts +59 -0
  193. package/src/i18n/backdrop.ru.ts +57 -0
  194. package/src/i18n/backdrop.zh-CN.ts +57 -0
  195. package/src/i18n/camera-format.ar.ts +40 -0
  196. package/src/i18n/camera-format.de.ts +37 -0
  197. package/src/i18n/camera-format.es.ts +41 -0
  198. package/src/i18n/camera-format.fr.ts +37 -0
  199. package/src/i18n/camera-format.he.ts +37 -0
  200. package/src/i18n/camera-format.hi.ts +42 -0
  201. package/src/i18n/camera-format.ja.ts +37 -0
  202. package/src/i18n/camera-format.ko.ts +37 -0
  203. package/src/i18n/camera-format.pt-BR.ts +46 -0
  204. package/src/i18n/camera-format.ru.ts +42 -0
  205. package/src/i18n/camera-format.zh-CN.ts +42 -0
  206. package/src/i18n/camera-motions.ar.ts +86 -0
  207. package/src/i18n/camera-motions.de.ts +74 -0
  208. package/src/i18n/camera-motions.es.ts +86 -0
  209. package/src/i18n/camera-motions.fr.ts +86 -0
  210. package/src/i18n/camera-motions.he.ts +86 -0
  211. package/src/i18n/camera-motions.hi.ts +99 -0
  212. package/src/i18n/camera-motions.ja.ts +99 -0
  213. package/src/i18n/camera-motions.ko.ts +99 -0
  214. package/src/i18n/camera-motions.pt-BR.ts +99 -0
  215. package/src/i18n/camera-motions.ru.ts +99 -0
  216. package/src/i18n/camera-motions.zh-CN.ts +99 -0
  217. package/src/i18n/character-fx.ar.ts +72 -0
  218. package/src/i18n/character-fx.de.ts +72 -0
  219. package/src/i18n/character-fx.es.ts +72 -0
  220. package/src/i18n/character-fx.fr.ts +72 -0
  221. package/src/i18n/character-fx.he.ts +72 -0
  222. package/src/i18n/character-fx.hi.ts +72 -0
  223. package/src/i18n/character-fx.ja.ts +72 -0
  224. package/src/i18n/character-fx.ko.ts +72 -0
  225. package/src/i18n/character-fx.pt-BR.ts +72 -0
  226. package/src/i18n/character-fx.ru.ts +72 -0
  227. package/src/i18n/character-fx.zh-CN.ts +72 -0
  228. package/src/i18n/color-look.ar.ts +50 -0
  229. package/src/i18n/color-look.de.ts +47 -0
  230. package/src/i18n/color-look.es.ts +50 -0
  231. package/src/i18n/color-look.fr.ts +50 -0
  232. package/src/i18n/color-look.he.ts +49 -0
  233. package/src/i18n/color-look.hi.ts +52 -0
  234. package/src/i18n/color-look.ja.ts +54 -0
  235. package/src/i18n/color-look.ko.ts +54 -0
  236. package/src/i18n/color-look.pt-BR.ts +54 -0
  237. package/src/i18n/color-look.ru.ts +52 -0
  238. package/src/i18n/color-look.zh-CN.ts +53 -0
  239. package/src/i18n/composition-effects.ar.ts +26 -0
  240. package/src/i18n/composition-effects.de.ts +25 -0
  241. package/src/i18n/composition-effects.es.ts +27 -0
  242. package/src/i18n/composition-effects.fr.ts +25 -0
  243. package/src/i18n/composition-effects.he.ts +25 -0
  244. package/src/i18n/composition-effects.hi.ts +27 -0
  245. package/src/i18n/composition-effects.ja.ts +27 -0
  246. package/src/i18n/composition-effects.ko.ts +27 -0
  247. package/src/i18n/composition-effects.pt-BR.ts +25 -0
  248. package/src/i18n/composition-effects.ru.ts +82 -0
  249. package/src/i18n/composition-effects.zh-CN.ts +25 -0
  250. package/src/i18n/era.ar.ts +37 -0
  251. package/src/i18n/era.de.ts +34 -0
  252. package/src/i18n/era.es.ts +37 -0
  253. package/src/i18n/era.fr.ts +37 -0
  254. package/src/i18n/era.he.ts +36 -0
  255. package/src/i18n/era.hi.ts +39 -0
  256. package/src/i18n/era.ja.ts +41 -0
  257. package/src/i18n/era.ko.ts +39 -0
  258. package/src/i18n/era.pt-BR.ts +41 -0
  259. package/src/i18n/era.ru.ts +121 -0
  260. package/src/i18n/era.zh-CN.ts +39 -0
  261. package/src/i18n/exposure-settings.ar.ts +28 -0
  262. package/src/i18n/exposure-settings.de.ts +26 -0
  263. package/src/i18n/exposure-settings.es.ts +28 -0
  264. package/src/i18n/exposure-settings.fr.ts +29 -0
  265. package/src/i18n/exposure-settings.he.ts +28 -0
  266. package/src/i18n/exposure-settings.hi.ts +31 -0
  267. package/src/i18n/exposure-settings.ja.ts +31 -0
  268. package/src/i18n/exposure-settings.ko.ts +31 -0
  269. package/src/i18n/exposure-settings.pt-BR.ts +31 -0
  270. package/src/i18n/exposure-settings.ru.ts +31 -0
  271. package/src/i18n/exposure-settings.zh-CN.ts +31 -0
  272. package/src/i18n/framing.ar.ts +78 -0
  273. package/src/i18n/framing.de.ts +73 -0
  274. package/src/i18n/framing.es.ts +78 -0
  275. package/src/i18n/framing.fr.ts +78 -0
  276. package/src/i18n/framing.he.ts +77 -0
  277. package/src/i18n/framing.hi.ts +82 -0
  278. package/src/i18n/framing.ja.ts +84 -0
  279. package/src/i18n/framing.ko.ts +82 -0
  280. package/src/i18n/framing.pt-BR.ts +84 -0
  281. package/src/i18n/framing.ru.ts +82 -0
  282. package/src/i18n/framing.zh-CN.ts +82 -0
  283. package/src/i18n/furniture.ar.ts +92 -0
  284. package/src/i18n/furniture.de.ts +93 -0
  285. package/src/i18n/furniture.es.ts +101 -0
  286. package/src/i18n/furniture.fr.ts +93 -0
  287. package/src/i18n/furniture.he.ts +101 -0
  288. package/src/i18n/furniture.hi.ts +101 -0
  289. package/src/i18n/furniture.ja.ts +101 -0
  290. package/src/i18n/furniture.ko.ts +101 -0
  291. package/src/i18n/furniture.pt-BR.ts +101 -0
  292. package/src/i18n/furniture.ru.ts +101 -0
  293. package/src/i18n/furniture.zh-CN.ts +101 -0
  294. package/src/i18n/held-prop.ar.ts +74 -0
  295. package/src/i18n/held-prop.de.ts +65 -0
  296. package/src/i18n/held-prop.es.ts +83 -0
  297. package/src/i18n/held-prop.fr.ts +74 -0
  298. package/src/i18n/held-prop.he.ts +73 -0
  299. package/src/i18n/held-prop.hi.ts +82 -0
  300. package/src/i18n/held-prop.ja.ts +84 -0
  301. package/src/i18n/held-prop.ko.ts +84 -0
  302. package/src/i18n/held-prop.pt-BR.ts +84 -0
  303. package/src/i18n/held-prop.ru.ts +82 -0
  304. package/src/i18n/held-prop.zh-CN.ts +82 -0
  305. package/src/i18n/index.ts +208 -0
  306. package/src/i18n/instrumentation.ar.ts +195 -0
  307. package/src/i18n/instrumentation.de.ts +195 -0
  308. package/src/i18n/instrumentation.es.ts +195 -0
  309. package/src/i18n/instrumentation.fr.ts +195 -0
  310. package/src/i18n/instrumentation.he.ts +195 -0
  311. package/src/i18n/instrumentation.hi.ts +195 -0
  312. package/src/i18n/instrumentation.ja.ts +195 -0
  313. package/src/i18n/instrumentation.ko.ts +195 -0
  314. package/src/i18n/instrumentation.pt-BR.ts +195 -0
  315. package/src/i18n/instrumentation.ru.ts +195 -0
  316. package/src/i18n/instrumentation.zh-CN.ts +195 -0
  317. package/src/i18n/lens.ar.ts +24 -0
  318. package/src/i18n/lens.de.ts +24 -0
  319. package/src/i18n/lens.es.ts +24 -0
  320. package/src/i18n/lens.fr.ts +24 -0
  321. package/src/i18n/lens.he.ts +24 -0
  322. package/src/i18n/lens.hi.ts +24 -0
  323. package/src/i18n/lens.ja.ts +24 -0
  324. package/src/i18n/lens.ko.ts +24 -0
  325. package/src/i18n/lens.pt-BR.ts +24 -0
  326. package/src/i18n/lens.ru.ts +25 -0
  327. package/src/i18n/lens.zh-CN.ts +24 -0
  328. package/src/i18n/lighting.ar.ts +86 -0
  329. package/src/i18n/lighting.de.ts +84 -0
  330. package/src/i18n/lighting.es.ts +89 -0
  331. package/src/i18n/lighting.fr.ts +84 -0
  332. package/src/i18n/lighting.he.ts +88 -0
  333. package/src/i18n/lighting.hi.ts +90 -0
  334. package/src/i18n/lighting.ja.ts +90 -0
  335. package/src/i18n/lighting.ko.ts +90 -0
  336. package/src/i18n/lighting.pt-BR.ts +90 -0
  337. package/src/i18n/lighting.ru.ts +88 -0
  338. package/src/i18n/lighting.zh-CN.ts +92 -0
  339. package/src/i18n/loop-subject.ar.ts +39 -0
  340. package/src/i18n/loop-subject.de.ts +39 -0
  341. package/src/i18n/loop-subject.es.ts +39 -0
  342. package/src/i18n/loop-subject.fr.ts +39 -0
  343. package/src/i18n/loop-subject.he.ts +39 -0
  344. package/src/i18n/loop-subject.hi.ts +39 -0
  345. package/src/i18n/loop-subject.ja.ts +39 -0
  346. package/src/i18n/loop-subject.ko.ts +39 -0
  347. package/src/i18n/loop-subject.pt-BR.ts +39 -0
  348. package/src/i18n/loop-subject.ru.ts +39 -0
  349. package/src/i18n/loop-subject.zh-CN.ts +39 -0
  350. package/src/i18n/materials.ar.ts +80 -0
  351. package/src/i18n/materials.de.ts +80 -0
  352. package/src/i18n/materials.es.ts +87 -0
  353. package/src/i18n/materials.fr.ts +80 -0
  354. package/src/i18n/materials.he.ts +86 -0
  355. package/src/i18n/materials.hi.ts +86 -0
  356. package/src/i18n/materials.ja.ts +88 -0
  357. package/src/i18n/materials.ko.ts +88 -0
  358. package/src/i18n/materials.pt-BR.ts +88 -0
  359. package/src/i18n/materials.ru.ts +86 -0
  360. package/src/i18n/materials.zh-CN.ts +86 -0
  361. package/src/i18n/mood.ar.ts +61 -0
  362. package/src/i18n/mood.de.ts +61 -0
  363. package/src/i18n/mood.es.ts +66 -0
  364. package/src/i18n/mood.fr.ts +61 -0
  365. package/src/i18n/mood.he.ts +64 -0
  366. package/src/i18n/mood.hi.ts +66 -0
  367. package/src/i18n/mood.ja.ts +66 -0
  368. package/src/i18n/mood.ko.ts +66 -0
  369. package/src/i18n/mood.pt-BR.ts +64 -0
  370. package/src/i18n/mood.ru.ts +64 -0
  371. package/src/i18n/mood.zh-CN.ts +64 -0
  372. package/src/i18n/music-genre.ar.ts +302 -0
  373. package/src/i18n/music-genre.de.ts +302 -0
  374. package/src/i18n/music-genre.es.ts +302 -0
  375. package/src/i18n/music-genre.fr.ts +302 -0
  376. package/src/i18n/music-genre.he.ts +302 -0
  377. package/src/i18n/music-genre.hi.ts +302 -0
  378. package/src/i18n/music-genre.ja.ts +302 -0
  379. package/src/i18n/music-genre.ko.ts +302 -0
  380. package/src/i18n/music-genre.pt-BR.ts +302 -0
  381. package/src/i18n/music-genre.ru.ts +302 -0
  382. package/src/i18n/music-genre.zh-CN.ts +302 -0
  383. package/src/i18n/music-mood.ar.ts +75 -0
  384. package/src/i18n/music-mood.de.ts +75 -0
  385. package/src/i18n/music-mood.es.ts +75 -0
  386. package/src/i18n/music-mood.fr.ts +75 -0
  387. package/src/i18n/music-mood.he.ts +75 -0
  388. package/src/i18n/music-mood.hi.ts +75 -0
  389. package/src/i18n/music-mood.ja.ts +75 -0
  390. package/src/i18n/music-mood.ko.ts +75 -0
  391. package/src/i18n/music-mood.pt-BR.ts +75 -0
  392. package/src/i18n/music-mood.ru.ts +75 -0
  393. package/src/i18n/music-mood.zh-CN.ts +75 -0
  394. package/src/i18n/person.ar.ts +638 -0
  395. package/src/i18n/person.de.ts +629 -0
  396. package/src/i18n/person.es.ts +645 -0
  397. package/src/i18n/person.fr.ts +621 -0
  398. package/src/i18n/person.he.ts +656 -0
  399. package/src/i18n/person.hi.ts +654 -0
  400. package/src/i18n/person.ja.ts +662 -0
  401. package/src/i18n/person.ko.ts +662 -0
  402. package/src/i18n/person.pt-BR.ts +656 -0
  403. package/src/i18n/person.ru.ts +656 -0
  404. package/src/i18n/person.zh-CN.ts +656 -0
  405. package/src/i18n/photo-genre.ar.ts +58 -0
  406. package/src/i18n/photo-genre.de.ts +52 -0
  407. package/src/i18n/photo-genre.es.ts +64 -0
  408. package/src/i18n/photo-genre.fr.ts +58 -0
  409. package/src/i18n/photo-genre.he.ts +62 -0
  410. package/src/i18n/photo-genre.hi.ts +63 -0
  411. package/src/i18n/photo-genre.ja.ts +65 -0
  412. package/src/i18n/photo-genre.ko.ts +63 -0
  413. package/src/i18n/photo-genre.pt-BR.ts +65 -0
  414. package/src/i18n/photo-genre.ru.ts +63 -0
  415. package/src/i18n/photo-genre.zh-CN.ts +63 -0
  416. package/src/i18n/photographer.ar.ts +75 -0
  417. package/src/i18n/photographer.de.ts +74 -0
  418. package/src/i18n/photographer.es.ts +77 -0
  419. package/src/i18n/photographer.fr.ts +77 -0
  420. package/src/i18n/photographer.he.ts +78 -0
  421. package/src/i18n/photographer.hi.ts +80 -0
  422. package/src/i18n/photographer.ja.ts +84 -0
  423. package/src/i18n/photographer.ko.ts +84 -0
  424. package/src/i18n/photographer.pt-BR.ts +83 -0
  425. package/src/i18n/photographer.ru.ts +78 -0
  426. package/src/i18n/photographer.zh-CN.ts +78 -0
  427. package/src/i18n/pose.ar.ts +95 -0
  428. package/src/i18n/pose.de.ts +96 -0
  429. package/src/i18n/pose.es.ts +104 -0
  430. package/src/i18n/pose.fr.ts +96 -0
  431. package/src/i18n/pose.he.ts +104 -0
  432. package/src/i18n/pose.hi.ts +104 -0
  433. package/src/i18n/pose.ja.ts +104 -0
  434. package/src/i18n/pose.ko.ts +104 -0
  435. package/src/i18n/pose.pt-BR.ts +104 -0
  436. package/src/i18n/pose.ru.ts +104 -0
  437. package/src/i18n/pose.zh-CN.ts +104 -0
  438. package/src/i18n/post-process-effects.ar.ts +25 -0
  439. package/src/i18n/post-process-effects.de.ts +24 -0
  440. package/src/i18n/post-process-effects.es.ts +26 -0
  441. package/src/i18n/post-process-effects.fr.ts +24 -0
  442. package/src/i18n/post-process-effects.he.ts +24 -0
  443. package/src/i18n/post-process-effects.hi.ts +26 -0
  444. package/src/i18n/post-process-effects.ja.ts +26 -0
  445. package/src/i18n/post-process-effects.ko.ts +26 -0
  446. package/src/i18n/post-process-effects.pt-BR.ts +24 -0
  447. package/src/i18n/post-process-effects.ru.ts +24 -0
  448. package/src/i18n/post-process-effects.zh-CN.ts +24 -0
  449. package/src/i18n/render-quality.ar.ts +34 -0
  450. package/src/i18n/render-quality.de.ts +30 -0
  451. package/src/i18n/render-quality.es.ts +35 -0
  452. package/src/i18n/render-quality.fr.ts +34 -0
  453. package/src/i18n/render-quality.he.ts +33 -0
  454. package/src/i18n/render-quality.hi.ts +39 -0
  455. package/src/i18n/render-quality.ja.ts +39 -0
  456. package/src/i18n/render-quality.ko.ts +39 -0
  457. package/src/i18n/render-quality.pt-BR.ts +37 -0
  458. package/src/i18n/render-quality.ru.ts +37 -0
  459. package/src/i18n/render-quality.zh-CN.ts +37 -0
  460. package/src/i18n/seasons.ar.ts +10 -0
  461. package/src/i18n/seasons.de.ts +10 -0
  462. package/src/i18n/seasons.es.ts +10 -0
  463. package/src/i18n/seasons.fr.ts +10 -0
  464. package/src/i18n/seasons.he.ts +10 -0
  465. package/src/i18n/seasons.hi.ts +10 -0
  466. package/src/i18n/seasons.ja.ts +10 -0
  467. package/src/i18n/seasons.ko.ts +10 -0
  468. package/src/i18n/seasons.pt-BR.ts +10 -0
  469. package/src/i18n/seasons.ru.ts +10 -0
  470. package/src/i18n/seasons.zh-CN.ts +10 -0
  471. package/src/i18n/setting.ar.ts +73 -0
  472. package/src/i18n/setting.de.ts +73 -0
  473. package/src/i18n/setting.es.ts +77 -0
  474. package/src/i18n/setting.fr.ts +73 -0
  475. package/src/i18n/setting.he.ts +76 -0
  476. package/src/i18n/setting.hi.ts +76 -0
  477. package/src/i18n/setting.ja.ts +78 -0
  478. package/src/i18n/setting.ko.ts +76 -0
  479. package/src/i18n/setting.pt-BR.ts +78 -0
  480. package/src/i18n/setting.ru.ts +76 -0
  481. package/src/i18n/setting.zh-CN.ts +76 -0
  482. package/src/i18n/style.ar.ts +55 -0
  483. package/src/i18n/style.de.ts +54 -0
  484. package/src/i18n/style.es.ts +54 -0
  485. package/src/i18n/style.fr.ts +54 -0
  486. package/src/i18n/style.he.ts +54 -0
  487. package/src/i18n/style.hi.ts +54 -0
  488. package/src/i18n/style.ja.ts +54 -0
  489. package/src/i18n/style.ko.ts +54 -0
  490. package/src/i18n/style.pt-BR.ts +56 -0
  491. package/src/i18n/style.ru.ts +54 -0
  492. package/src/i18n/style.zh-CN.ts +54 -0
  493. package/src/i18n/styling.ar.ts +295 -0
  494. package/src/i18n/styling.de.ts +285 -0
  495. package/src/i18n/styling.es.ts +317 -0
  496. package/src/i18n/styling.fr.ts +285 -0
  497. package/src/i18n/styling.he.ts +307 -0
  498. package/src/i18n/styling.hi.ts +323 -0
  499. package/src/i18n/styling.ja.ts +317 -0
  500. package/src/i18n/styling.ko.ts +311 -0
  501. package/src/i18n/styling.pt-BR.ts +301 -0
  502. package/src/i18n/styling.ru.ts +301 -0
  503. package/src/i18n/styling.zh-CN.ts +307 -0
  504. package/src/i18n/temporal.ar.ts +31 -0
  505. package/src/i18n/temporal.de.ts +24 -0
  506. package/src/i18n/temporal.es.ts +27 -0
  507. package/src/i18n/temporal.fr.ts +28 -0
  508. package/src/i18n/temporal.he.ts +31 -0
  509. package/src/i18n/temporal.hi.ts +31 -0
  510. package/src/i18n/temporal.ja.ts +31 -0
  511. package/src/i18n/temporal.ko.ts +31 -0
  512. package/src/i18n/temporal.pt-BR.ts +31 -0
  513. package/src/i18n/temporal.ru.ts +31 -0
  514. package/src/i18n/temporal.zh-CN.ts +31 -0
  515. package/src/i18n/transitions.ar.ts +97 -0
  516. package/src/i18n/transitions.de.ts +97 -0
  517. package/src/i18n/transitions.es.ts +97 -0
  518. package/src/i18n/transitions.fr.ts +97 -0
  519. package/src/i18n/transitions.he.ts +97 -0
  520. package/src/i18n/transitions.hi.ts +97 -0
  521. package/src/i18n/transitions.ja.ts +97 -0
  522. package/src/i18n/transitions.ko.ts +97 -0
  523. package/src/i18n/transitions.pt-BR.ts +97 -0
  524. package/src/i18n/transitions.ru.ts +97 -0
  525. package/src/i18n/transitions.zh-CN.ts +97 -0
  526. package/src/i18n/types.ts +158 -0
  527. package/src/i18n/vehicles.ar.ts +137 -0
  528. package/src/i18n/vehicles.de.ts +125 -0
  529. package/src/i18n/vehicles.es.ts +138 -0
  530. package/src/i18n/vehicles.fr.ts +125 -0
  531. package/src/i18n/vehicles.he.ts +136 -0
  532. package/src/i18n/vehicles.hi.ts +138 -0
  533. package/src/i18n/vehicles.ja.ts +138 -0
  534. package/src/i18n/vehicles.ko.ts +138 -0
  535. package/src/i18n/vehicles.pt-BR.ts +136 -0
  536. package/src/i18n/vehicles.ru.ts +136 -0
  537. package/src/i18n/vehicles.zh-CN.ts +136 -0
  538. package/src/i18n/voice-character.ar.ts +126 -0
  539. package/src/i18n/voice-character.de.ts +126 -0
  540. package/src/i18n/voice-character.es.ts +126 -0
  541. package/src/i18n/voice-character.fr.ts +126 -0
  542. package/src/i18n/voice-character.he.ts +126 -0
  543. package/src/i18n/voice-character.hi.ts +126 -0
  544. package/src/i18n/voice-character.ja.ts +126 -0
  545. package/src/i18n/voice-character.ko.ts +126 -0
  546. package/src/i18n/voice-character.pt-BR.ts +126 -0
  547. package/src/i18n/voice-character.ru.ts +126 -0
  548. package/src/i18n/voice-character.zh-CN.ts +126 -0
  549. package/src/i18n/voice-delivery.ar.ts +77 -0
  550. package/src/i18n/voice-delivery.de.ts +77 -0
  551. package/src/i18n/voice-delivery.es.ts +77 -0
  552. package/src/i18n/voice-delivery.fr.ts +77 -0
  553. package/src/i18n/voice-delivery.he.ts +77 -0
  554. package/src/i18n/voice-delivery.hi.ts +77 -0
  555. package/src/i18n/voice-delivery.ja.ts +77 -0
  556. package/src/i18n/voice-delivery.ko.ts +77 -0
  557. package/src/i18n/voice-delivery.pt-BR.ts +77 -0
  558. package/src/i18n/voice-delivery.ru.ts +77 -0
  559. package/src/i18n/voice-delivery.zh-CN.ts +77 -0
  560. package/src/i18n/weapons.ar.ts +115 -0
  561. package/src/i18n/weapons.de.ts +114 -0
  562. package/src/i18n/weapons.es.ts +116 -0
  563. package/src/i18n/weapons.fr.ts +103 -0
  564. package/src/i18n/weapons.he.ts +114 -0
  565. package/src/i18n/weapons.hi.ts +116 -0
  566. package/src/i18n/weapons.ja.ts +116 -0
  567. package/src/i18n/weapons.ko.ts +116 -0
  568. package/src/i18n/weapons.pt-BR.ts +114 -0
  569. package/src/i18n/weapons.ru.ts +114 -0
  570. package/src/i18n/weapons.zh-CN.ts +114 -0
  571. package/src/image-critic-node.ts +61 -0
  572. package/src/image-critic-types.ts +40 -0
  573. package/src/index.ts +866 -0
  574. package/src/inject-upstream.ts +15 -0
  575. package/src/inpaint-region.ts +51 -0
  576. package/src/json-evaluator.ts +732 -0
  577. package/src/json-path.ts +52 -0
  578. package/src/lip-sync-pricing.ts +90 -0
  579. package/src/list-merge.ts +40 -0
  580. package/src/list-sort.ts +122 -0
  581. package/src/list-source-resolver.ts +50 -0
  582. package/src/llm-models.ts +245 -0
  583. package/src/location-mention-slug.ts +291 -0
  584. package/src/location-preset-catalog-map.ts +128 -0
  585. package/src/loop-delimiter.ts +73 -0
  586. package/src/lora-routing.ts +95 -0
  587. package/src/lottie-overlay-catalog.ts +175 -0
  588. package/src/lottie-slots.ts +309 -0
  589. package/src/model-catalog.ts +2386 -0
  590. package/src/model-constants.ts +1910 -0
  591. package/src/model-tree.ts +120 -0
  592. package/src/monetization.ts +15 -0
  593. package/src/multi-pick.ts +42 -0
  594. package/src/node-default-mappings.ts +262 -0
  595. package/src/node-mappable-fields.ts +70 -0
  596. package/src/node-preset-export.ts +56 -0
  597. package/src/node-preset-extract.ts +147 -0
  598. package/src/node-refs.ts +253 -0
  599. package/src/node-runtime-keys.ts +117 -0
  600. package/src/object-aspect-defaults.ts +72 -0
  601. package/src/object-picker-types.ts +22 -0
  602. package/src/parameter-node-value.ts +284 -0
  603. package/src/pinterest-url.ts +28 -0
  604. package/src/pipeline-chat.ts +72 -0
  605. package/src/pipeline-defaults.ts +318 -0
  606. package/src/pipeline-events.ts +162 -0
  607. package/src/pipeline-state-types.ts +196 -0
  608. package/src/pipeline-types.ts +647 -0
  609. package/src/pipeline-validation.ts +87 -0
  610. package/src/presentation-types.ts +23 -0
  611. package/src/presentation-utils.ts +397 -0
  612. package/src/producer-types.ts +188 -0
  613. package/src/progress-curve.ts +99 -0
  614. package/src/provider-directive-defaults.ts +69 -0
  615. package/src/reduce-strategy-registry.ts +121 -0
  616. package/src/reference-board-templates.ts +81 -0
  617. package/src/reference-roles.ts +153 -0
  618. package/src/reference-sheet/__tests__/board-to-column.test.ts +20 -0
  619. package/src/reference-sheet/__tests__/catalog.test.ts +50 -0
  620. package/src/reference-sheet/__tests__/cost.test.ts +38 -0
  621. package/src/reference-sheet/__tests__/no-drift.test.ts +28 -0
  622. package/src/reference-sheet/__tests__/panel-plan.test.ts +61 -0
  623. package/src/reference-sheet/__tests__/panel-prompts.test.ts +17 -0
  624. package/src/reference-sheet/__tests__/plan-generation.test.ts +72 -0
  625. package/src/reference-sheet/__tests__/presets.test.ts +54 -0
  626. package/src/reference-sheet/__tests__/types.test.ts +24 -0
  627. package/src/reference-sheet/catalog.ts +144 -0
  628. package/src/reference-sheet/cost.ts +37 -0
  629. package/src/reference-sheet/credit-id.ts +7 -0
  630. package/src/reference-sheet/index.ts +8 -0
  631. package/src/reference-sheet/panel-plan.ts +65 -0
  632. package/src/reference-sheet/panel-prompts.ts +14 -0
  633. package/src/reference-sheet/plan-generation.ts +79 -0
  634. package/src/reference-sheet/presets.ts +77 -0
  635. package/src/reference-sheet/types.ts +92 -0
  636. package/src/repeat-types.ts +97 -0
  637. package/src/resolve-field-mappings.ts +119 -0
  638. package/src/route-filter.ts +80 -0
  639. package/src/scene-helper-types.ts +249 -0
  640. package/src/scene-node-types.ts +281 -0
  641. package/src/scraper-actors.ts +57 -0
  642. package/src/scraper-output-schemas.ts +25 -0
  643. package/src/seasons.ts +45 -0
  644. package/src/selector.ts +864 -0
  645. package/src/settled-with-limit.ts +42 -0
  646. package/src/shot-element.ts +43 -0
  647. package/src/social-media-specs.ts +121 -0
  648. package/src/social-post.ts +24 -0
  649. package/src/sub-workflow-validation.ts +78 -0
  650. package/src/supported-fonts.ts +40 -0
  651. package/src/surround.ts +113 -0
  652. package/src/switchx-pricing.ts +33 -0
  653. package/src/text-separators.ts +59 -0
  654. package/src/to-connected-references.ts +77 -0
  655. package/src/types.ts +272 -0
  656. package/src/variant-job-id.ts +17 -0
  657. package/src/vehicles.ts +213 -0
  658. package/src/video-analysis-pricing.ts +74 -0
  659. package/src/video-analysis.ts +127 -0
  660. package/src/video-duration.ts +25 -0
  661. package/src/voice-changer-models.ts +36 -0
  662. package/src/voice-matcher-types.ts +37 -0
  663. package/src/voices.ts +92 -0
  664. package/src/weapons.ts +190 -0
  665. package/src/workflow-export.ts +153 -0
@@ -0,0 +1,195 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ const map: LocaleCatalogMap = {
4
+ // -------------------- INSTRUMENTS: Drums --------------------
5
+ "drums": { label: "Bateria", description: "Bateria acústica" },
6
+ "drum-machine": { label: "Bateria Eletrônica", description: "Batidas programadas" },
7
+ "808": { description: "Bateria e baixo Roland TR-808" },
8
+ "live-drums": { label: "Bateria ao Vivo", description: "Bateria acústica gravada" },
9
+ "breakbeats": { description: "Loops de bateria sampleados" },
10
+ "trap-drums": { label: "Bateria Trap", description: "Rolls de hi-hat com 808" },
11
+
12
+ // -------------------- INSTRUMENTS: Percussion --------------------
13
+ "bongos": { description: "Par de pequenos tambores cubanos" },
14
+ "conga": { description: "Tambor alto de uma face" },
15
+ "djembe": { label: "Djembê", description: "Tambor em forma de cálice da África Ocidental" },
16
+ "timbales": { description: "Par de tambores metálicos cubanos" },
17
+ "tambourine": { label: "Pandeireta", description: "Soalhas agitadas à mão" },
18
+ "shaker": { label: "Ganzá", description: "Chocalho preenchido" },
19
+ "cowbell": { label: "Cowbell", description: "Sino de mão" },
20
+ "maracas": { description: "Par de maracás latinos" },
21
+ "claves": { description: "Bastões de madeira" },
22
+ "marimba": { description: "Teclado de macetes de madeira" },
23
+ "vibraphone": { label: "Vibrafone", description: "Macete com ressonador elétrico" },
24
+ "xylophone": { label: "Xilofone", description: "Macetes de madeira, brilhante" },
25
+ "glockenspiel": { description: "Sinos agudos de macete" },
26
+ "timpani": { label: "Tímpanos", description: "Grandes tímpanos orquestrais" },
27
+ "taiko": { description: "Tambor de conjunto japonês" },
28
+ "frame-drum": { label: "Tambor de Aro", description: "Tambor redondo raso" },
29
+ "cajon": { label: "Cajón", description: "Tambor peruano em forma de caixa" },
30
+ "darbuka": { label: "Darbuka", description: "Tambor cálice do Oriente Médio" },
31
+
32
+ // -------------------- INSTRUMENTS: Keys --------------------
33
+ "piano": { description: "Piano de cauda ou vertical acústico" },
34
+ "electric-piano": { label: "Piano Elétrico", description: "Estilo Rhodes / Wurlitzer" },
35
+ "wurlitzer": { description: "Piano elétrico Wurlitzer vintage" },
36
+ "rhodes": { description: "Piano elétrico Rhodes vintage" },
37
+ "clavinet": { description: "Hohner D6 funky" },
38
+ "organ": { label: "Órgão", description: "Hammond ou órgão de tubos" },
39
+ "hammond-organ": { description: "Órgão B3 de soul / rock" },
40
+ "pipe-organ": { label: "Órgão de Tubos", description: "Catedral / igreja" },
41
+ "accordion": { label: "Acordeão", description: "Palheta acionada por fole" },
42
+ "mellotron": { description: "Teclado com fitas em loop" },
43
+ "harpsichord": { label: "Cravo", description: "Teclado de cordas dedilhadas" },
44
+ "celesta": { description: "Teclado com som de sinos" },
45
+
46
+ // -------------------- INSTRUMENTS: Synth --------------------
47
+ "synthesizer": { label: "Sintetizador", description: "Synth analógico ou digital" },
48
+ "lead-synth": { label: "Synth Solista", description: "Synth melódico cortante" },
49
+ "pluck-synth": { label: "Synth Dedilhado", description: "Timbre curto e dedilhado" },
50
+ "pads": { label: "Synth Pads", description: "Texturas sustentadas de synth" },
51
+ "arpeggiator": { label: "Arpejador", description: "Padrões de arpejo sequenciados" },
52
+ "vocoder": { description: "Synth modulado por voz" },
53
+ "talkbox": { description: "Synth moldado pela boca" },
54
+ "modular-synth": { label: "Modular", description: "Synth analógico patcheável" },
55
+ "fm-synth": { description: "Synth de modulação de frequência" },
56
+ "wavetable-synth": { label: "Wavetable", description: "Synth com varredura de tabela de ondas" },
57
+ "stab-synth": { label: "Stab", description: "Acorde curto e percussivo" },
58
+
59
+ // -------------------- INSTRUMENTS: Guitar --------------------
60
+ "acoustic-guitar": { label: "Violão", description: "Cordas de aço ou nylon" },
61
+ "electric-guitar": { label: "Guitarra Elétrica", description: "Corpo sólido, frequentemente distorcida" },
62
+ "classical-guitar": { label: "Violão Clássico", description: "Cordas de nylon, fingerstyle" },
63
+ "12-string-guitar": { label: "Violão 12 Cordas", description: "Batida de cordas duplicadas" },
64
+ "pedal-steel": { description: "Steel deslizante country" },
65
+ "lap-steel": { description: "Steel havaiana de colo" },
66
+ "dobro": { description: "Guitarra ressonadora" },
67
+ "banjo": { description: "5 cordas ou tenor" },
68
+ "mandolin": { label: "Bandolim", description: "Folk / bluegrass" },
69
+ "ukulele": { description: "Uke soprano-tenor" },
70
+
71
+ // -------------------- INSTRUMENTS: Bass --------------------
72
+ "bass-guitar": { label: "Contrabaixo Elétrico", description: "Baixo elétrico de baixa frequência" },
73
+ "synth-bass": { label: "Baixo Sintetizado", description: "Graves sintetizados" },
74
+ "sub-bass": { label: "Sub-Baixo", description: "Sub-frequências senoidais profundas" },
75
+ "acoustic-bass": { label: "Baixo Acústico", description: "Contrabaixo elétrico acústico" },
76
+ "upright-bass": { label: "Contrabaixo Acústico", description: "Contrabaixo, estilo jazz" },
77
+ "fretless-bass": { label: "Baixo Sem Trastes", description: "Baixo deslizante" },
78
+ "acid-bass": { label: "Baixo Acid", description: "Squelch TB-303" },
79
+ "wobble-bass": { description: "Dubstep modulado por LFO" },
80
+ "reese-bass": { description: "Drum-and-bass desafinado" },
81
+
82
+ // -------------------- INSTRUMENTS: Brass --------------------
83
+ "brass": { label: "Seção de Metais", description: "Trompete, trombone, etc." },
84
+ "trumpet": { label: "Trompete", description: "Trompete solo" },
85
+ "trombone": { description: "Trombone solo" },
86
+ "french-horn": { label: "Trompa", description: "Metais suaves" },
87
+ "tuba": { description: "Os metais mais graves" },
88
+ "saxophone": { label: "Saxofone", description: "Sax solo ou de seção" },
89
+ "flugelhorn": { label: "Flugelhorn", description: "Primo suave do trompete" },
90
+ "cornet": { label: "Corneta", description: "Corneta de banda de metais" },
91
+ "muted-trumpet": { label: "Trompete com Surdina", description: "Trompete de jazz com surdina" },
92
+
93
+ // -------------------- INSTRUMENTS: Woodwinds --------------------
94
+ "flute": { label: "Flauta", description: "Flauta de concerto" },
95
+ "clarinet": { label: "Clarinete", description: "Clarinete solo" },
96
+ "harmonica": { label: "Gaita", description: "Gaita de blues" },
97
+ "oboe": { label: "Oboé", description: "Acionada por palheta, lamentosa" },
98
+ "bassoon": { label: "Fagote", description: "Palheta dupla grave" },
99
+ "english-horn": { label: "Corne Inglês", description: "Oboé tenor" },
100
+ "piccolo": { label: "Flautim", description: "Flauta aguda" },
101
+ "recorder": { label: "Flauta Doce", description: "Sopro de tom suave" },
102
+ "pan-flute": { label: "Flauta de Pã", description: "Flauta de tubos andina" },
103
+
104
+ // -------------------- INSTRUMENTS: Strings --------------------
105
+ "strings": { label: "Seção de Cordas", description: "Seção orquestral de cordas" },
106
+ "violin": { label: "Violino", description: "Violino solo" },
107
+ "viola": { description: "Viola solo" },
108
+ "cello": { label: "Violoncelo", description: "Violoncelo solo" },
109
+ "double-bass": { label: "Contrabaixo", description: "Contrabaixo orquestral" },
110
+ "harp": { label: "Harpa", description: "Harpa de concerto ou folk" },
111
+ "pizzicato-strings": { label: "Pizzicato", description: "Cordas dedilhadas" },
112
+ "staccato-strings": { label: "Staccato", description: "Cordas curtas e marcantes" },
113
+ "fiddle": { label: "Rabeca", description: "Violino estilo folk" },
114
+
115
+ // -------------------- INSTRUMENTS: World --------------------
116
+ "sitar": { description: "Indiano de braço longo" },
117
+ "tabla": { description: "Tambores indianos de mão" },
118
+ "steel-drum": { label: "Tambor de Aço", description: "Steelpan trinitário" },
119
+ "kalimba": { description: "Piano de polegar africano" },
120
+ "bagpipes": { label: "Gaita de Foles", description: "Gaita escocesa" },
121
+ "didgeridoo": { description: "Sopro australiano" },
122
+ "oud": { description: "Alaúde do Oriente Médio" },
123
+ "erhu": { description: "Rabeca chinesa de 2 cordas" },
124
+ "koto": { description: "Cítara japonesa" },
125
+ "shakuhachi": { description: "Flauta japonesa de bocal aberto" },
126
+ "shamisen": { description: "Alaúde japonês de 3 cordas" },
127
+ "duduk": { description: "Palheta dupla armênia" },
128
+ "balalaika": { description: "Alaúde russo triangular" },
129
+ "bouzouki": { description: "Alaúde grego de braço longo" },
130
+ "kora": { description: "Instrumento de 21 cordas da África Ocidental" },
131
+ "hang-drum": { description: "Hang de aço para mãos" },
132
+
133
+ // -------------------- INSTRUMENTS: Middle Eastern --------------------
134
+ "kamancheh": { description: "Rabeca persa com espigão tocada com arco" },
135
+ "ney": { description: "Flauta de cana soprada pela extremidade (persa/árabe)" },
136
+ "santur": { description: "Saltério persa percutido" },
137
+
138
+ // -------------------- PRODUCTION_STYLES --------------------
139
+ "polished": { label: "Polida", description: "Produção prístina mainstream" },
140
+ "lo-fi": { description: "Fita morna com chiado, imperfeita" },
141
+ "raw": { label: "Crua", description: "Sem filtro, sensação ao vivo" },
142
+ "vintage": { description: "Calor analógico" },
143
+ "modern": { label: "Moderna", description: "Digital contemporânea" },
144
+ "minimalist": { label: "Minimalista", description: "Esparsa, contida" },
145
+ "wall-of-sound": { label: "Muro de Som", description: "Densa, em camadas" },
146
+ "ambient": { description: "Atmosférica, com reverberação" },
147
+ "garage-band": { label: "Banda de Garagem", description: "DIY, gravado em porão" },
148
+ "live-recording": { label: "Ao Vivo", description: "Som de show / sala" },
149
+ "demo-quality": { label: "Demo", description: "Estética de demo cru" },
150
+ "studio-pristine": { label: "Estúdio Prístino", description: "Qualidade de referência hi-fi" },
151
+ "tape-saturated": { label: "Saturada por Fita", description: "Calor analógico de fita + drive" },
152
+ "8-bit-retro": { label: "8-bit Retrô", description: "Áudio retrô de jogo de baixa taxa de bits" },
153
+
154
+ // -------------------- VOCAL_PRESENCE --------------------
155
+ "instrumental": { description: "Sem vocais (exclusivo)" },
156
+ "male-lead": { label: "Vocal Masculino", description: "Vocal principal masculino" },
157
+ "female-lead": { label: "Vocal Feminino", description: "Vocal principal feminino" },
158
+ "androgynous-lead": { label: "Andrógino", description: "Vocal principal de gênero neutro" },
159
+ "duet": { label: "Dueto", description: "Dois vocalistas principais" },
160
+ "choir": { label: "Coro", description: "Vocais corais / em conjunto" },
161
+ "gospel-choir": { label: "Coro Gospel", description: "Coro de apoio estilo gospel" },
162
+ "harmony-stack": { label: "Pilha de Harmonias", description: "Harmonias vocais empilhadas" },
163
+ "rapper-lead": { label: "Rapper", description: "Rap principal" },
164
+ "spoken-word": { label: "Palavra Falada", description: "Falada / poesia sobre música" },
165
+ "vocal-chops": { description: "Vocais sampleados fatiados" },
166
+ "mixed": { label: "Misto", description: "Múltiplos vocalistas principais" },
167
+
168
+ // -------------------- SINGING_STYLES --------------------
169
+ "pop-singing": { description: "Estilo principal mainstream" },
170
+ "rock-singing": { description: "Entrega vocal estilo rock" },
171
+ "operatic": { label: "Operístico", description: "Técnica clássica de ópera" },
172
+ "classical-vocals": { label: "Clássico", description: "Voz clássica treinada" },
173
+ "rap": { description: "Entrega rítmica falada" },
174
+ "trap-melodic": { label: "Trap (Melódico)", description: "Trap melódico, com autotune" },
175
+ "growl": { label: "Gutural", description: "Gutural estilo death-metal" },
176
+ "scream": { label: "Grito", description: "Hardcore / gritado" },
177
+ "shout": { label: "Berro", description: "Gritado punk / cantado em uníssono" },
178
+ "falsetto": { description: "Registro alto, leve" },
179
+ "head-voice": { label: "Voz de Cabeça", description: "Registro alto ressonante" },
180
+ "chest-voice": { label: "Voz de Peito", description: "Registro grave forte" },
181
+ "belting": { description: "Agudos potentes sustentados" },
182
+ "crooning": { description: "Romântico vintage suave" },
183
+ "scat": { description: "Sílabas improvisadas de jazz" },
184
+ "yodeling": { label: "Iodel", description: "Quebra de registro alpina" },
185
+ "throat-singing": { label: "Canto Gutural", description: "Sobretom mongol / tuvano" },
186
+ "melismatic": { label: "Melismático", description: "Várias notas por sílaba" },
187
+ "autotuned": { label: "Com Autotune", description: "Voz com correção de pitch, processada" },
188
+ "vocoded": { label: "Vocoderizado", description: "Vocais processados com vocoder" },
189
+ "whisper-singing": { label: "Canto Sussurrado", description: "Canto silencioso e íntimo" },
190
+ "breathy-singing": { label: "Sussurrante", description: "Canto arejado e íntimo" },
191
+ "harmonized": { label: "Harmonizado", description: "Harmonias multivocais" },
192
+ "chant": { label: "Cântico", description: "Canto litúrgico / monástico" },
193
+ }
194
+
195
+ export default map
@@ -0,0 +1,195 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ const map: LocaleCatalogMap = {
4
+ // -------------------- INSTRUMENTS: Drums --------------------
5
+ "drums": { label: "Барабаны", description: "Акустическая ударная установка" },
6
+ "drum-machine": { label: "Драм-машина", description: "Запрограммированные ритмы" },
7
+ "808": { description: "Бас и установка Roland TR-808" },
8
+ "live-drums": { label: "Живые Барабаны", description: "Записанная акустическая установка" },
9
+ "breakbeats": { label: "Брейкбит", description: "Сэмплированные барабанные лупы" },
10
+ "trap-drums": { label: "Трэп-Барабаны", description: "Роллы хай-хэта с 808" },
11
+
12
+ // -------------------- INSTRUMENTS: Percussion --------------------
13
+ "bongos": { label: "Бонго", description: "Пара маленьких кубинских барабанов" },
14
+ "conga": { label: "Конга", description: "Высокий однокожий барабан" },
15
+ "djembe": { label: "Джембе", description: "Кубковидный западноафриканский барабан" },
16
+ "timbales": { label: "Тимбалес", description: "Парные кубинские металлические барабаны" },
17
+ "tambourine": { label: "Бубен", description: "Колокольчики, встряхиваемые рукой" },
18
+ "shaker": { label: "Шейкер", description: "Заполненная погремушка" },
19
+ "cowbell": { label: "Коровий Колокольчик", description: "Ручной колокольчик" },
20
+ "maracas": { label: "Маракасы", description: "Пара латинских шейкеров" },
21
+ "claves": { label: "Клавес", description: "Деревянные палочки" },
22
+ "marimba": { label: "Маримба", description: "Деревянная клавиатура с молоточками" },
23
+ "vibraphone": { label: "Вибрафон", description: "Молоточки с электрическим резонатором" },
24
+ "xylophone": { label: "Ксилофон", description: "Деревянные молоточки, яркий звук" },
25
+ "glockenspiel": { label: "Глокеншпиль", description: "Высокие молоточковые колокола" },
26
+ "timpani": { label: "Литавры", description: "Большие оркестровые литавры" },
27
+ "taiko": { label: "Тайко", description: "Японский ансамблевый барабан" },
28
+ "frame-drum": { label: "Рамочный Барабан", description: "Неглубокий круглый барабан" },
29
+ "cajon": { label: "Кахон", description: "Перуанский барабан в форме коробки" },
30
+ "darbuka": { label: "Дарбука", description: "Ближневосточный кубковый барабан" },
31
+
32
+ // -------------------- INSTRUMENTS: Keys --------------------
33
+ "piano": { label: "Пианино", description: "Акустический рояль или пианино" },
34
+ "electric-piano": { label: "Электропиано", description: "В стиле Rhodes / Wurlitzer" },
35
+ "wurlitzer": { description: "Винтажное электропиано Wurlitzer" },
36
+ "rhodes": { description: "Винтажное электропиано Rhodes" },
37
+ "clavinet": { label: "Клавинет", description: "Фанковый Hohner D6" },
38
+ "organ": { label: "Орган", description: "Hammond или орган с трубами" },
39
+ "hammond-organ": { description: "Соул/рок-орган B3" },
40
+ "pipe-organ": { label: "Трубный Орган", description: "Соборный / церковный" },
41
+ "accordion": { label: "Аккордеон", description: "Тростник, приводимый в действие мехом" },
42
+ "mellotron": { label: "Меллотрон", description: "Клавиатура с лентами-лупами" },
43
+ "harpsichord": { label: "Клавесин", description: "Клавиатура со щипковыми струнами" },
44
+ "celesta": { label: "Челеста", description: "Колокольчатая клавиатура" },
45
+
46
+ // -------------------- INSTRUMENTS: Synth --------------------
47
+ "synthesizer": { label: "Синтезатор", description: "Аналоговый или цифровой синтезатор" },
48
+ "lead-synth": { label: "Лид-Синтезатор", description: "Режущий мелодический синтезатор" },
49
+ "pluck-synth": { label: "Щипковый Синтезатор", description: "Короткий, щипковый тембр" },
50
+ "pads": { label: "Синт-Пэды", description: "Поддерживаемые синт-текстуры" },
51
+ "arpeggiator": { label: "Арпеджиатор", description: "Секвенированные арп-паттерны" },
52
+ "vocoder": { description: "Голосо-модулированный синтезатор" },
53
+ "talkbox": { description: "Синтезатор, формируемый ртом" },
54
+ "modular-synth": { label: "Модулярный", description: "Патчируемый аналоговый синтезатор" },
55
+ "fm-synth": { label: "FM-Синтезатор", description: "Синтезатор частотной модуляции" },
56
+ "wavetable-synth": { label: "Волновая Таблица", description: "Синтезатор сканирования волновой таблицы" },
57
+ "stab-synth": { label: "Стэб", description: "Короткий, ударный аккорд" },
58
+
59
+ // -------------------- INSTRUMENTS: Guitar --------------------
60
+ "acoustic-guitar": { label: "Акустическая Гитара", description: "Со стальными или нейлоновыми струнами" },
61
+ "electric-guitar": { label: "Электрогитара", description: "Цельный корпус, часто с дисторшном" },
62
+ "classical-guitar": { label: "Классическая Гитара", description: "Нейлоновые струны, фингерстайл" },
63
+ "12-string-guitar": { label: "12-Струнная", description: "Сдвоенные струны для перебора" },
64
+ "pedal-steel": { label: "Педальная Стил-Гитара", description: "Скользящая кантри-сталь" },
65
+ "lap-steel": { label: "Настольная Стил-Гитара", description: "Гавайская сталь на коленях" },
66
+ "dobro": { label: "Добро", description: "Резонаторная гитара" },
67
+ "banjo": { label: "Банджо", description: "5-струнное или теноровое" },
68
+ "mandolin": { label: "Мандолина", description: "Фолк / блюграсс" },
69
+ "ukulele": { label: "Укулеле", description: "Сопрано-теноровая укулеле" },
70
+
71
+ // -------------------- INSTRUMENTS: Bass --------------------
72
+ "bass-guitar": { label: "Бас-Гитара", description: "Низкочастотный электробас" },
73
+ "synth-bass": { label: "Синт-Бас", description: "Синтезированные низы" },
74
+ "sub-bass": { label: "Саб-Бас", description: "Глубокие синусоидальные суб-частоты" },
75
+ "acoustic-bass": { label: "Акустический Бас", description: "Акустическая бас-гитара" },
76
+ "upright-bass": { label: "Контрабас", description: "Контрабас, джазовый стиль" },
77
+ "fretless-bass": { label: "Безладовый Бас", description: "Скользящий бас" },
78
+ "acid-bass": { label: "Эйсид-Бас", description: "Сквелч TB-303" },
79
+ "wobble-bass": { label: "Вобл-Бас", description: "LFO-модулированный дабстеп" },
80
+ "reese-bass": { label: "Бас Риза", description: "Расстроенный драм-н-бэйс" },
81
+
82
+ // -------------------- INSTRUMENTS: Brass --------------------
83
+ "brass": { label: "Медная Секция", description: "Труба, тромбон и т. д." },
84
+ "trumpet": { label: "Труба", description: "Соло-труба" },
85
+ "trombone": { label: "Тромбон", description: "Соло-тромбон" },
86
+ "french-horn": { label: "Валторна", description: "Мягкая медь" },
87
+ "tuba": { label: "Туба", description: "Самая низкая медь" },
88
+ "saxophone": { label: "Саксофон", description: "Соло- или секционный сакс" },
89
+ "flugelhorn": { label: "Флюгельгорн", description: "Мягкий родственник трубы" },
90
+ "cornet": { label: "Корнет", description: "Корнет духового оркестра" },
91
+ "muted-trumpet": { label: "Труба с Сурдиной", description: "Джазовая труба с сурдиной" },
92
+
93
+ // -------------------- INSTRUMENTS: Woodwinds --------------------
94
+ "flute": { label: "Флейта", description: "Концертная флейта" },
95
+ "clarinet": { label: "Кларнет", description: "Соло-кларнет" },
96
+ "harmonica": { label: "Губная Гармошка", description: "Блюзовая гармоника" },
97
+ "oboe": { label: "Гобой", description: "Тростниковый, заунывный" },
98
+ "bassoon": { label: "Фагот", description: "Низкий двойной язычок" },
99
+ "english-horn": { label: "Английский Рожок", description: "Теноровый гобой" },
100
+ "piccolo": { label: "Пикколо", description: "Высокая флейта" },
101
+ "recorder": { label: "Блокфлейта", description: "Тихозвучная деревянная духовая" },
102
+ "pan-flute": { label: "Флейта Пана", description: "Андская флейта-пастушок" },
103
+
104
+ // -------------------- INSTRUMENTS: Strings --------------------
105
+ "strings": { label: "Струнная Секция", description: "Оркестровая струнная секция" },
106
+ "violin": { label: "Скрипка", description: "Соло-скрипка" },
107
+ "viola": { label: "Альт", description: "Соло-альт" },
108
+ "cello": { label: "Виолончель", description: "Соло-виолончель" },
109
+ "double-bass": { label: "Контрабас", description: "Оркестровый контрабас" },
110
+ "harp": { label: "Арфа", description: "Концертная или фолк-арфа" },
111
+ "pizzicato-strings": { label: "Пиццикато", description: "Щипковые струны" },
112
+ "staccato-strings": { label: "Стаккато", description: "Короткие, чёткие струнные" },
113
+ "fiddle": { label: "Фидл", description: "Скрипка в фолк-стиле" },
114
+
115
+ // -------------------- INSTRUMENTS: World --------------------
116
+ "sitar": { label: "Ситар", description: "Индийский с длинным грифом" },
117
+ "tabla": { label: "Табла", description: "Индийские ручные барабаны" },
118
+ "steel-drum": { label: "Стальной Барабан", description: "Тринидадский стилпан" },
119
+ "kalimba": { label: "Калимба", description: "Африканское пианино для большого пальца" },
120
+ "bagpipes": { label: "Волынка", description: "Шотландская волынка" },
121
+ "didgeridoo": { label: "Диджериду", description: "Австралийский духовой" },
122
+ "oud": { label: "Уд", description: "Ближневосточная лютня" },
123
+ "erhu": { label: "Эрху", description: "Китайская 2-струнная скрипка" },
124
+ "koto": { label: "Кото", description: "Японская цитра" },
125
+ "shakuhachi": { label: "Сякухати", description: "Японская продольная флейта" },
126
+ "shamisen": { label: "Сямисэн", description: "Японская 3-струнная лютня" },
127
+ "duduk": { label: "Дудук", description: "Армянский двойной язычок" },
128
+ "balalaika": { label: "Балалайка", description: "Русская треугольная лютня" },
129
+ "bouzouki": { label: "Бузуки", description: "Греческая лютня с длинным грифом" },
130
+ "kora": { label: "Кора", description: "Западноафриканская 21-струнная" },
131
+ "hang-drum": { label: "Ханг-Драм", description: "Стальной хэндпан" },
132
+
133
+ // -------------------- INSTRUMENTS: Middle Eastern --------------------
134
+ "kamancheh": { label: "Кеманча", description: "Персидская смычковая скрипка со штырём" },
135
+ "ney": { label: "Най", description: "Персидско-арабская продольная тростниковая флейта" },
136
+ "santur": { label: "Сантур", description: "Персидские цимбалы" },
137
+
138
+ // -------------------- PRODUCTION_STYLES --------------------
139
+ "polished": { label: "Отполированный", description: "Безупречное мейнстрим-производство" },
140
+ "lo-fi": { label: "Лоу-фай", description: "Тёплое плёночное шипение, несовершенное" },
141
+ "raw": { label: "Сырой", description: "Без фильтров, живое ощущение" },
142
+ "vintage": { label: "Винтажный", description: "Аналоговая теплота" },
143
+ "modern": { label: "Современный", description: "Современный цифровой" },
144
+ "minimalist": { label: "Минималистичный", description: "Скудный, сдержанный" },
145
+ "wall-of-sound": { label: "Стена Звука", description: "Плотный, многослойный" },
146
+ "ambient": { label: "Эмбиент", description: "Атмосферный, с реверберацией" },
147
+ "garage-band": { label: "Гаражная Группа", description: "DIY, записан в подвале" },
148
+ "live-recording": { label: "Живое Исполнение", description: "Звук концерта / зала" },
149
+ "demo-quality": { label: "Демо", description: "Эстетика грубого демо" },
150
+ "studio-pristine": { label: "Студийная Чистота", description: "Качество эталона hi-fi" },
151
+ "tape-saturated": { label: "Плёночная Сатурация", description: "Аналоговая теплота плёнки + драйв" },
152
+ "8-bit-retro": { label: "8-bit Ретро", description: "Низкобитное ретро игровое аудио" },
153
+
154
+ // -------------------- VOCAL_PRESENCE --------------------
155
+ "instrumental": { label: "Инструментал", description: "Без вокала (эксклюзивно)" },
156
+ "male-lead": { label: "Мужской Вокал", description: "Мужской ведущий вокал" },
157
+ "female-lead": { label: "Женский Вокал", description: "Женский ведущий вокал" },
158
+ "androgynous-lead": { label: "Андрогинный", description: "Гендерно-нейтральный лид" },
159
+ "duet": { label: "Дуэт", description: "Два ведущих вокалиста" },
160
+ "choir": { label: "Хор", description: "Хоровой / ансамблевый вокал" },
161
+ "gospel-choir": { label: "Госпел-Хор", description: "Бэк-хор в стиле госпел" },
162
+ "harmony-stack": { label: "Стек Гармоний", description: "Многоуровневые вокальные гармонии" },
163
+ "rapper-lead": { label: "Рэпер", description: "Рэп-лид" },
164
+ "spoken-word": { label: "Декламация", description: "Декламация / поэзия под музыку" },
165
+ "vocal-chops": { label: "Вокальные Чопы", description: "Нарезанные сэмплированные вокалы" },
166
+ "mixed": { label: "Смешанный", description: "Несколько ведущих вокалистов" },
167
+
168
+ // -------------------- SINGING_STYLES --------------------
169
+ "pop-singing": { description: "Мейнстримный лид-стиль" },
170
+ "rock-singing": { description: "Подача вокала в рок-стиле" },
171
+ "operatic": { label: "Оперный", description: "Классическая оперная техника" },
172
+ "classical-vocals": { label: "Классический", description: "Тренированный классический голос" },
173
+ "rap": { label: "Рэп", description: "Ритмическая разговорная подача" },
174
+ "trap-melodic": { label: "Трэп (Мелодический)", description: "Мелодический трэп, автотюн" },
175
+ "growl": { label: "Гроул", description: "Гроул в стиле дэт-метал" },
176
+ "scream": { label: "Скрим", description: "Хардкор / крик" },
177
+ "shout": { label: "Выкрик", description: "Панк / скандированный выкрик" },
178
+ "falsetto": { label: "Фальцет", description: "Высокий регистр, лёгкий" },
179
+ "head-voice": { label: "Головной Голос", description: "Резонансный высокий регистр" },
180
+ "chest-voice": { label: "Грудной Голос", description: "Сильный, низкий регистр" },
181
+ "belting": { label: "Белтинг", description: "Мощные сустейн-верха" },
182
+ "crooning": { label: "Крунинг", description: "Гладкий винтажный романтический" },
183
+ "scat": { label: "Скэт", description: "Импровизированные джазовые слоги" },
184
+ "yodeling": { label: "Йодль", description: "Альпийский переход регистров" },
185
+ "throat-singing": { label: "Горловое Пение", description: "Монгольские / тувинские обертоны" },
186
+ "melismatic": { label: "Мелизматический", description: "Многонотные пробежки на слог" },
187
+ "autotuned": { label: "С Автотюном", description: "С коррекцией высоты тона, обработанный" },
188
+ "vocoded": { label: "Через Вокодер", description: "Вокодированные вокалы" },
189
+ "whisper-singing": { label: "Шёпотное Пение", description: "Приглушённое, интимное пение" },
190
+ "breathy-singing": { label: "С Придыханием", description: "Воздушное, интимное пение" },
191
+ "harmonized": { label: "Гармонизированный", description: "Многоголосные гармонии" },
192
+ "chant": { label: "Песнопение", description: "Литургическое / монашеское пение" },
193
+ }
194
+
195
+ export default map
@@ -0,0 +1,195 @@
1
+ import type { LocaleCatalogMap } from "./types.js"
2
+
3
+ const map: LocaleCatalogMap = {
4
+ // -------------------- INSTRUMENTS: Drums --------------------
5
+ "drums": { label: "鼓", description: "原声鼓组" },
6
+ "drum-machine": { label: "鼓机", description: "编程节拍" },
7
+ "808": { description: "Roland TR-808 贝斯 + 鼓组" },
8
+ "live-drums": { label: "现场鼓", description: "录制的原声鼓组" },
9
+ "breakbeats": { label: "断拍", description: "采样鼓循环" },
10
+ "trap-drums": { label: "陷阱鼓", description: "踩镲连击 + 808" },
11
+
12
+ // -------------------- INSTRUMENTS: Percussion --------------------
13
+ "bongos": { label: "邦戈鼓", description: "一对小型古巴鼓" },
14
+ "conga": { label: "康加鼓", description: "高单面鼓" },
15
+ "djembe": { label: "金贝鼓", description: "高脚杯形西非鼓" },
16
+ "timbales": { label: "廷巴莱斯", description: "成对的古巴金属鼓" },
17
+ "tambourine": { label: "铃鼓", description: "手摇铃片" },
18
+ "shaker": { label: "沙锤", description: "填充式响器" },
19
+ "cowbell": { label: "牛铃", description: "手持牛铃" },
20
+ "maracas": { label: "沙球", description: "拉丁沙球对" },
21
+ "claves": { label: "响板", description: "木棒" },
22
+ "marimba": { label: "马林巴", description: "木琴键盘" },
23
+ "vibraphone": { label: "颤音琴", description: "电共鸣琴槌" },
24
+ "xylophone": { label: "木琴", description: "木质琴槌,明亮" },
25
+ "glockenspiel": { label: "钢片琴", description: "高音琴槌铃" },
26
+ "timpani": { label: "定音鼓", description: "大型管弦乐定音鼓" },
27
+ "taiko": { label: "太鼓", description: "日本合奏鼓" },
28
+ "frame-drum": { label: "框鼓", description: "浅圆鼓" },
29
+ "cajon": { label: "卡洪鼓", description: "盒形秘鲁鼓" },
30
+ "darbuka": { label: "达布卡", description: "中东陶鼓" },
31
+
32
+ // -------------------- INSTRUMENTS: Keys --------------------
33
+ "piano": { label: "钢琴", description: "原声三角钢琴或立式钢琴" },
34
+ "electric-piano": { label: "电钢琴", description: "Rhodes / Wurlitzer 风格" },
35
+ "wurlitzer": { description: "复古 Wurlitzer 电钢琴" },
36
+ "rhodes": { description: "复古 Rhodes 电钢琴" },
37
+ "clavinet": { label: "克拉维琴", description: "时髦的 Hohner D6" },
38
+ "organ": { label: "管风琴", description: "Hammond 或管风琴" },
39
+ "hammond-organ": { description: "灵魂 / 摇滚 B3 风琴" },
40
+ "pipe-organ": { label: "管风琴", description: "大教堂 / 教堂" },
41
+ "accordion": { label: "手风琴", description: "风箱驱动簧片" },
42
+ "mellotron": { label: "迈乐管", description: "磁带循环键盘" },
43
+ "harpsichord": { label: "羽管键琴", description: "拨弦键盘" },
44
+ "celesta": { label: "钢片琴(凯莱斯塔)", description: "铃声般的键盘" },
45
+
46
+ // -------------------- INSTRUMENTS: Synth --------------------
47
+ "synthesizer": { label: "合成器", description: "模拟或数字合成器" },
48
+ "lead-synth": { label: "主奏合成器", description: "切分的旋律合成器" },
49
+ "pluck-synth": { label: "拨弦合成器", description: "短促拨弦音色" },
50
+ "pads": { label: "合成器铺底", description: "持续合成器质感" },
51
+ "arpeggiator": { label: "琶音器", description: "排序的琶音模式" },
52
+ "vocoder": { description: "声音调制合成器" },
53
+ "talkbox": { description: "口型合成器" },
54
+ "modular-synth": { label: "模块化", description: "可接线模拟合成器" },
55
+ "fm-synth": { label: "FM 合成器", description: "频率调制合成器" },
56
+ "wavetable-synth": { label: "波表", description: "波表扫描合成器" },
57
+ "stab-synth": { label: "刺击", description: "短促打击和弦" },
58
+
59
+ // -------------------- INSTRUMENTS: Guitar --------------------
60
+ "acoustic-guitar": { label: "原声吉他", description: "钢弦或尼龙弦" },
61
+ "electric-guitar": { label: "电吉他", description: "实心琴体,常带失真" },
62
+ "classical-guitar": { label: "古典吉他", description: "尼龙弦,指弹" },
63
+ "12-string-guitar": { label: "12弦吉他", description: "重弦扫弹" },
64
+ "pedal-steel": { label: "踏板钢琴吉他", description: "乡村滑棒钢琴吉他" },
65
+ "lap-steel": { label: "膝上钢琴吉他", description: "夏威夷膝上演奏钢琴吉他" },
66
+ "dobro": { label: "多布罗", description: "共鸣器吉他" },
67
+ "banjo": { label: "班卓琴", description: "5弦或男高音" },
68
+ "mandolin": { label: "曼陀林", description: "民谣 / 蓝草" },
69
+ "ukulele": { label: "尤克里里", description: "高音-中音尤克里里" },
70
+
71
+ // -------------------- INSTRUMENTS: Bass --------------------
72
+ "bass-guitar": { label: "贝斯吉他", description: "低音电贝斯" },
73
+ "synth-bass": { label: "合成贝斯", description: "合成低音" },
74
+ "sub-bass": { label: "次低音", description: "深沉正弦次低频" },
75
+ "acoustic-bass": { label: "原声贝斯", description: "原声贝斯吉他" },
76
+ "upright-bass": { label: "立式贝斯", description: "低音提琴,爵士风格" },
77
+ "fretless-bass": { label: "无品贝斯", description: "滑音贝斯吉他" },
78
+ "acid-bass": { label: "酸性贝斯", description: "TB-303 squelch" },
79
+ "wobble-bass": { label: "摆动贝斯", description: "LFO 调制鼓打贝斯" },
80
+ "reese-bass": { label: "Reese 贝斯", description: "失谐鼓打贝斯" },
81
+
82
+ // -------------------- INSTRUMENTS: Brass --------------------
83
+ "brass": { label: "铜管组", description: "小号、长号等" },
84
+ "trumpet": { label: "小号", description: "独奏小号" },
85
+ "trombone": { label: "长号", description: "独奏长号" },
86
+ "french-horn": { label: "法国号", description: "柔和铜管" },
87
+ "tuba": { label: "大号", description: "最低音铜管" },
88
+ "saxophone": { label: "萨克斯管", description: "独奏或合奏萨克斯管" },
89
+ "flugelhorn": { label: "夫吕号", description: "柔和的小号亲戚" },
90
+ "cornet": { label: "短号", description: "铜管乐队短号" },
91
+ "muted-trumpet": { label: "弱音小号", description: "弱音爵士小号" },
92
+
93
+ // -------------------- INSTRUMENTS: Woodwinds --------------------
94
+ "flute": { label: "长笛", description: "音乐会长笛" },
95
+ "clarinet": { label: "单簧管", description: "独奏单簧管" },
96
+ "harmonica": { label: "口琴", description: "蓝调口琴" },
97
+ "oboe": { label: "双簧管", description: "簧驱动,哀婉的" },
98
+ "bassoon": { label: "巴松管", description: "低音双簧" },
99
+ "english-horn": { label: "英国号", description: "男高音双簧管" },
100
+ "piccolo": { label: "短笛", description: "高音长笛" },
101
+ "recorder": { label: "竖笛", description: "音色柔和的木管" },
102
+ "pan-flute": { label: "排箫", description: "安第斯管笛" },
103
+
104
+ // -------------------- INSTRUMENTS: Strings --------------------
105
+ "strings": { label: "弦乐组", description: "管弦乐弦乐组" },
106
+ "violin": { label: "小提琴", description: "独奏小提琴" },
107
+ "viola": { label: "中提琴", description: "独奏中提琴" },
108
+ "cello": { label: "大提琴", description: "独奏大提琴" },
109
+ "double-bass": { label: "低音提琴", description: "管弦乐立式贝斯" },
110
+ "harp": { label: "竖琴", description: "音乐会或民谣竖琴" },
111
+ "pizzicato-strings": { label: "拨奏", description: "拨奏弦乐" },
112
+ "staccato-strings": { label: "断奏", description: "短促有力的弦乐" },
113
+ "fiddle": { label: "民谣小提琴", description: "民谣风格小提琴" },
114
+
115
+ // -------------------- INSTRUMENTS: World --------------------
116
+ "sitar": { label: "西塔琴", description: "印度长颈琴" },
117
+ "tabla": { label: "塔布拉鼓", description: "印度手鼓" },
118
+ "steel-drum": { label: "钢鼓", description: "特立尼达钢鼓" },
119
+ "kalimba": { label: "卡林巴琴", description: "非洲拇指钢琴" },
120
+ "bagpipes": { label: "风笛", description: "苏格兰风笛" },
121
+ "didgeridoo": { label: "迪吉里杜管", description: "澳大利亚管乐器" },
122
+ "oud": { label: "乌德琴", description: "中东鲁特琴" },
123
+ "erhu": { label: "二胡", description: "中国二弦胡琴" },
124
+ "koto": { label: "日本筝", description: "日本古筝" },
125
+ "shakuhachi": { label: "尺八", description: "日本端吹笛" },
126
+ "shamisen": { label: "三味线", description: "日本三弦琴" },
127
+ "duduk": { label: "杜杜克管", description: "亚美尼亚双簧管" },
128
+ "balalaika": { label: "巴拉莱卡琴", description: "俄罗斯三角琴" },
129
+ "bouzouki": { label: "布祖基琴", description: "希腊长颈鲁特琴" },
130
+ "kora": { label: "科拉琴", description: "西非21弦琴" },
131
+ "hang-drum": { label: "Hang 鼓", description: "钢制手鼓" },
132
+
133
+ // -------------------- INSTRUMENTS: Middle Eastern --------------------
134
+ "kamancheh": { label: "卡曼贾", description: "波斯弓弦针式提琴" },
135
+ "ney": { label: "奈伊笛", description: "波斯/阿拉伯端吹芦笛" },
136
+ "santur": { label: "桑图尔", description: "波斯击弦扬琴" },
137
+
138
+ // -------------------- PRODUCTION_STYLES --------------------
139
+ "polished": { label: "精致", description: "纯净、主流的制作" },
140
+ "lo-fi": { description: "温暖的磁带嘶嘶声,不完美" },
141
+ "raw": { label: "原始", description: "未经过滤,现场感" },
142
+ "vintage": { label: "复古", description: "模拟温暖" },
143
+ "modern": { label: "现代", description: "当代数字" },
144
+ "minimalist": { label: "极简主义", description: "稀疏、克制" },
145
+ "wall-of-sound": { label: "声墙", description: "密集、分层" },
146
+ "ambient": { label: "氛围", description: "氛围、混响" },
147
+ "garage-band": { label: "车库乐队", description: "DIY,地下室录制" },
148
+ "live-recording": { label: "现场", description: "现场音乐会 / 房间声音" },
149
+ "demo-quality": { label: "样带", description: "粗糙样带美学" },
150
+ "studio-pristine": { label: "录音棚原始", description: "高保真参考品质" },
151
+ "tape-saturated": { label: "磁带饱和", description: "模拟磁带温暖 + 驱动" },
152
+ "8-bit-retro": { label: "8-bit 复古", description: "低比特率复古游戏音频" },
153
+
154
+ // -------------------- VOCAL_PRESENCE --------------------
155
+ "instrumental": { label: "纯器乐", description: "无人声(独占)" },
156
+ "male-lead": { label: "男主唱", description: "男主唱人声" },
157
+ "female-lead": { label: "女主唱", description: "女主唱人声" },
158
+ "androgynous-lead": { label: "中性化", description: "性别中性主唱" },
159
+ "duet": { label: "二重唱", description: "两位主唱" },
160
+ "choir": { label: "合唱团", description: "合唱 / 合奏人声" },
161
+ "gospel-choir": { label: "福音合唱团", description: "福音风格合唱伴唱" },
162
+ "harmony-stack": { label: "和声叠加", description: "叠加的人声和声" },
163
+ "rapper-lead": { label: "说唱歌手", description: "说唱主唱" },
164
+ "spoken-word": { label: "口头表达", description: "音乐上的口语 / 诗歌" },
165
+ "vocal-chops": { label: "切片人声", description: "切片采样人声" },
166
+ "mixed": { label: "混合", description: "多位主唱" },
167
+
168
+ // -------------------- SINGING_STYLES --------------------
169
+ "pop-singing": { description: "主流主唱风格" },
170
+ "rock-singing": { description: "摇滚风格人声表现" },
171
+ "operatic": { label: "歌剧", description: "古典歌剧技巧" },
172
+ "classical-vocals": { label: "古典", description: "训练有素的古典声音" },
173
+ "rap": { label: "说唱", description: "节奏说唱表现" },
174
+ "trap-melodic": { label: "陷阱(旋律)", description: "旋律陷阱,自动调音" },
175
+ "growl": { label: "咆哮", description: "死亡金属风格咆哮" },
176
+ "scream": { label: "尖叫", description: "硬核 / 尖叫" },
177
+ "shout": { label: "呐喊", description: "朋克 / 呼喊呐喊" },
178
+ "falsetto": { label: "假声", description: "高音区,轻盈" },
179
+ "head-voice": { label: "头声", description: "共鸣的高音区" },
180
+ "chest-voice": { label: "胸声", description: "强劲低音区" },
181
+ "belting": { label: "高音强唱", description: "强劲持续高音" },
182
+ "crooning": { label: "低吟", description: "柔和复古浪漫" },
183
+ "scat": { label: "拟声唱法", description: "即兴爵士音节" },
184
+ "yodeling": { label: "约德尔唱法", description: "阿尔卑斯音区切换" },
185
+ "throat-singing": { label: "喉音歌唱", description: "蒙古 / 图瓦泛音" },
186
+ "melismatic": { label: "花腔", description: "每音节多音连唱" },
187
+ "autotuned": { label: "自动调音", description: "音高校正,经过处理" },
188
+ "vocoded": { label: "声码器处理", description: "声码器处理的人声" },
189
+ "whisper-singing": { label: "耳语演唱", description: "压低、亲密的演唱" },
190
+ "breathy-singing": { label: "气音", description: "气息感、亲密的演唱" },
191
+ "harmonized": { label: "和声化", description: "多声部和声" },
192
+ "chant": { label: "颂唱", description: "礼仪 / 修道士颂唱" },
193
+ }
194
+
195
+ export default map