Swiftpack.co - Package - derKlinke/LippoKit
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.

README

Hello and welcome to my humble project of me trying to figure out what the heck I am doing. Me trying to figure out how audio DSP and some maths around it work. I'm by for no professional, but I have some ideas which I try to make happen in here. Feel free to look around, critique and tell me what I'm doing wrong. My long-term goal for this would be a functioning and good-looking software that I might actually want to sell, so please be aware that this project is NOT open-source. For further info on that, please read the licence file.

If you find any errors or things that run funky or could run funky, please open an issue here on GitHub.

To use the software download the executable under [Release][https://github.com/derKlinke/LippoKit/releases] in this repository. Please note to download the entire source code as .ZIP. Downloading only the release results in your system reading it as a Text File instead of a Unix Executable File.

Use

The Software accepts any audio file types out there (as far as I know ☺︎). Support for dragging in links from finder into the terminal has been added. All analysis is then done automatically by the software. The main functionality currently is to determine the Panning-State of an audio file and some basic level descriptors.

Future Implementations:

This Software is far from being done, of course. One of the main big things that needs to be done of course is a user interface. This will probably happen in a different Repo. Here is a list of features that are planned to be implemented in the near future:

General Milestones

  • Multi file Initialisation
  • ☐ Multi File Analysis
  • ☐ Multi thread file analysis

Content Detection

  • Panning state detection
  • dbFS, dbTP at peak
  • ☐ dbFS, dbRMS at average
  • ☐ exact pan position depending on selected pan law in preferences (.linear, .constantPower, .console)
  • ☐ Shortterm max & integrated LUFS (as described in ITU-R BS.1770)
  • ☐ Center of Gravity and Consistency (as proposed in AES-7514)
  • ☐ Machine Learning based Content Recognition using Create ML
  • ☐ average pitch and key of song (selection of files)
  • ☐ Find group tracks and their "children"
  • ☐ Tempo detection

File Renaming

  • ☐ Cleaning up file names due to common issues seen over time
  • ☐ Renaming of files according to user predefined rules
  • ☐ Suggest file names based on ML content recognition

Audio File Operations

  • Converting stereo files to mono by either cutting one side or summing together -> Needs Testing!
  • ☐ Normalize audio file to a set RMS volume.
  • ☐ Writing audio file with corrected panning state and name to disk
  • ☐ Delete empty files
  • ☐ Trim empty end of files
  • ☐ Two-pass algorithm for automatic loudness correction (as described in AES-9683)
  • ☐ Combining files with same name labeled L and R into stereo file
  • ☐ Generate Reference Mix of all provided files

Submitting an Error

Dear user and therefore early tester, if you find any issue, any unexpected behaviour with a file, please submit an issue here on GitHub or to me with the file you tested it with and a description of the error. If the software crashed unexpectedly, please provide a crash-log from your system.

CodeFactor

Quality gate

Dependencies:

  1. AudioKit: [https://github.com/AudioKit/AudioKit][2] published under MIT Licence.
  2. Swift Numerics: [https://github.com/apple/swift-numerics/][3] published under Apache Licence.

Github

link
Stars: 0

Releases

Average RMS Detection complete! - 2021-01-14T19:51:54

finished average RMS detection and solved some detection errors.

also: fixed some bugs, increased stability and reduced memory usage.