Skip to content

Commit 5c73f71

Browse files
committed
[feat]: add 50% file
1 parent 1e8865a commit 5c73f71

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

Sources/ScriptToolkit/FileExtension.swift

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,13 +198,15 @@ public extension File {
198198
func prepareSongForPractise(outputFolder: Folder, overwrite: Bool = true) throws {
199199
let inputFolder = parent!
200200

201+
let fileName50 = nameExcludingExtension + "@50.m4a"
201202
let fileName75 = nameExcludingExtension + "@75.m4a"
202203
let fileName90 = nameExcludingExtension + "@90.m4a"
203204
let fileName100 = nameExcludingExtension + "@100.m4a"
204205

205206
if !overwrite {
206207
let outputPath = outputFolder.path
207-
if FileManager.default.fileExists(atPath: outputPath.appendingPathComponent(path: fileName75))
208+
if FileManager.default.fileExists(atPath: outputPath.appendingPathComponent(path: fileName50))
209+
&& FileManager.default.fileExists(atPath: outputPath.appendingPathComponent(path: fileName75))
208210
&& FileManager.default.fileExists(atPath: outputPath.appendingPathComponent(path: fileName90))
209211
&& FileManager.default.fileExists(atPath: outputPath.appendingPathComponent(path: fileName100)) { return }
210212
}
@@ -223,11 +225,15 @@ public extension File {
223225
print(" Normalizing sample rate")
224226
let normWavFile = try originalWavFile.normalizeSampleRate(newName: inputFolder.path.appendingPathComponent(path: "wav-file-norm.wav"))
225227

228+
print(" Converting to 50% speed")
229+
let file50 = try normWavFile.slowDownAudio(newName: inputFolder.path.appendingPathComponent(path: "tempo-50.wav"), percent: 0.5)
226230
print(" Converting to 75% speed")
227231
let file75 = try normWavFile.slowDownAudio(newName: inputFolder.path.appendingPathComponent(path: "tempo-75.wav"), percent: 0.75)
228232
print(" Converting to 90% speed")
229233
let file90 = try normWavFile.slowDownAudio(newName: inputFolder.path.appendingPathComponent(path: "tempo-90.wav"), percent: 0.9)
230234

235+
print(" Adding initial silence to 50% speed file")
236+
let silencedFile50 = try file50.addSilence(newName: inputFolder.path.appendingPathComponent(path: "silence-50.wav"))
231237
print(" Adding initial silence to 75% speed file")
232238
let silencedFile75 = try file75.addSilence(newName: inputFolder.path.appendingPathComponent(path: "silence-75.wav"))
233239
print(" Adding initial silence to 90% speed file")
@@ -236,20 +242,24 @@ public extension File {
236242
let silencedFile100 = try normWavFile.addSilence(newName: inputFolder.path.appendingPathComponent(path: "silence-100.wav"))
237243

238244
print(" Converting to M4A")
245+
let silencedM4AFile50 = try silencedFile50.convertToM4A(newName: inputFolder.path.appendingPathComponent(path: fileName50))
239246
let silencedM4AFile75 = try silencedFile75.convertToM4A(newName: inputFolder.path.appendingPathComponent(path: fileName75))
240247
let silencedM4AFile90 = try silencedFile90.convertToM4A(newName: inputFolder.path.appendingPathComponent(path: fileName90))
241248
let silencedM4AFile100 = try silencedFile100.convertToM4A(newName: inputFolder.path.appendingPathComponent(path: fileName100))
242249

243250
// Move result to output dir
244251
print(" Moving to destination folder")
252+
try silencedM4AFile50.move(to: outputFolder)
245253
try silencedM4AFile75.move(to: outputFolder)
246254
try silencedM4AFile90.move(to: outputFolder)
247255
try silencedM4AFile100.move(to: outputFolder)
248256

249257
// Clean up
250258
try originalWavFile.delete()
259+
try file50.delete()
251260
try file75.delete()
252261
try file90.delete()
262+
try silencedFile50.delete()
253263
try silencedFile75.delete()
254264
try silencedFile90.delete()
255265
try silencedFile100.delete()

0 commit comments

Comments
 (0)