Skip to content

Latest commit

 

History

History
267 lines (166 loc) · 14 KB

README.md

File metadata and controls

267 lines (166 loc) · 14 KB

App demo

Table of Contents

Overview

Aural Player is an audio player for macOS. Inspired by the classic Winamp player for Windows, it is designed to be easy to use and customizable, with support for a wide variety of popular audio formats and powerful sound tuning capabilities.

Flexibility Personalization
With Winamp-like modularity and multiple app presentation modes, you can lay out the app to suit your workspace or tuck it away in the macOS menu bar. Personalize Aural Player with exactly the colors and fonts that define your creative tastes.
Extensive Audio Formats Support Sound tuning and monitoring
By harnessing the power of FFmpeg, Aural Player supports a wide variety of popular audio formats, in addition to all macOS Core Audio formats. With several built-in effects and support for Audio Unit (AU) plug-ins, sound tuning and monitoring possibilities are endless.

How it works (under the hood)

Aural Player is written entirely in Swift (approximately 100,000 lines of code). It uses AVFoundation's AVAudioEngine framework (and some low-level Core Audio) for playback, effects, and visualization, and uses FFmpeg libraries to decode formats not native to macOS.

How it works screenshot

Read more about it here.

Limitations

  • Currently, Aural does not play online streams. However, this feature has been requested and I am strongly considering implementing it for version 4.x.
  • Aural does not play protected content (for example, Apple's M4P or Audible's AAX). There are no plans to implement this.

Key features

(Comprehensive feature list here)

  • Supports all Core Audio formats and several non-native formats: (including FLAC, Vorbis, Monkey's Audio (APE), Opus, & many more)
  • Supports M3U / M3U8 playlists
  • Playback: Bookmarking, segment looping, custom seek intervals, last position memory, chapters support, autoplay.
  • Effects: Built-in effects (incl. equalizer), Audio Unit (AU) plug-in support, built-in / custom presets, per-track settings memory.
  • Playlist: Grouping by artist/album/genre, searching, sorting, type selection.
  • Information: ID3, iTunes, WMA, Vorbis Comment, ApeV2, etc. Cover art (with MusicBrainz lookups), lyrics, file system and audio data. Option to export.
  • Track lists: Favorites list, recently added and recently played lists.
  • Visualizer: 3 different visualizations that dance to the music, with customizable colors.
  • UI: Modular interface, fully customizable fonts and colors (with gradients), built-in / custom window layouts, configurable window snapping / docking / spacing / corner radius, menu bar mode, control bar (widget) mode.
  • Usability: Configurable media keys support, swipe/scroll gesture recognition, remote control from Control Center, headphones, and media control devices / apps.

Roadmap

Version 4.0

As of Feb 6, 2022, version 4.0 is in active development, and may bring several improvements:

  • An app version for iOS (may only support iPadOS) ... TBD
  • A new single-window "Unified" app mode on macOS
  • Gapless queueing of tracks (to eliminate audible gaps)
  • Ability to play online streams ? ... TBD
  • Plug-in architecture for visualizations (enabling developers to use / share custom visualizations) ? ... TBD
  • A new app setup screen on first app launch
  • Better support for multi-screen setups (window layouts)
  • Improved UI aesthetics
  • More Apple-recommended user interface elements and styling
  • More playlist-related features such as multiple playlists ... TBD
  • Improved usability / controls
  • Simplified color scheming
  • More tool tips and help
  • Use of newer AppKit APIs
  • Tons of source code improvements (including the use of newer APIs)

NOTE - Version 4.0 will only support macOS 11.0 (Big Sur) and newer versions, because of its use of newer AppKit APIs, which are only available in the newer macOS versions.


In addition to v4.0, the following features may be implemented in the future:

  • A file browser.
  • Allow for multiple playlists.
  • Replay gain.
  • Crossfading between tracks.
  • Gapless playback.

Other goals

  • More extensive unit testing.
  • More comprehensive documentation.
  • Better source code commenting.

Download

Latest release

See all releases

Compatibility

This table lists the minimum required Aural Player version for your hardware and macOS version. It is always recommended to use the latest app version, regardless of your hardware / macOS version.

Intel (x86_64) Apple silicon (arm64)
macOS 10.12 - 10.15 1.0.0 (N/A)
macOS 11.x (Big Sur) 2.3.0 3.0.0
macOS 12.x (Monterey) 2.3.0 3.0.0

NOTES:

  • Version 3.0.0 and all subsequent releases are universal binaries, i.e. capable of running on both Intel and Apple Silicon Macs.

  • Due to limited time, I can only officially support macOS Big Sur and Monterey going forward. The app should still work on older systems (going back to Sierra), but I can no longer make guarantees or troubleshoot issues on older systems.

Installation

  1. Mount the AuralPlayer-x.y.z.dmg image file.
  2. From within the mounted image, copy Aural.app to your local drive (e.g. Applications folder).
  3. Run the copy from your local drive. You will likely see a security warning and the app will not open because the app's developer is not recognized by macOS.
  4. Go to System Preferences > Security & Privacy > General > Open anyway, to allow Aural.app to open.

NOTE - Please don't run the app directly from within the image. Copy it outside and run the copy.

Media keys support

Your Mac media keys should work with Aural right out of the box (assuming you granted Aural Accessibility permissions on first app launch), but if for some reason the media keys don't work, follow the steps listed here.

Building the app

All you need is Xcode 12.2+ and the source code (a working knowledge of Swift would help !). It is recommended to use the source code from the latest release (as opposed to the master branch) as code between releases can be buggy / unstable.

Read the quick start guide for more details.

Documentation

All the documentation can be found on the wiki.

Some pages to get you started

How To's

Handy keyboard shortcuts

Building and running Aural Player (quick start guide)

Developer reference

Screenshots

Custom color scheme w/ main controls hidden

Vertical full stack window layout screenshot

Expanded Art player view

Expanded Art player view demo

Hosting Audio Units (AU) plug-in "TDR Nova" Equalizer by Tokyo Dawn Labs

Audio Units demo GIF

Running in Menu Bar mode

Menu Bar Player screenshot

Running in Control Bar mode

Control Bar Player screenshot

Control Center integration (macOS Big Sur)

Control Center integration 1 screenshot

Control Center integration 2 screenshot

Font schemes

Font schemes demo

Color schemes

Color schemes demo

Customizing the player view

Player view

Customizing the window corner radius (up to 25px)

Window corner radius demo

Enabling and disabling effects

Enabling and disabling effects demo

Segment loop playback

Segment loop playback demo

Detailed track info

Detailed track info

Changing the window layout

Changing the window layout demo

Visualizer

Known issues (and solutions)

Contact and conversation

I encourage you to provide feedback or start a conversation about features you'd like to see implemented, bugs you've encountered, or suggestions for improvement.

Email: [email protected]

GitHub Issues https://github.com/kartik-venugopal/aural-player/issues. I'm usually pretty good at responding to issues, even if I'm not always able to fix them.

How to contribute

Interested in contributing to this awesome project ?!

I would love to localize Aural Player so that it is more comfortable to use for users who prefer other languages. I could definitely use help translating Aural Player's text into languages such as German, French, Spanish, Italian, Chinese, Japanese, etc (and any others that you can help with).

Please email me if you're interested in helping with this !

NOTE - I am not looking for help with app development at the moment, but if this changes, I will post an update.

Third party code attributions

  • FFmpeg (used to decode audio formats not natively supported on macOS)
  • MediaKeyTap (used to respond to media keys)
  • RangeSlider (used in the Filter effects unit to specify frequency ranges)

Contributor attributions

App user yougotwill made numerous suggestions for improvements and features, provided a lot of valuable feedback, and designed the Poolside.fm theme.

Fellow GitHub member dun198 made significant contributions towards this project - performance optimizations, UX improvements, etc.

License

Aural Player (in both forms - source code and binary) is available for use under the MIT license.