- Notifications
You must be signed in to change notification settings - Fork2
yui0/aplay-
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
🎧Enjoy BitPerfect audio playback with simplicity and precision!
aplay+ supports a variety of popular audio formats:
- 🌟FLAC: High-quality lossless compression
- 🌊WAV: Uncompressed audio with crystal-clear quality
- 🎶MP3: The most commonly used compressed format
- 🎵Ogg Vorbis: Great compression with excellent sound
- 📱AAC (mp4/m4a): Widely used in iPhones and YouTube
- Build easily with Google Colab:
- Build with Colab
- Install required libraries:
# dnf install alsa-lib-devel$ make
- Clone the repository and build:
git clone https://github.com/yui0/aplay-.gitcd aplay-make
$ ./aplay+ -hUsage: ./aplay+ [options] dirOptions:-h Print thishelp message-d<device name> Specify ALSA device [e.g., default hw:0,0 plughw:0,0...]-f Use 32-bit floating-point playback-r Recursively search directories-x Enable random playback-s<regexp> Search files with a regex-t<ext type> Specify filetype (e.g., flac, mp3, wma...)-p Optimizefor Linux platforms
- 🔀Random playback:
$ ./aplay+ -rx.
- 🎤Search for a specific artist:
$ ./aplay+ -rx -d hw:7,0 /Music/ -s ZARD
- 🎹Exclude instrumentals from playback:
$ ./aplay+ -rfx -d hw:7,0 /Music/ -s'^(?!.*nstrumental).*$'
Add the following to yoursysctl.conf
:
vm.dirty_ratio = 40vm.dirty_background_ratio = 10vm.dirty_expire_centisecs = 3000vm.dirty_writeback_centisecs = 500#dev.hpet.max-user-freq = 3072vm.overcommit_memory = 1
Apply changes:
sysctl -p
Optimize SSDs and HDDs with the following script:
#!/bin/sh#cat /sys/block/sd*/queue/schedulerforFILEin /sys/block/sd*/queue/schedulerdo[-f$FILE ]||continueecho -n none>$FILEdone
Use this script to switch CPU governor to "performance":
#!/bin/sh#cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governorforCPUFREQin /sys/devices/system/cpu/cpu*/cpufreq/scaling_governordo[-f$CPUFREQ ]||continueecho -n performance>$CPUFREQdone
# scheduler for non rotational, SSDACTION=="add|change", KERNEL=="sd[a-z]|mmcblk[0-9]*", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="none"# scheduler for rotational, HDDACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq"
fstrim -v /
#cat /sys/devices/system/clocksource/clocksource0/current_clocksourceecho tsc > /sys/devices/system/clocksource/clocksource0/current_clocksource
ulimit -a
- stb
- dr_libs
- mini_al
- minilibs/regex
- parg
- Related Blog Posts
- https://kazuhira-r.hatenablog.com/entry/2021/05/22/210532
- https://github.com/nothings/single_file_libs
🎵Experience perfect audio playback with aplay+! Start your music journey today!
About
a simple BitPerfect player
Topics
Resources
License
Stars
Watchers
Forks
Packages0
No packages published