@onjmin/dtm 0.1.96 → 0.1.98

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/dist/index.js CHANGED
@@ -13749,7 +13749,6 @@ var AUTO_MASTER_INFO_HTML = `
13749
13749
  <li>\u30DE\u30B9\u30BF\u30EA\u30D0\u30FC\u30D6 Decay: <strong>\u73FE\u5728\u306EBPM\u306B\u5FDC\u3058\u3066\u81EA\u52D5\u8A08\u7B97</strong>\uFF08\u901F\u3044\u66F2\u307B\u3069\u77ED\u304F0.9\u79D2\u5BC4\u308A\u3001\u9045\u3044\u66F2\u307B\u3069\u9577\u304F3.0\u79D2\u5BC4\u308A\uFF09</li>
13750
13750
  <li>\u30DE\u30B9\u30BF\u30EA\u30D0\u30FC\u30D6 Pre Delay: 20ms\uFF08\u539F\u97F3\u306E\u8F2A\u90ED\u3092\u4FDD\u3063\u305F\u307E\u307E\u5965\u884C\u304D\u3092\u8DB3\u3059\u5B9A\u756A\u5024\uFF09</li>
13751
13751
  <li>\u30D5\u30A7\u30FC\u30C9\u30A2\u30A6\u30C8: \u672A\u8A2D\u5B9A\uFF080\u79D2\uFF09\u306E\u3068\u304D\u3060\u30511.5\u79D2\u3092\u88DC\u3046\uFF08\u66F2\u306E\u7D42\u308F\u308A\u3092\u3076\u3064\u5207\u308A\u306B\u3057\u306A\u3044\uFF09\u3002\u65E2\u306B0\u79D2\u4EE5\u5916\u306E\u5024\u304C\u8A2D\u5B9A\u6E08\u307F\u306A\u3089\u4E0A\u66F8\u304D\u3057\u306A\u3044</li>
13752
- <li>\u6B4C\u8A5E\u306E\u3042\u308B\u30C8\u30E9\u30C3\u30AF: \u81EA\u52D5\u30D3\u30D6\u30E9\u30FC\u30C8ON</li>
13753
13752
  </ul>
13754
13753
  <p style="margin-top:4px;"><small>\u30DE\u30B9\u30BF\u30EA\u30D0\u30FC\u30D6Mix\u3092\u5BC6\u5EA6\u3067\u6C7A\u3081\u308B\u306E\u306F\u3001\u300C\u97F3\u6570\u306E\u591A\u3044\u539A\u3044\u30A2\u30EC\u30F3\u30B8\u306B\u6B8B\u97FF\u3092\u91CD\u306D\u3059\u304E\u308B\u3068\u6FC1\u308B\u3001\u97F3\u6570\u306E\u5C11\u306A\u3044\u9699\u9593\u306E\u591A\u3044\u7DE8\u6210\u306B\u306F\u6B8B\u97FF\u3067\u7A7A\u9593\u3092\u57CB\u3081\u308B\u3068\u5FC3\u5730\u3088\u3044\u300D\u3068\u3044\u3046\u30DF\u30AD\u30B7\u30F3\u30B0\u306E\u5B9A\u77F3\u306B\u57FA\u3065\u304D\u307E\u3059\u3002</small></p>
13755
13754
  <h4>\u697D\u5668\u30FB\u97F3\u91CF\u30FB\u5F79\u5272\u3054\u3068\u306E\u30DF\u30C3\u30AF\u30B9\u306E\u81EA\u52D5\u5272\u308A\u5F53\u3066</h4>
@@ -13764,10 +13763,10 @@ var AUTO_MASTER_INFO_HTML = `
13764
13763
  <h4>\u30E1\u30A4\u30F3\u30DC\u30FC\u30AB\u30EB\u306E\u81EA\u52D5\u5224\u5B9A</h4>
13765
13764
  <p>\u6B4C\u8A5E\u306E\u3042\u308B\u30C8\u30E9\u30C3\u30AF\u304C\u8907\u6570\u3042\u308B\u5834\u5408\uFF08\u30CF\u30E2\u30EA\u30FB\u30B3\u30FC\u30E9\u30B9\u30FB\u639B\u3051\u58F0\u7B49\uFF09\u3001\u767A\u97F3\u6642\u9593\u304C\u6700\u3082\u9577\u3044\u30C8\u30E9\u30C3\u30AF\u3092\u300C\u30E1\u30A4\u30F3\u30DC\u30FC\u30AB\u30EB\u300D\u3068\u307F\u306A\u3057\u3001\u4ED6\u3068\u306F\u9055\u3046\u6271\u3044\u306B\u3057\u307E\u3059\u3002</p>
13766
13765
  <ul>
13767
- <li>\u30E1\u30A4\u30F3\u30DC\u30FC\u30AB\u30EB: \u97F3\u5727\u5F37\u531630%\u30FB\u30EA\u30D0\u30FC\u30D6\u9001\u308A15%\uFF08\u524D\u306B\u51FA\u3059\uFF09\u30FB\u5B9A\u4F4D\u306F\u4E2D\u592E\u56FA\u5B9A</li>
13768
- <li>\u305D\u308C\u4EE5\u5916\u306E\u30DC\u30FC\u30AB\u30EB: \u97F3\u5727\u5F37\u531625%\u30FB\u30EA\u30D0\u30FC\u30D6\u9001\u308A30%\uFF08\u5965\u3078\u99B4\u67D3\u307E\u305B\u308B\uFF09\u30FB\u5B9A\u4F4D\u306F\u5DE6\u53F3\u3078\u4EA4\u4E92\u306B\u632F\u3063\u3066\u30C0\u30D6\u30EA\u30F3\u30B0\u611F\u3092\u51FA\u3059</li>
13766
+ <li>\u30E1\u30A4\u30F3\u30DC\u30FC\u30AB\u30EB: \u81EA\u52D5\u30D3\u30D6\u30E9\u30FC\u30C8ON\u30FB\u58F0\u91CF\u3092\u65E2\u5B9A\u306E1.1\u500D\uFF08\u524D\u306B\u51FA\u3059\uFF09\u30FB\u97F3\u5727\u5F37\u531630%\u30FB\u30B9\u30C6\u30EC\u30AA\u5E45100%\uFF08\u72ED\u3081\u30FB\u4E2D\u592E\u5BC4\u308A\u3067\u30AF\u30EA\u30A2\u306B\uFF09\u30FBEQ\u4F4E\u57DF-3dB\uFF08\u30E9\u30F3\u30D6\u30EB/\u3053\u3082\u308A\u9664\u53BB\uFF09\u30FBEQ\u9AD8\u57DF+2dB\uFF08\u629C\u3051\u30FB\u30D7\u30EC\u30BC\u30F3\u30B9\uFF09\u30FB\u30C7\u30A3\u30EC\u30A4\u9001\u308A15%\uFF08\u8A9E\u5C3E\u306B\u8EFD\u3044\u30B9\u30E9\u30C3\u30D7\uFF09\u30FB\u30EA\u30D0\u30FC\u30D6\u9001\u308A25%\u30FB\u5B9A\u4F4D\u306F\u4E2D\u592E\u56FA\u5B9A</li>
13767
+ <li>\u305D\u308C\u4EE5\u5916\u306E\u30DC\u30FC\u30AB\u30EB\uFF08\u30CF\u30E2\u30EA\u30FB\u30B3\u30FC\u30E9\u30B9\u7B49\uFF09: \u81EA\u52D5\u30D3\u30D6\u30E9\u30FC\u30C8OFF\u30FB\u58F0\u91CF\u3092\u65E2\u5B9A\u306E0.85\u500D\u3092\u57FA\u6E96\u306B\u3001\u526F\u30DC\u30FC\u30AB\u30EB\u306E\u672C\u6570\u304C\u591A\u3044\u307B\u3069\u3055\u3089\u306B\u7D5E\u308B\uFF08\u91CD\u306A\u3063\u3066\u97F3\u5727\u304C\u7A4D\u307F\u4E0A\u304C\u308B\u5206\u3092\u7B49\u30D1\u30EF\u30FC\u5247\u3067\u76F8\u6BBA\uFF09\u30FB\u97F3\u5727\u5F37\u531625%\u30FB\u30B9\u30C6\u30EC\u30AA\u5E45120%\uFF08\u5E83\u3052\u3066\u300C\u58C1\u300D\u306E\u3088\u3046\u306A\u539A\u307F\u3092\u51FA\u3059\uFF09\u30FBEQ\u4F4E\u57DF-3dB\u30FBEQ\u9AD8\u57DF\u306F\u7121\u5909\u5316\uFF08\u660E\u308B\u304F\u3057\u3059\u304E\u308B\u3068\u524D\u306B\u51FA\u3066\u3057\u307E\u3046\u305F\u3081\uFF09\u30FB\u30C7\u30A3\u30EC\u30A4\u9001\u308A0%\uFF08\u639B\u3051\u308B\u3068\u8F2A\u90ED\u304C\u307C\u3084\u3051\u3066\u56E3\u5B50\u306B\u306A\u308B\u305F\u3081\uFF09\u30FB\u30EA\u30D0\u30FC\u30D6\u9001\u308A45%\uFF08\u5965\u3078\u99B4\u67D3\u307E\u305B\u308B\uFF09\u30FB\u5B9A\u4F4D\u306F\u5DE6\u53F3\u3078\u4EA4\u4E92\u306B\u632F\u3063\u3066\u30C0\u30D6\u30EA\u30F3\u30B0\u611F\u3092\u51FA\u3059</li>
13769
13768
  </ul>
13770
- <p style="margin-top:4px;"><small>\u300C\u524D\u306B\u51FA\u3057\u305F\u3044\u97F3\u306F\u30EA\u30D0\u30FC\u30D6\u5C11\u306A\u3081\u3001\u5965\u306B\u7F6E\u304D\u305F\u3044\u97F3\u306F\u30EA\u30D0\u30FC\u30D6\u591A\u3081\u300D\u3068\u3044\u3046\u5B9A\u77F3\u306B\u57FA\u3065\u3044\u3066\u3044\u307E\u3059\u3002\u300C\u3044\u3044\u611F\u3058\u306E\u521D\u671F\u5024\u300D\u3092\u4E00\u62EC\u3067\u5F53\u3066\u308B\u3060\u3051\u3067\u3001\u66F2\u3084\u597D\u307F\u306B\u5FDC\u3058\u305F\u5FAE\u8ABF\u6574\u307E\u3067\u306F\u884C\u3044\u307E\u305B\u3093\u3002\u65E2\u5B58\u306E\u8A2D\u5B9A\u306F\u4E0A\u66F8\u304D\u3055\u308C\u308B\u306E\u3067\u3001\u6C17\u306B\u5165\u3089\u306A\u3051\u308C\u3070\u5404\u30B9\u30E9\u30A4\u30C0\u30FC\u304B\u3089\u500B\u5225\u306B\u623B\u3057\u3066\u304F\u3060\u3055\u3044\u3002</small></p>
13769
+ <p style="margin-top:4px;"><small>\u300C\u524D\u306B\u51FA\u3057\u305F\u3044\u97F3\u306F\u58F0\u91CF\u5927\u304D\u3081\u30FB\u72ED\u3081\u30FB\u30EA\u30D0\u30FC\u30D6\u5C11\u306A\u3081\u3001\u5965\u306B\u7F6E\u304D\u305F\u3044\u97F3\u306F\u58F0\u91CF\u63A7\u3048\u3081\u30FB\u5E83\u3081\u30FB\u30EA\u30D0\u30FC\u30D6\u591A\u3081\u300D\u3068\u3044\u3046\u5B9A\u77F3\u306B\u57FA\u3065\u3044\u3066\u3044\u307E\u3059\u3002EQ\u306E\u4F4E\u57DF\u30AB\u30C3\u30C8\u306F\u30DC\u30FC\u30AB\u30EB\u3067\u307B\u307C\u666E\u904D\u7684\u306A\u5B9A\u77F3\uFF08\u5B9F\u8CEA\u7684\u306A\u30CF\u30A4\u30D1\u30B9\u30D5\u30A3\u30EB\u30BF\u306E\u4EE3\u7528\uFF09\u3067\u3059\u3002\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u30CF\u30E2\u30EA\u30FB\u30B3\u30FC\u30E9\u30B9\u3078\u639B\u3051\u306A\u3044\u306E\u306F\u3001\u8907\u6570\u306E\u58F0\u304C\u540C\u6642\u306B\u63FA\u308C\u308B\u3068\u58F0\u3054\u3068\u306E\u4F4D\u76F8\u30FB\u901F\u3055\u306E\u30BA\u30EC\u3067\u548C\u97F3\u304C\u300C\u3046\u306D\u308B\u300D\u300C\u6FC1\u308B\u300D\u305F\u3081\u3067\u3001\u5408\u5531\u3084\u30B9\u30C8\u30EA\u30F3\u30B0\u30B9\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u594F\u6CD5\u3068\u540C\u3058\u304F\u3001\u30CF\u30E2\u30EA/\u30B3\u30FC\u30E9\u30B9\u306F\u30B9\u30C8\u30EC\u30FC\u30C8\u30C8\u30FC\u30F3\u306B\u3057\u3066\u97F3\u7A0B\u306E\u8EF8\u3092\u5B89\u5B9A\u3055\u305B\u308B\u65B9\u304C\u99B4\u67D3\u307F\u307E\u3059\u3002\u30AA\u30AF\u30BF\u30FC\u30D6\u30E6\u30CB\u30BE\u30F3\uFF081\u30AA\u30AF\u30BF\u30FC\u30D6\u4E0A/\u4E0B\u3092\u91CD\u306D\u3066\u539A\u307F\u3092\u51FA\u3059\u52A0\u5DE5\uFF09\u306F\u3053\u3053\u3067\u306F\u81EA\u52D5\u9069\u7528\u3057\u307E\u305B\u3093 \u2014 \u58F0\u8CEA\u3092\u5927\u304D\u304F\u5909\u3048\u308B\u6F14\u51FA\u76EE\u7684\u306E\u52A0\u5DE5\u3067\u3042\u308A\u3001\u66F2\u306B\u3088\u3063\u3066\u5408\u3046/\u5408\u308F\u306A\u3044\u304C\u5206\u304B\u308C\u308B\u5275\u4F5C\u4E0A\u306E\u9078\u629E\uFF08\u30D0\u30E9\u30FC\u30C9\u3067\u306F\u4E0D\u81EA\u7136\u306B\u306A\u308A\u3084\u3059\u3044\u7B49\uFF09\u3067\u3001\u30DF\u30C3\u30AF\u30B9\u306E\u662F\u6B63\u3068\u306F\u6027\u8CEA\u304C\u9055\u3046\u305F\u3081\u3067\u3059\u3002\u4F7F\u3044\u305F\u3044\u5834\u5408\u306F\u5404\u30DC\u30FC\u30AB\u30EB\u30C8\u30E9\u30C3\u30AF\u306E\u8A2D\u5B9A\u6B04\u304B\u3089\u500B\u5225\u306B\u9078\u3093\u3067\u304F\u3060\u3055\u3044\u3002\u300C\u3044\u3044\u611F\u3058\u306E\u521D\u671F\u5024\u300D\u3092\u4E00\u62EC\u3067\u5F53\u3066\u308B\u3060\u3051\u3067\u3001\u66F2\u3084\u597D\u307F\u306B\u5FDC\u3058\u305F\u5FAE\u8ABF\u6574\u307E\u3067\u306F\u884C\u3044\u307E\u305B\u3093\u3002\u65E2\u5B58\u306E\u8A2D\u5B9A\u306F\u4E0A\u66F8\u304D\u3055\u308C\u308B\u306E\u3067\u3001\u6C17\u306B\u5165\u3089\u306A\u3051\u308C\u3070\u5404\u30B9\u30E9\u30A4\u30C0\u30FC\u304B\u3089\u500B\u5225\u306B\u623B\u3057\u3066\u304F\u3060\u3055\u3044\u3002</small></p>
13771
13770
  </div>
13772
13771
  `;
13773
13772
  var MIDI_INFO_HTML = `
@@ -16997,6 +16996,7 @@ var mountDAW = (target, options = {}) => {
16997
16996
  }
16998
16997
  let mainVocalId = null;
16999
16998
  let mainVocalScore = -1;
16999
+ let nonMainVocalCount = 0;
17000
17000
  for (const t of trackStates) {
17001
17001
  if (!t.lyricModel) continue;
17002
17002
  const score = t.core.getNotes().reduce((sum, n) => sum + n.durationSteps, 0);
@@ -17005,6 +17005,9 @@ var mountDAW = (target, options = {}) => {
17005
17005
  mainVocalId = t.config.id;
17006
17006
  }
17007
17007
  }
17008
+ for (const t of trackStates) {
17009
+ if (t.lyricModel && t.config.id !== mainVocalId) nonMainVocalCount++;
17010
+ }
17008
17011
  const autoPreset = INSTRUMENT_PRESETS[currentInstrument] ?? INSTRUMENT_PRESETS.piano;
17009
17012
  const roleByTrackId = /* @__PURE__ */ new Map();
17010
17013
  for (const t of trackStates) {
@@ -17046,28 +17049,43 @@ var mountDAW = (target, options = {}) => {
17046
17049
  t.trackPan = pan;
17047
17050
  options.onTrackPanChange?.(t.config.id, pan);
17048
17051
  const comp = t.lyricModel ? isMainVocal ? 30 : 25 : roleMix?.compression ?? 35;
17049
- const width = t.lyricModel ? 115 : roleMix?.width ?? 115;
17052
+ const width = t.lyricModel ? isMainVocal ? 100 : 120 : roleMix?.width ?? 115;
17050
17053
  t.trackCompression = comp;
17051
17054
  t.trackWidth = width;
17052
17055
  options.onTrackCompressionChange?.(t.config.id, comp);
17053
17056
  options.onTrackWidthChange?.(t.config.id, width);
17054
- if (!t.lyricModel) {
17055
- const reverbSend = roleMix?.reverbSend ?? 15;
17056
- t.trackReverbSend = reverbSend;
17057
- options.onTrackReverbSendChange?.(t.config.id, reverbSend);
17057
+ if (t.lyricModel) {
17058
+ t.trackEqLow = -3;
17059
+ t.trackEqHigh = isMainVocal ? 2 : 0;
17060
+ options.onTrackEqLowChange?.(t.config.id, t.trackEqLow);
17061
+ options.onTrackEqHighChange?.(t.config.id, t.trackEqHigh);
17062
+ } else {
17058
17063
  const eqLow = roleMix?.eqLow ?? 0;
17059
17064
  const eqHigh = roleMix?.eqHigh ?? 0;
17060
17065
  t.trackEqLow = eqLow;
17061
17066
  t.trackEqHigh = eqHigh;
17062
17067
  options.onTrackEqLowChange?.(t.config.id, eqLow);
17063
17068
  options.onTrackEqHighChange?.(t.config.id, eqHigh);
17069
+ }
17070
+ if (!t.lyricModel) {
17071
+ const reverbSend = roleMix?.reverbSend ?? 15;
17072
+ t.trackReverbSend = reverbSend;
17073
+ options.onTrackReverbSendChange?.(t.config.id, reverbSend);
17064
17074
  const delaySend = roleMix?.delaySend ?? 0;
17065
17075
  t.trackDelaySend = delaySend;
17066
17076
  options.onTrackDelaySendChange?.(t.config.id, delaySend);
17067
17077
  }
17068
17078
  if (t.lyricModel) {
17069
- t.vocalVibrato = true;
17079
+ t.vocalVibrato = isMainVocal;
17070
17080
  t.vocalReverb = isMainVocal ? 25 : 45;
17081
+ t.vocalDelay = isMainVocal ? 15 : 0;
17082
+ t.vocalVolume = isMainVocal ? Math.round(DEFAULT_VOCAL_VOLUME * 1.1) : clamp5(
17083
+ Math.round(
17084
+ DEFAULT_VOCAL_VOLUME * 0.85 / Math.sqrt(Math.max(1, nonMainVocalCount))
17085
+ ),
17086
+ 60,
17087
+ MAX_VOCAL_VOLUME
17088
+ );
17071
17089
  fireLyricsChange(t);
17072
17090
  }
17073
17091
  }
package/dist/index.mjs CHANGED
@@ -13618,7 +13618,6 @@ var AUTO_MASTER_INFO_HTML = `
13618
13618
  <li>\u30DE\u30B9\u30BF\u30EA\u30D0\u30FC\u30D6 Decay: <strong>\u73FE\u5728\u306EBPM\u306B\u5FDC\u3058\u3066\u81EA\u52D5\u8A08\u7B97</strong>\uFF08\u901F\u3044\u66F2\u307B\u3069\u77ED\u304F0.9\u79D2\u5BC4\u308A\u3001\u9045\u3044\u66F2\u307B\u3069\u9577\u304F3.0\u79D2\u5BC4\u308A\uFF09</li>
13619
13619
  <li>\u30DE\u30B9\u30BF\u30EA\u30D0\u30FC\u30D6 Pre Delay: 20ms\uFF08\u539F\u97F3\u306E\u8F2A\u90ED\u3092\u4FDD\u3063\u305F\u307E\u307E\u5965\u884C\u304D\u3092\u8DB3\u3059\u5B9A\u756A\u5024\uFF09</li>
13620
13620
  <li>\u30D5\u30A7\u30FC\u30C9\u30A2\u30A6\u30C8: \u672A\u8A2D\u5B9A\uFF080\u79D2\uFF09\u306E\u3068\u304D\u3060\u30511.5\u79D2\u3092\u88DC\u3046\uFF08\u66F2\u306E\u7D42\u308F\u308A\u3092\u3076\u3064\u5207\u308A\u306B\u3057\u306A\u3044\uFF09\u3002\u65E2\u306B0\u79D2\u4EE5\u5916\u306E\u5024\u304C\u8A2D\u5B9A\u6E08\u307F\u306A\u3089\u4E0A\u66F8\u304D\u3057\u306A\u3044</li>
13621
- <li>\u6B4C\u8A5E\u306E\u3042\u308B\u30C8\u30E9\u30C3\u30AF: \u81EA\u52D5\u30D3\u30D6\u30E9\u30FC\u30C8ON</li>
13622
13621
  </ul>
13623
13622
  <p style="margin-top:4px;"><small>\u30DE\u30B9\u30BF\u30EA\u30D0\u30FC\u30D6Mix\u3092\u5BC6\u5EA6\u3067\u6C7A\u3081\u308B\u306E\u306F\u3001\u300C\u97F3\u6570\u306E\u591A\u3044\u539A\u3044\u30A2\u30EC\u30F3\u30B8\u306B\u6B8B\u97FF\u3092\u91CD\u306D\u3059\u304E\u308B\u3068\u6FC1\u308B\u3001\u97F3\u6570\u306E\u5C11\u306A\u3044\u9699\u9593\u306E\u591A\u3044\u7DE8\u6210\u306B\u306F\u6B8B\u97FF\u3067\u7A7A\u9593\u3092\u57CB\u3081\u308B\u3068\u5FC3\u5730\u3088\u3044\u300D\u3068\u3044\u3046\u30DF\u30AD\u30B7\u30F3\u30B0\u306E\u5B9A\u77F3\u306B\u57FA\u3065\u304D\u307E\u3059\u3002</small></p>
13624
13623
  <h4>\u697D\u5668\u30FB\u97F3\u91CF\u30FB\u5F79\u5272\u3054\u3068\u306E\u30DF\u30C3\u30AF\u30B9\u306E\u81EA\u52D5\u5272\u308A\u5F53\u3066</h4>
@@ -13633,10 +13632,10 @@ var AUTO_MASTER_INFO_HTML = `
13633
13632
  <h4>\u30E1\u30A4\u30F3\u30DC\u30FC\u30AB\u30EB\u306E\u81EA\u52D5\u5224\u5B9A</h4>
13634
13633
  <p>\u6B4C\u8A5E\u306E\u3042\u308B\u30C8\u30E9\u30C3\u30AF\u304C\u8907\u6570\u3042\u308B\u5834\u5408\uFF08\u30CF\u30E2\u30EA\u30FB\u30B3\u30FC\u30E9\u30B9\u30FB\u639B\u3051\u58F0\u7B49\uFF09\u3001\u767A\u97F3\u6642\u9593\u304C\u6700\u3082\u9577\u3044\u30C8\u30E9\u30C3\u30AF\u3092\u300C\u30E1\u30A4\u30F3\u30DC\u30FC\u30AB\u30EB\u300D\u3068\u307F\u306A\u3057\u3001\u4ED6\u3068\u306F\u9055\u3046\u6271\u3044\u306B\u3057\u307E\u3059\u3002</p>
13635
13634
  <ul>
13636
- <li>\u30E1\u30A4\u30F3\u30DC\u30FC\u30AB\u30EB: \u97F3\u5727\u5F37\u531630%\u30FB\u30EA\u30D0\u30FC\u30D6\u9001\u308A15%\uFF08\u524D\u306B\u51FA\u3059\uFF09\u30FB\u5B9A\u4F4D\u306F\u4E2D\u592E\u56FA\u5B9A</li>
13637
- <li>\u305D\u308C\u4EE5\u5916\u306E\u30DC\u30FC\u30AB\u30EB: \u97F3\u5727\u5F37\u531625%\u30FB\u30EA\u30D0\u30FC\u30D6\u9001\u308A30%\uFF08\u5965\u3078\u99B4\u67D3\u307E\u305B\u308B\uFF09\u30FB\u5B9A\u4F4D\u306F\u5DE6\u53F3\u3078\u4EA4\u4E92\u306B\u632F\u3063\u3066\u30C0\u30D6\u30EA\u30F3\u30B0\u611F\u3092\u51FA\u3059</li>
13635
+ <li>\u30E1\u30A4\u30F3\u30DC\u30FC\u30AB\u30EB: \u81EA\u52D5\u30D3\u30D6\u30E9\u30FC\u30C8ON\u30FB\u58F0\u91CF\u3092\u65E2\u5B9A\u306E1.1\u500D\uFF08\u524D\u306B\u51FA\u3059\uFF09\u30FB\u97F3\u5727\u5F37\u531630%\u30FB\u30B9\u30C6\u30EC\u30AA\u5E45100%\uFF08\u72ED\u3081\u30FB\u4E2D\u592E\u5BC4\u308A\u3067\u30AF\u30EA\u30A2\u306B\uFF09\u30FBEQ\u4F4E\u57DF-3dB\uFF08\u30E9\u30F3\u30D6\u30EB/\u3053\u3082\u308A\u9664\u53BB\uFF09\u30FBEQ\u9AD8\u57DF+2dB\uFF08\u629C\u3051\u30FB\u30D7\u30EC\u30BC\u30F3\u30B9\uFF09\u30FB\u30C7\u30A3\u30EC\u30A4\u9001\u308A15%\uFF08\u8A9E\u5C3E\u306B\u8EFD\u3044\u30B9\u30E9\u30C3\u30D7\uFF09\u30FB\u30EA\u30D0\u30FC\u30D6\u9001\u308A25%\u30FB\u5B9A\u4F4D\u306F\u4E2D\u592E\u56FA\u5B9A</li>
13636
+ <li>\u305D\u308C\u4EE5\u5916\u306E\u30DC\u30FC\u30AB\u30EB\uFF08\u30CF\u30E2\u30EA\u30FB\u30B3\u30FC\u30E9\u30B9\u7B49\uFF09: \u81EA\u52D5\u30D3\u30D6\u30E9\u30FC\u30C8OFF\u30FB\u58F0\u91CF\u3092\u65E2\u5B9A\u306E0.85\u500D\u3092\u57FA\u6E96\u306B\u3001\u526F\u30DC\u30FC\u30AB\u30EB\u306E\u672C\u6570\u304C\u591A\u3044\u307B\u3069\u3055\u3089\u306B\u7D5E\u308B\uFF08\u91CD\u306A\u3063\u3066\u97F3\u5727\u304C\u7A4D\u307F\u4E0A\u304C\u308B\u5206\u3092\u7B49\u30D1\u30EF\u30FC\u5247\u3067\u76F8\u6BBA\uFF09\u30FB\u97F3\u5727\u5F37\u531625%\u30FB\u30B9\u30C6\u30EC\u30AA\u5E45120%\uFF08\u5E83\u3052\u3066\u300C\u58C1\u300D\u306E\u3088\u3046\u306A\u539A\u307F\u3092\u51FA\u3059\uFF09\u30FBEQ\u4F4E\u57DF-3dB\u30FBEQ\u9AD8\u57DF\u306F\u7121\u5909\u5316\uFF08\u660E\u308B\u304F\u3057\u3059\u304E\u308B\u3068\u524D\u306B\u51FA\u3066\u3057\u307E\u3046\u305F\u3081\uFF09\u30FB\u30C7\u30A3\u30EC\u30A4\u9001\u308A0%\uFF08\u639B\u3051\u308B\u3068\u8F2A\u90ED\u304C\u307C\u3084\u3051\u3066\u56E3\u5B50\u306B\u306A\u308B\u305F\u3081\uFF09\u30FB\u30EA\u30D0\u30FC\u30D6\u9001\u308A45%\uFF08\u5965\u3078\u99B4\u67D3\u307E\u305B\u308B\uFF09\u30FB\u5B9A\u4F4D\u306F\u5DE6\u53F3\u3078\u4EA4\u4E92\u306B\u632F\u3063\u3066\u30C0\u30D6\u30EA\u30F3\u30B0\u611F\u3092\u51FA\u3059</li>
13638
13637
  </ul>
13639
- <p style="margin-top:4px;"><small>\u300C\u524D\u306B\u51FA\u3057\u305F\u3044\u97F3\u306F\u30EA\u30D0\u30FC\u30D6\u5C11\u306A\u3081\u3001\u5965\u306B\u7F6E\u304D\u305F\u3044\u97F3\u306F\u30EA\u30D0\u30FC\u30D6\u591A\u3081\u300D\u3068\u3044\u3046\u5B9A\u77F3\u306B\u57FA\u3065\u3044\u3066\u3044\u307E\u3059\u3002\u300C\u3044\u3044\u611F\u3058\u306E\u521D\u671F\u5024\u300D\u3092\u4E00\u62EC\u3067\u5F53\u3066\u308B\u3060\u3051\u3067\u3001\u66F2\u3084\u597D\u307F\u306B\u5FDC\u3058\u305F\u5FAE\u8ABF\u6574\u307E\u3067\u306F\u884C\u3044\u307E\u305B\u3093\u3002\u65E2\u5B58\u306E\u8A2D\u5B9A\u306F\u4E0A\u66F8\u304D\u3055\u308C\u308B\u306E\u3067\u3001\u6C17\u306B\u5165\u3089\u306A\u3051\u308C\u3070\u5404\u30B9\u30E9\u30A4\u30C0\u30FC\u304B\u3089\u500B\u5225\u306B\u623B\u3057\u3066\u304F\u3060\u3055\u3044\u3002</small></p>
13638
+ <p style="margin-top:4px;"><small>\u300C\u524D\u306B\u51FA\u3057\u305F\u3044\u97F3\u306F\u58F0\u91CF\u5927\u304D\u3081\u30FB\u72ED\u3081\u30FB\u30EA\u30D0\u30FC\u30D6\u5C11\u306A\u3081\u3001\u5965\u306B\u7F6E\u304D\u305F\u3044\u97F3\u306F\u58F0\u91CF\u63A7\u3048\u3081\u30FB\u5E83\u3081\u30FB\u30EA\u30D0\u30FC\u30D6\u591A\u3081\u300D\u3068\u3044\u3046\u5B9A\u77F3\u306B\u57FA\u3065\u3044\u3066\u3044\u307E\u3059\u3002EQ\u306E\u4F4E\u57DF\u30AB\u30C3\u30C8\u306F\u30DC\u30FC\u30AB\u30EB\u3067\u307B\u307C\u666E\u904D\u7684\u306A\u5B9A\u77F3\uFF08\u5B9F\u8CEA\u7684\u306A\u30CF\u30A4\u30D1\u30B9\u30D5\u30A3\u30EB\u30BF\u306E\u4EE3\u7528\uFF09\u3067\u3059\u3002\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u30CF\u30E2\u30EA\u30FB\u30B3\u30FC\u30E9\u30B9\u3078\u639B\u3051\u306A\u3044\u306E\u306F\u3001\u8907\u6570\u306E\u58F0\u304C\u540C\u6642\u306B\u63FA\u308C\u308B\u3068\u58F0\u3054\u3068\u306E\u4F4D\u76F8\u30FB\u901F\u3055\u306E\u30BA\u30EC\u3067\u548C\u97F3\u304C\u300C\u3046\u306D\u308B\u300D\u300C\u6FC1\u308B\u300D\u305F\u3081\u3067\u3001\u5408\u5531\u3084\u30B9\u30C8\u30EA\u30F3\u30B0\u30B9\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u594F\u6CD5\u3068\u540C\u3058\u304F\u3001\u30CF\u30E2\u30EA/\u30B3\u30FC\u30E9\u30B9\u306F\u30B9\u30C8\u30EC\u30FC\u30C8\u30C8\u30FC\u30F3\u306B\u3057\u3066\u97F3\u7A0B\u306E\u8EF8\u3092\u5B89\u5B9A\u3055\u305B\u308B\u65B9\u304C\u99B4\u67D3\u307F\u307E\u3059\u3002\u30AA\u30AF\u30BF\u30FC\u30D6\u30E6\u30CB\u30BE\u30F3\uFF081\u30AA\u30AF\u30BF\u30FC\u30D6\u4E0A/\u4E0B\u3092\u91CD\u306D\u3066\u539A\u307F\u3092\u51FA\u3059\u52A0\u5DE5\uFF09\u306F\u3053\u3053\u3067\u306F\u81EA\u52D5\u9069\u7528\u3057\u307E\u305B\u3093 \u2014 \u58F0\u8CEA\u3092\u5927\u304D\u304F\u5909\u3048\u308B\u6F14\u51FA\u76EE\u7684\u306E\u52A0\u5DE5\u3067\u3042\u308A\u3001\u66F2\u306B\u3088\u3063\u3066\u5408\u3046/\u5408\u308F\u306A\u3044\u304C\u5206\u304B\u308C\u308B\u5275\u4F5C\u4E0A\u306E\u9078\u629E\uFF08\u30D0\u30E9\u30FC\u30C9\u3067\u306F\u4E0D\u81EA\u7136\u306B\u306A\u308A\u3084\u3059\u3044\u7B49\uFF09\u3067\u3001\u30DF\u30C3\u30AF\u30B9\u306E\u662F\u6B63\u3068\u306F\u6027\u8CEA\u304C\u9055\u3046\u305F\u3081\u3067\u3059\u3002\u4F7F\u3044\u305F\u3044\u5834\u5408\u306F\u5404\u30DC\u30FC\u30AB\u30EB\u30C8\u30E9\u30C3\u30AF\u306E\u8A2D\u5B9A\u6B04\u304B\u3089\u500B\u5225\u306B\u9078\u3093\u3067\u304F\u3060\u3055\u3044\u3002\u300C\u3044\u3044\u611F\u3058\u306E\u521D\u671F\u5024\u300D\u3092\u4E00\u62EC\u3067\u5F53\u3066\u308B\u3060\u3051\u3067\u3001\u66F2\u3084\u597D\u307F\u306B\u5FDC\u3058\u305F\u5FAE\u8ABF\u6574\u307E\u3067\u306F\u884C\u3044\u307E\u305B\u3093\u3002\u65E2\u5B58\u306E\u8A2D\u5B9A\u306F\u4E0A\u66F8\u304D\u3055\u308C\u308B\u306E\u3067\u3001\u6C17\u306B\u5165\u3089\u306A\u3051\u308C\u3070\u5404\u30B9\u30E9\u30A4\u30C0\u30FC\u304B\u3089\u500B\u5225\u306B\u623B\u3057\u3066\u304F\u3060\u3055\u3044\u3002</small></p>
13640
13639
  </div>
13641
13640
  `;
13642
13641
  var MIDI_INFO_HTML = `
@@ -16866,6 +16865,7 @@ var mountDAW = (target, options = {}) => {
16866
16865
  }
16867
16866
  let mainVocalId = null;
16868
16867
  let mainVocalScore = -1;
16868
+ let nonMainVocalCount = 0;
16869
16869
  for (const t of trackStates) {
16870
16870
  if (!t.lyricModel) continue;
16871
16871
  const score = t.core.getNotes().reduce((sum, n) => sum + n.durationSteps, 0);
@@ -16874,6 +16874,9 @@ var mountDAW = (target, options = {}) => {
16874
16874
  mainVocalId = t.config.id;
16875
16875
  }
16876
16876
  }
16877
+ for (const t of trackStates) {
16878
+ if (t.lyricModel && t.config.id !== mainVocalId) nonMainVocalCount++;
16879
+ }
16877
16880
  const autoPreset = INSTRUMENT_PRESETS[currentInstrument] ?? INSTRUMENT_PRESETS.piano;
16878
16881
  const roleByTrackId = /* @__PURE__ */ new Map();
16879
16882
  for (const t of trackStates) {
@@ -16915,28 +16918,43 @@ var mountDAW = (target, options = {}) => {
16915
16918
  t.trackPan = pan;
16916
16919
  options.onTrackPanChange?.(t.config.id, pan);
16917
16920
  const comp = t.lyricModel ? isMainVocal ? 30 : 25 : roleMix?.compression ?? 35;
16918
- const width = t.lyricModel ? 115 : roleMix?.width ?? 115;
16921
+ const width = t.lyricModel ? isMainVocal ? 100 : 120 : roleMix?.width ?? 115;
16919
16922
  t.trackCompression = comp;
16920
16923
  t.trackWidth = width;
16921
16924
  options.onTrackCompressionChange?.(t.config.id, comp);
16922
16925
  options.onTrackWidthChange?.(t.config.id, width);
16923
- if (!t.lyricModel) {
16924
- const reverbSend = roleMix?.reverbSend ?? 15;
16925
- t.trackReverbSend = reverbSend;
16926
- options.onTrackReverbSendChange?.(t.config.id, reverbSend);
16926
+ if (t.lyricModel) {
16927
+ t.trackEqLow = -3;
16928
+ t.trackEqHigh = isMainVocal ? 2 : 0;
16929
+ options.onTrackEqLowChange?.(t.config.id, t.trackEqLow);
16930
+ options.onTrackEqHighChange?.(t.config.id, t.trackEqHigh);
16931
+ } else {
16927
16932
  const eqLow = roleMix?.eqLow ?? 0;
16928
16933
  const eqHigh = roleMix?.eqHigh ?? 0;
16929
16934
  t.trackEqLow = eqLow;
16930
16935
  t.trackEqHigh = eqHigh;
16931
16936
  options.onTrackEqLowChange?.(t.config.id, eqLow);
16932
16937
  options.onTrackEqHighChange?.(t.config.id, eqHigh);
16938
+ }
16939
+ if (!t.lyricModel) {
16940
+ const reverbSend = roleMix?.reverbSend ?? 15;
16941
+ t.trackReverbSend = reverbSend;
16942
+ options.onTrackReverbSendChange?.(t.config.id, reverbSend);
16933
16943
  const delaySend = roleMix?.delaySend ?? 0;
16934
16944
  t.trackDelaySend = delaySend;
16935
16945
  options.onTrackDelaySendChange?.(t.config.id, delaySend);
16936
16946
  }
16937
16947
  if (t.lyricModel) {
16938
- t.vocalVibrato = true;
16948
+ t.vocalVibrato = isMainVocal;
16939
16949
  t.vocalReverb = isMainVocal ? 25 : 45;
16950
+ t.vocalDelay = isMainVocal ? 15 : 0;
16951
+ t.vocalVolume = isMainVocal ? Math.round(DEFAULT_VOCAL_VOLUME * 1.1) : clamp5(
16952
+ Math.round(
16953
+ DEFAULT_VOCAL_VOLUME * 0.85 / Math.sqrt(Math.max(1, nonMainVocalCount))
16954
+ ),
16955
+ 60,
16956
+ MAX_VOCAL_VOLUME
16957
+ );
16940
16958
  fireLyricsChange(t);
16941
16959
  }
16942
16960
  }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "author": "onjmin",
3
3
  "license": "MIT",
4
4
  "name": "@onjmin/dtm",
5
- "version": "0.1.96",
5
+ "version": "0.1.98",
6
6
  "description": "MMLを中間言語に用いた、モバイルファーストなDAW / ピアノロール打ち込みコンポーネント",
7
7
  "homepage": "https://onjmin.github.io/dtm",
8
8
  "repository": {