Booksplit script error

i’m trying to run a script called booksplit (https://github.com/LukeSmithxyz/voidrice/blob/master/.local/bin/booksplit), that functions with another script called tag (https://github.com/LukeSmithxyz/voidrice/blob/master/.local/bin/tag).

The script (booksplit) is meant to take an audio file, like an album or audiobook, and split it into smaller audiofiles, as tracks or chapters, based on timecodes provided as input in a text file.

I’ve made sure to have installed all the requirements and have mimicked and compared my results with what I see in the video made by the author of the script (https://www.youtube.com/watch?v=z_CcQhbwINU).

When I run the script with the following command:

sh .local/bin/booksplit.sh *audiofile.m4a* *timecodes.txt*

It seems to split the tracks but not tag them. The result is only a directory with the album name and .opus files, each named after a track in the album. But these are not the audio files the script is supposed to output, the script seems to ignore the inputted audio file, making an incomplete execution.

This is my inxi output

System:
  Kernel: 5.18.17-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 12.1.1
    parameters: BOOT_IMAGE=/boot/vmlinuz-5.18-x86_64
    root=UUID=34ad0c3f-417e-47b5-a595-c2f224c5ae7a rw quiet apparmor=1
    security=apparmor udev.log_priority=3
  Desktop: Xfce v: 4.16.1 tk: Gtk v: 3.24.34 info: xfce4-panel wm: xfwm
    v: 4.16.1 vt: 7 dm: LightDM v: 1.32.0 Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Laptop System: LENOVO product: 20210 v: Lenovo IdeaPad P500
    serial: <superuser required> Chassis: type: 10 v: Lenovo IdeaPad P500
    serial: <superuser required>
  Mobo: LENOVO model: INVALID v: 31900003WIN8 STD MLT
    serial: <superuser required> UEFI: LENOVO v: 71CN44WW(V1.17)
    date: 04/03/2013
Battery:
  ID-1: BAT1 charge: 37.8 Wh (100.0%) condition: 37.8/N/A Wh volts: 16.3
    min: 14.4 model: LENOVO PABAS0241231 type: Li-ion serial: <filter>
    status: full
Memory:
  RAM: total: 5.65 GiB used: 2.48 GiB (43.8%)
  RAM Report: permissions: Unable to run dmidecode. Root privileges
    required.
CPU:
  Info: model: Intel Core i5-3230M bits: 64 type: MT MCP arch: Ivy Bridge
    gen: core 3 level: v3 built: 2012-15 process: Intel 22nm family: 6
    model-id: 0x3A (58) stepping: 9 microcode: 0x21
  Topology: cpus: 1x cores: 2 tpc: 2 threads: 4 smt: enabled cache:
    L1: 128 KiB desc: d-2x32 KiB; i-2x32 KiB L2: 512 KiB desc: 2x256 KiB
    L3: 3 MiB desc: 1x3 MiB
  Speed (MHz): avg: 1208 high: 1243 min/max: 1200/3200 scaling:
    driver: intel_cpufreq governor: schedutil cores: 1: 1197 2: 1197 3: 1197
    4: 1243 bogomips: 20759
  Flags: acpi aes aperfmperf apic arat arch_perfmon avx bts clflush cmov
    constant_tsc cpuid cpuid_fault cx16 cx8 de ds_cpl dtes64 dtherm dts epb
    erms est f16c flush_l1d fpu fsgsbase fxsr ht ibpb ibrs ida lahf_lm lm mca
    mce md_clear mmx monitor msr mtrr nonstop_tsc nopl nx pae pat pbe pcid
    pclmulqdq pdcm pebs pge pln pni popcnt pse pse36 pti pts rdrand rdtscp
    rep_good sep smep ss ssbd sse sse2 sse4_1 sse4_2 ssse3 stibp syscall tm
    tm2 tsc tsc_deadline_timer vme x2apic xsave xsaveopt xtopology xtpr
  Vulnerabilities:
  Type: itlb_multihit status: KVM: VMX unsupported
  Type: l1tf mitigation: PTE Inversion
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable
  Type: meltdown mitigation: PTI
  Type: mmio_stale_data status: Not affected
  Type: retbleed status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: Retpolines, IBPB: conditional, IBRS_FW,
    STIBP: conditional, RSB filling, PBRSB-eIBRS: Not affected
  Type: srbds status: Vulnerable: No microcode
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel 3rd Gen Core processor Graphics vendor: Lenovo driver: i915
    v: kernel arch: Gen-7 process: Intel 22nm built: 2012-13 ports:
    active: HDMI-A-1 off: LVDS-1 empty: DP-1,VGA-1 bus-ID: 00:02.0
    chip-ID: 8086:0166 class-ID: 0300
  Device-2: IMC Networks Lenovo EasyCamera type: USB driver: uvcvideo
    bus-ID: 3-4:3 chip-ID: 13d3:5170 class-ID: 0e02 serial: <filter>
  Display: x11 server: X.Org v: 21.1.4 compositor: xfwm v: 4.16.1 driver: X:
    loaded: modesetting alternate: fbdev,vesa gpu: i915 display-ID: :0.0
    screens: 1
  Screen-1: 0 s-res: 1600x1200 s-dpi: 96 s-size: 423x318mm (16.65x12.52")
    s-diag: 529mm (20.83")
  Monitor-1: HDMI-A-1 mapped: HDMI-1 pos: primary model: Sharp HDMI
    serial: <filter> built: 2009 res: 1600x1200 hz: 60 dpi: 64 gamma: 1.2
    size: 640x360mm (25.2x14.17") diag: 734mm (28.9") ratio: 16:9 modes:
    max: 1920x1080 min: 720x400
  Monitor-2: LVDS-1 note: disabled pos: primary model: ChiMei InnoLux 0x15b6
    built: 2012 res: 1600x1200 dpi: 101 gamma: 1.2 size: 344x194mm (13.54x7.64")
    diag: 395mm (15.5") ratio: 16:9 modes: 1366x768
  Message: Unable to show GL data. Required tool glxinfo missing.
Audio:
  Device-1: Intel 7 Series/C216 Family High Definition Audio vendor: Lenovo
    driver: snd_hda_intel v: kernel bus-ID: 00:1b.0 chip-ID: 8086:1e20
    class-ID: 0403
  Sound Server-1: ALSA v: k5.18.17-1-MANJARO running: yes
  Sound Server-2: JACK v: 1.9.21 running: no
  Sound Server-3: PulseAudio v: 16.1 running: yes
  Sound Server-4: PipeWire v: 0.3.57 running: yes
Network:
  Device-1: Realtek RTL810xE PCI Express Fast Ethernet vendor: Lenovo
    driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1 port: 2000
    bus-ID: 01:00.0 chip-ID: 10ec:8136 class-ID: 0200
  IF: enp1s0 state: up speed: 100 Mbps duplex: full mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
    broadcast: <filter>
  IP v6: <filter> type: noprefixroute scope: link
  Device-2: Intel Centrino Wireless-N 2230 driver: iwlwifi v: kernel pcie:
    gen: 1 speed: 2.5 GT/s lanes: 1 bus-ID: 02:00.0 chip-ID: 8086:0888
    class-ID: 0280
  IF: wlp2s0 state: down mac: <filter>
  WAN IP: <filter>
Bluetooth:
  Message: No bluetooth data found.
Logical:
  Message: No logical block device data found.
RAID:
  Message: No RAID data found.
Drives:
  Local Storage: total: 232.89 GiB used: 20.99 GiB (9.0%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/sda maj-min: 8:0 vendor: Crucial model: CT250MX200SSD1
    size: 232.89 GiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
    type: SSD serial: <filter> rev: MU01 scheme: GPT
  Optical-1: /dev/sr0 vendor: HL-DT-ST model: DVDRAM GU70N rev: DE01
    dev-links: cdrom
  Features: speed: 24 multisession: yes audio: yes dvd: yes
    rw: cd-r,cd-rw,dvd-r,dvd-ram state: running
Partition:
  ID-1: / raw-size: 232.59 GiB size: 227.88 GiB (97.98%) used: 20.99 GiB
    (9.2%) fs: ext4 dev: /dev/sda2 maj-min: 8:2 label: N/A
    uuid: 34ad0c3f-417e-47b5-a595-c2f224c5ae7a
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) used: 312 KiB
    (0.1%) fs: vfat dev: /dev/sda1 maj-min: 8:1 label: NO_LABEL
    uuid: 0B98-F27A
Swap:
  Alert: No swap data was found.
Unmounted:
  Message: No unmounted partitions found.
USB:
  Hub-1: 1-0:1 info: Full speed or root hub ports: 2 rev: 2.0 speed: 480 Mb/s
    chip-ID: 1d6b:0002 class-ID: 0900
  Hub-2: 1-1:2 info: Intel Integrated Rate Matching Hub ports: 6 rev: 2.0
    speed: 480 Mb/s chip-ID: 8087:0024 class-ID: 0900
  Device-1: 1-1.4:4 info: Realtek RTS5129 Card Reader Controller
    type: <vendor specific> driver: rtsx_usb,rtsx_usb_ms,rtsx_usb_sdmmc
    interfaces: 1 rev: 2.0 speed: 480 Mb/s power: 500mA chip-ID: 0bda:0129
    class-ID: ff00 serial: <filter>
  Hub-3: 2-0:1 info: Full speed or root hub ports: 2 rev: 2.0
    speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
  Hub-4: 2-1:2 info: Intel Integrated Rate Matching Hub ports: 6 rev: 2.0
    speed: 480 Mb/s chip-ID: 8087:0024 class-ID: 0900
  Hub-5: 3-0:1 info: Hi-speed hub with single TT ports: 4 rev: 2.0
    speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
  Device-1: 3-1:2 info: Microsoft Nano Transceiver v1.0 for Bluetooth
    type: Keyboard,Mouse,HID driver: hid-generic,usbhid interfaces: 3 rev: 2.0
    speed: 12 Mb/s power: 100mA chip-ID: 045e:0745 class-ID: 0300
  Device-2: 3-4:3 info: IMC Networks Lenovo EasyCamera type: Video
    driver: uvcvideo interfaces: 2 rev: 2.0 speed: 480 Mb/s power: 500mA
    chip-ID: 13d3:5170 class-ID: 0e02 serial: <filter>
  Hub-6: 4-0:1 info: Super-speed hub ports: 4 rev: 3.0 speed: 5 Gb/s
    chip-ID: 1d6b:0003 class-ID: 0900
Sensors:
  System Temperatures: cpu: 48.0 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 198 Uptime: 5d 3h 7m wakeups: 33 Init: systemd v: 251
  default: graphical tool: systemctl Compilers: gcc: 12.2.0 clang: 14.0.6
  Packages: pm: pacman pkgs: 1082 libs: 316 tools: pamac,yay pm: flatpak
  pkgs: 0 Shell: Bash v: 5.1.16 running-in: xfce4-terminal inxi: 3.3.21

Why isn’t it working?

Don’t you think that maybe you should open an issue on LukeSmithxyz’s github issues page?

1 Like

m4a is an Apple originated format using AAC encoding.

You need to ensure you have a decoder library which can handle AAC.

I already had faad2 installed, which is an AAC audio decoder, so that doesn’t seem to be the problem.

The problem might not be the scripts but you’re right it’s worth a shot.

You might want to try some AUR packages for this

  • tone-bin or predecessor m4b-tool-bin
  • m4acut
  • audiobookconverter-bin

There are probably some audio converters in Manjaro repositories that can decode mp4 files and split/tag individual chapters similar to splitting album tracks