From 17231250997b1ca40a4a5ef0ce1132a05a169cb5 Mon Sep 17 00:00:00 2001 From: tyow Date: Wed, 1 Apr 2026 18:51:29 -0400 Subject: [PATCH] bugfix: transpose now has default octave of 3 --- packages/tonal/tonal.mjs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/tonal/tonal.mjs b/packages/tonal/tonal.mjs index 4bba4561a..4c65caf0b 100644 --- a/packages/tonal/tonal.mjs +++ b/packages/tonal/tonal.mjs @@ -137,7 +137,10 @@ export const { transpose, trans } = register(['transpose', 'trans'], function tr const interval = !isNaN(Number(intervalOrSemitones)) ? Interval.fromSemitones(intervalOrSemitones) : String(intervalOrSemitones); - const targetNote = Note.transpose(note, interval); + + let n = Note.get(note); + n.oct = Interval.num(interval) < 8 ? n.oct : (n.oct ?? 3); + const targetNote = Note.transpose(n, interval); if (typeof hap.value === 'object') { return hap.withValue(() => ({ ...hap.value, note: targetNote })); }