@@ -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