Skip to content

Commit 568b7e1

Browse files
committed
[feat] practise with normalization
1 parent 3f4989f commit 568b7e1

File tree

1 file changed

+20
-10
lines changed

1 file changed

+20
-10
lines changed

Sources/ScriptToolkit/FileExtension.swift

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,16 @@ public extension File {
165165
return try File(path: newName)
166166
}
167167

168+
@discardableResult public func normalizeSampleRate(newName: String, overwrite: Bool = true) throws -> File {
169+
if FileManager.default.fileExists(atPath: newName) {
170+
if !overwrite { return try File(path: newName) }
171+
try FileManager.default.removeItem(atPath: newName)
172+
}
173+
174+
run(ScriptToolkit.soxPath, path, "-r", "44100", newName)
175+
return try File(path: newName)
176+
}
177+
168178
@discardableResult public func convertToM4A(newName: String, overwrite: Bool = true) throws -> File {
169179
if FileManager.default.fileExists(atPath: newName) {
170180
if !overwrite { return try File(path: newName) }
@@ -181,7 +191,7 @@ public extension File {
181191
try FileManager.default.removeItem(atPath: newName)
182192
}
183193

184-
run(ScriptToolkit.soxPath, ScriptToolkit.silenceFilePath, path, newName)
194+
let result = runAndDebug(ScriptToolkit.soxPath, ScriptToolkit.silenceFilePath, path, newName)
185195
return try File(path: newName)
186196
}
187197

@@ -210,17 +220,20 @@ public extension File {
210220
originalWavFile = self
211221
}
212222

223+
print(" Normalizing sample rate")
224+
let normWavFile = try originalWavFile.normalizeSampleRate(newName: inputFolder.path.appendingPathComponent(path: "wav-file-norm.wav"))
225+
213226
print(" Converting to 75% speed")
214-
let file75 = try originalWavFile.slowDownAudio(newName: inputFolder.path.appendingPathComponent(path: "tempo-75.wav"), percent: 0.75)
227+
let file75 = try normWavFile.slowDownAudio(newName: inputFolder.path.appendingPathComponent(path: "tempo-75.wav"), percent: 0.75)
215228
print(" Converting to 90% speed")
216-
let file90 = try originalWavFile.slowDownAudio(newName: inputFolder.path.appendingPathComponent(path: "tempo-90.wav"), percent: 0.9)
229+
let file90 = try normWavFile.slowDownAudio(newName: inputFolder.path.appendingPathComponent(path: "tempo-90.wav"), percent: 0.9)
217230

218231
print(" Adding initial silence to 75% speed file")
219-
let silencedFile75 = try file75.addSilence(newName: inputFolder.path.appendingPathComponent(path: inputFolder.path.appendingPathComponent(path: "silence-75.wav")))
232+
let silencedFile75 = try file75.addSilence(newName: inputFolder.path.appendingPathComponent(path: "silence-75.wav"))
220233
print(" Adding initial silence to 90% speed file")
221-
let silencedFile90 = try file90.addSilence(newName: inputFolder.path.appendingPathComponent(path: inputFolder.path.appendingPathComponent(path: "silence-90.wav")))
234+
let silencedFile90 = try file90.addSilence(newName: inputFolder.path.appendingPathComponent(path: "silence-90.wav"))
222235
print(" Adding initial silence to 100% speed file")
223-
let silencedFile100 = try originalWavFile.addSilence(newName: inputFolder.path.appendingPathComponent(path: inputFolder.path.appendingPathComponent(path: "silence-100.wav")))
236+
let silencedFile100 = try normWavFile.addSilence(newName: inputFolder.path.appendingPathComponent(path: "silence-100.wav"))
224237

225238
print(" Converting to M4A")
226239
let silencedM4AFile75 = try silencedFile75.convertToM4A(newName: inputFolder.path.appendingPathComponent(path: fileName75))
@@ -270,11 +283,8 @@ public extension File {
270283
let right = Int(insets.right)
271284

272285
main.currentdirectory = parent!.path
273-
let result = run(bash: "\(ScriptToolkit.pdfCropPath) --margins '5 5 5 5' \"\(name)\" \"\(newName)\"")
286+
run(bash: "\(ScriptToolkit.pdfCropPath) --margins '\(left) \(top) \(right) \(bottom)' \"\(name)\" \"\(newName)\"")
274287

275-
// let result = run(ScriptToolkit.pdfCropPath, "--margins", "\(left) \(top) \(right) \(bottom)", path, newName)
276-
print(result)
277-
//runAndDebug(ScriptToolkit.pdfCropPath, "--margins", "\(left) \(top) \(right) \(bottom)", path, newName)
278288
return try File(path: newName)
279289
}
280290

0 commit comments

Comments
 (0)