Skip to content

Commit c3f7b56

Browse files
authored
Merge pull request Plachtaa#54 from echonoshy/main
fix: last chunk crossfade dimension dismatch(Plachtaa#46)
2 parents 9207611 + c73d844 commit c3f7b56

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

app.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,10 @@ def adjust_f0_semitones(f0_sequence, n_semitones):
131131
def crossfade(chunk1, chunk2, overlap):
132132
fade_out = np.cos(np.linspace(0, np.pi / 2, overlap)) ** 2
133133
fade_in = np.cos(np.linspace(np.pi / 2, 0, overlap)) ** 2
134-
chunk2[:overlap] = chunk2[:overlap] * fade_in + chunk1[-overlap:] * fade_out
134+
if len(chunk2) < overlap:
135+
chunk2[:overlap] = chunk2[:overlap] * fade_in[:len(chunk2)] + (chunk1[-overlap:] * fade_out)[:len(chunk2)]
136+
else:
137+
chunk2[:overlap] = chunk2[:overlap] * fade_in + chunk1[-overlap:] * fade_out
135138
return chunk2
136139

137140
# streaming and chunk processing related params

0 commit comments

Comments
 (0)