audio-separator

v0.44.2 suspicious
4.0
Medium Risk

Easy to use audio stem separation, using various models from UVR trained primarily by @Anjok07

🤖 AI Analysis

Final verdict: SUSPICIOUS

The package exhibits some concerning behaviors such as network calls with long timeouts and direct shell command execution, although there's no evidence of credential harvesting or severe obfuscation.

  • network call with long timeout
  • direct shell command execution ('ffmpeg')
Per-check LLM notes
  • Network: The network call to an external URL with a long timeout suggests potential data transfer or update checks, which could be benign but should be reviewed for destination and content.
  • Shell: Executing 'ffmpeg' to check the version is likely for functionality verification, but direct shell command execution can pose risks if not properly sanitized or controlled.
  • Obfuscation: The observed patterns appear to be related to model evaluation in machine learning, which is a common practice but the obfuscation style seems unusual.
  • Credentials: No clear signs of credential harvesting detected.
  • Metadata: The author has only one package, which may indicate a new or less active account, but no other red flags were identified.

📦 Package Quality Overall: Medium (5.4/10)

○ Low Test Suite 1.0

No test suite detected

  • No test files or test-runner configuration detected
◈ Medium Documentation 7.0

Some documentation present

  • Documentation URL: "Documentation" -> https://github.com/karaokenerds/python-audio-separator/blob/
  • Detailed PyPI description (39415 chars)
○ Low Contributing Guide 4.0

No contributing guide or governance files found

  • Development Status classifier >= Beta
◈ Medium Type Annotations 5.0

Partial type annotation coverage

  • 179 type-annotated function signatures detected in source
✦ High Multiple Contributors 10.0

Active multi-contributor project

  • 14 unique contributor(s) across 100 commits in karaokenerds/python-audio-separator
  • Active community — 5 or more distinct contributors

🔬 Heuristic Checks

Outbound Network Calls score 3.0

Found 2 network call pattern(s)

  • logger self.session = requests.Session() def separate_audio( self, file_path:
  • out 300s") response = requests.get(url, stream=True, timeout=300) if response.status_c
Code Obfuscation score 10.0

Found 6 obfuscation pattern(s)

  • self.demucs_model_instance.eval() self.logger.debug("Model loaded and set to evalua
  • del_run.to(self.torch_device).eval() self.logger.warning("Model converted from onnx
  • del_run.to(self.torch_device).eval() else: error_msg = geta
  • del_run.to(self.torch_device).eval() except RuntimeError as e: self.logger
  • t) self.model_run.eval() with torch.no_grad(): mask = [
  • .to(device) model.eval() result = ModelLoadingResult.success_result(
Shell / Subprocess Execution score 4.0

Found 2 shell execution pattern(s)

  • ffmpeg_version_output = subprocess.check_output(["ffmpeg", "-version"], text=True) first_line =
  • d([infile, outfile]) subprocess.check_call(arguments, stdout=DEVNULL, stderr=DEVNULL) # Load t
Credential Harvesting

No credential harvesting patterns detected

Typosquatting

No typosquatting candidates detected

Registered Email Domain

Email domain looks legitimate: beveridge.uk

Suspicious Page Links

All external links appear legitimate

Git Repository History

Repository karaokenerds/python-audio-separator appears legitimate

Maintainer History score 2.0

1 maintainer concern(s) found

  • Author "Andrew Beveridge" appears to have only 1 package on PyPI (new or inactive account)
Known CVE Vulnerabilities

No known vulnerabilities found in OSV database.

💡 AI App Starter Prompt

Use this prompt to build a project with audio-separator
Your task is to create a user-friendly Python application named 'AudioMixer' which leverages the 'audio-separator' package to separate audio tracks into their constituent stems (such as vocals, drums, bass, etc.) and then allows users to mix these stems back together in any desired combination. This tool aims to provide musicians and producers with an efficient way to experiment with different audio mixes without needing advanced audio editing skills.

Here are the key features your application should include:
1. **User Interface**: Design a simple command-line interface where users can input commands to select an audio file for processing, choose which stems they want to extract, and specify how they wish to remix them.
2. **Stem Separation**: Utilize the 'audio-separator' package to accurately separate the selected audio file into its individual stems. Ensure that the separation process is both accurate and efficient.
3. **Customizable Mixing**: Allow users to specify which stems they would like to keep and which ones to discard or modify (e.g., adjust volume levels). Provide options for users to manually set parameters such as volume levels for each stem.
4. **Output Management**: Once the user has customized their mix, provide an option to save the final mixed audio file to their local system. Include functionality to preview the mixed audio before saving.
5. **Help and Documentation**: Implement a help command within the application that explains how to use each feature of the application. Also, create a short documentation file explaining the installation process, dependencies, and basic usage of 'AudioMixer'.

To utilize the 'audio-separator' package effectively, ensure you explore its documentation to understand how to load audio files, call the separation function, and handle the output stems. Additionally, consider integrating error handling mechanisms to manage cases where the input audio file might not be compatible with the package's requirements.

💬 Discussion Feed

Leave a comment

No discussion yet. Be the first to share your thoughts!