Page 1 of 3

abcde? Other CD rippers?

PostPosted: 15 Jul 2015, 07:07
by justshell
hey folks
new to Rune, and not a linux/pi wiz at all - so forgive me if this is dumb or I follow up with easy questions.
Moved over from flirting with Volumio and i really love Rune much more. Took me a minute to get used to it being based on Arch but i'm now at toddler level haha
I'd like to do something similar as to what worked on Volumio - have a USB CD drive connected and would like to rip CDs from it to flac or whatever and put em into my library. i tried pacman -S abcde and after it confims install, it gives me a bunch of 404s...

Is this something I'm doing wrong? Syntax or is it just not possible? Is there another rip program?

again - sorry if this is a dumb question - i looked through the forum and googled, but couldnt come up with anything.
Thanks for your help - I can't be the only one to need this, so I'm pretty sure it's out there I am just not finding it.

-j

Re: abcde? Other CD rippers?

PostPosted: 15 Jul 2015, 07:59
by mashman
Did you try and resync first?
Code: Select all
Pacman -Sy abcde

Be warned however, upgrading packages can be problematic in Rune due to the heavy amount of customisations runeOS has.

I'm interested in this CD feature in rune. I'd like to know more :)

mm

Re: abcde? Other CD rippers?

PostPosted: 16 Jul 2015, 06:01
by justshell
mashman wrote:Did you try and resync first?
Code: Select all
Pacman -Sy abcde



YES! That worked thank you for the reply.

Or, at least it installed abcde... got me further than I was.
trying to run it, it comes back with some errors -

Code: Select all
which: no cdparanoia in (/usr/local/sbin:/usr/local/bin:/usr/bin:/var/www/command:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl)
which: no icedax in (/usr/local/sbin:/usr/local/bin:/usr/bin:/var/www/command:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl)
which: no cdda2wav in (/usr/local/sbin:/usr/local/bin:/usr/bin:/var/www/command:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl)
which: no libcdio in (/usr/local/sbin:/usr/local/bin:/usr/bin:/var/www/command:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl)
which: no pird in (/usr/local/sbin:/usr/local/bin:/usr/bin:/var/www/command:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl)
[ERROR] abcde: no cdreader found in your PATH
[ERROR] abcde: hints: are all dependencies installed? has the $PATH been modified?


I feel like these are solveable. I'll research more and try a few things and see what we get... Like I said - I'm new to this but I'm starting to get into it.
The instructions i got to work with volumio are here:
https://somewideopenspace.wordpress.com/yet-another-headless-cd-ripper-and-mpd-on-raspberry-pi-installation-guide-yahcdramorpig/rip-music-from-cd/
which takes us step by step from ripping to saving and auto ejecting.. Hopefully similar is possible with Rune.

Re: abcde? Other CD rippers?

PostPosted: 26 Jul 2015, 09:02
by mashman
Sorry about the late reply on this one.

I don't have a CD-Rom drive for my Rune but i think it is a grand idea. I installed abcde as you have and got the same error. It appears you haven't yet configured your /etc/abcde.conf file as described in the guide you linked to this....

Code: Select all
[root@runeaudio ~]#
mv /etc/abcde.conf /etc/abcde.conf.OLD
nano /etc/abcde.conf


Then copy and paste the stuff from that tutorial page..

Code: Select all
CDDBMETHOD=musicbrainz
CDDBPROTO=6
HELLOINFO="`whoami`@`hostname`"
NOSUBMIT=y
FLACENCODERSYNTAX=default
CDROMREADERSYNTAX=cdparanoia
PADTRACKS=y
INTERACTIVE=n
LAME=lame
FLAC=flac
ID3=id3
ID3V2=id3v2
CDPARANOIA=cdparanoia
EJECT=eject
METAFLAC=metaflac
CDSPEED=eject
LAMEOPTS='--preset extreme'
FLACOPTS="-f --best"
ACTIONS=cddb,read,encode,tag,move,clean
CDROM=/dev/sr0
OUTPUTDIR=/media/usb/cd-rip
WAVOUTPUTDIR=/tmp
OUTPUTTYPE=flac
OUTPUTFORMAT='${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM}.${TRACKFILE}'
VAOUTPUTFORMAT='Various/${ALBUMFILE}/${TRACKNUM}.${ARTISTFILE}-${TRACKFILE}'
ONETRACKOUTPUTFORMAT=$OUTPUTFORMAT
VAONETRACKOUTPUTFORMAT=$VAOUTPUTFORMAT
LOWDISK=n
PLAYLISTFORMAT='${ARTISTFILE}/${ALBUMFILE}.${OUTPUT}.m3u'
VAPLAYLISTFORMAT='${ARTISTFILE}/${ALBUMFILE}.${OUTPUT}.m3u'
EJECTCD=y


And save your nano file with Ctrl+x and Y

It looks like for this to work well you'll need some of the other dependancies.

Code: Select all
pacman -S cdparanoia cdrkit eject


It mentions perl-musicbrainz-discid perl-webservice-musicbrainz as well but we'll need another repo for them i believe. Save that for another day.

Then run abcde again and those errors should be gone.

That config file is where you may need to do more tweaking but that shouldn't be too hard. The CDROM support is something i can't really talk to. i'm even sure if it is included in the rune kernel.

I'll post again when i have a CDRom drive to test.

Please let us know how you go.

mm

Re: abcde? Other CD rippers?

PostPosted: 07 Aug 2015, 05:51
by justshell
Damn man thanks!!!
You are right - when i posted that I was totally lost in the weeds.

I changed the config file, and abcde seems to start, but (as you said) gives the following error:
Code: Select all
Can't locate MusicBrainz/DiscID.pm in @INC (you may need to install the MusicBrainz::DiscID module) (@INC contains: /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at /usr/bin/abcde-musicbrainz-tool line 18.
BEGIN failed--compilation aborted at /usr/bin/abcde-musicbrainz-tool line 18.
[ERROR] abcde: CD could not be read. Perhaps there's no CD in the drive?


well, there's a CD in the drive.

I installed DiscID with pacman.. no worky
I did a wget of the libdiscid and compiled it.. no worky
i tried manually downloading it and placing it in the folder via an SSH login with GUI (because i realize I'm shitty at the commandline) and no worky.

but i think I am missing the fact that whatever I do, i dont ever end up with the perl module "discId".... i followed another guide to install perl and even git (in hopes of trying another way to access what I need) but no bueno.

So i do still feel its there - its just beyond my grasp as of now. I'm gonna keep trying stuff and see if I can get there, but if you know what that error means that would be great. Is it telling me
@INC...
is looking in ALL those places? or just one? how the fk do i make a perl module? Ive tried the goog's and i just keep getting deeper in and losing sight.

thanks SO much for your help tho - just pointing out i didnt follow my own guide was helpful haha

i'll keep trying, but if you see where i boned it, lemme know.
thanks
-j

Re: abcde? Other CD rippers?

PostPosted: 08 Aug 2015, 14:44
by mashman
Hi Justshell,

Inspired by this post, i went out and bought myself a USB DVD drive. I've been actually working to get this to play the CD not Rip it but due to the way i want this to work, that is actually a little tricky.

Your abcde ripping shouldn't be that hard to get working. I now have it running but there are a few little hoops you'll have to jump. You being a noob at arch, I'll try and make it simple. However, bare in mind that i have have done a fair amount of hacking on my Rune setup already so we may need to collaborate a little to get this working for a stock Rune install. For example, there are many prerequistics that i may not have mentioned here because i've installed them for other tasks. Ultimately, it would be great to have this working well enough that we can pass onto the devs to include in upcoming betas.

First up, power. This may not be an issue for you, but it is for me and this USB drive. See this post.

The errors you are seeing are due to perl modules. I have installed them the hard way but it may be as simple as using CPAN. If this doesn't work, post your errors and i'll walk you through the long way round.

PLEASE NOTE. what i'm suggesting here is not official and may lead to baulking your system. Make a backup or be prepared to reflash because backtracking and downgrading will be more difficult. Dispite what you might read on forums, do not upgrade with Pacman -Su This will likely end in tears.

Please take notes so we can pass this onto other users with a simple howto guide in the github wiki docs. Read carefully the errors as there are often very simple clues to why it is not compiling.

First up, prep for building and making stuff.
Code: Select all
pacman -S binutils patch gcc make perl


Just to be sure, you've got all these installed,
Code: Select all
pacman -S abcde cdparanoia eject flac



install libdiscid
Code: Select all
pacman -S libdiscid


Now to updating the perl bits.
first run...
Code: Select all
cpan Module::Build

and get a cup of tea, it'll take a while.

then
Code: Select all
 
cpan Test::Pod


then
Code: Select all
cpan MusicBrainz::DiscID


then
Code: Select all
cpan WebService::MusicBrainz


Once again, this is a bit of a guess based on what i think you're set up is currently like. Next step is to post any errors you get and we'll troubleshoot from there.

Once abcde is up and running, we'll need to add either some automation or gui/web control so that we don't have to ssh everytime we want to rip a disk. Hopefully there is someone else out there that can help with the frontend stuff, scripting an auto rip will be simple.

i hope this helps.

mm

Re: abcde? Other CD rippers?

PostPosted: 13 Aug 2015, 07:06
by justshell
Dude. I wanna buy you a beer. Or 8.

Thanks so much - this is what I was missing - altho i don't 100% understand all the commands, I got a pretty good handle on it. The cpan was what i was missing.

I ran everything once and i got errors all over the place. Biggest one was related to MYMETA. I figured i f'd it up, so I just ran everything again. Didn't get the errors, everything went smoothly until the last-
Code: Select all
cpan WebService::MusicBrainz

which a) took forever and b) gave me the only errors i got this time, and then only at the end:

Code: Select all
Running Build for B/BF/BFAIST/WebService-MusicBrainz-0.93.tar.gz
Building WebService-MusicBrainz
  BFAIST/WebService-MusicBrainz-0.93.tar.gz
  ./Build -- OK
Running Build test
t/Artist.t ........ 45/?
#   Failed test 'artist artist-rels relation TYPE'
#   at t/Artist.t line 115.

#   Failed test 'artist artist-rels relation BEGIN'
#   at t/Artist.t line 117.

#   Failed test 'artist artist-rels relation artist PERSON'
#   at t/Artist.t line 121.
t/Artist.t ........ 72/?
#   Failed test 'artist track rels relation track TITLE'
#   at t/Artist.t line 193.
t/Artist.t ........ 102/?
#   Failed test 'artist counts release ASIN'
#   at t/Artist.t line 264.

#   Failed test 'artist counts release event list COUNT'
#   at t/Artist.t line 267.
URL (http://musicbrainz.org/ws/1/artist/65f4f0c5-ef9e-490c-aee3-909e7ae6b2ab?type=xml&inc=release-events+sa-Official) Request Failed - Code: 500 Error: Can't connect to musicbrainz.org:80
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 22 just after 112.
t/Artist.t ........ Dubious, test returned 22 (wstat 5632, 0x1600)
Failed 6/112 subtests
t/Label.t ......... ok   
t/Release.t ....... 1/? URL (http://musicbrainz.org/ws/1/release/?type=xml&title=Van+Halen) Request Failed - Code: 500 Error: Can't connect to musicbrainz.org:80
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 22 just after 3.
t/Release.t ....... Dubious, test returned 22 (wstat 5632, 0x1600)
All 3 subtests passed
t/ReleaseGroup.t .. ok   
t/Track.t ......... ok   

Test Summary Report
-------------------
t/Artist.t      (Wstat: 5632 Tests: 112 Failed: 6)
  Failed tests:  52, 54, 57, 80, 109, 112
  Non-zero exit status: 22
  Parse errors: No plan found in TAP output
t/Release.t     (Wstat: 5632 Tests: 3 Failed: 0)
  Non-zero exit status: 22
  Parse errors: No plan found in TAP output
Files=5, Tests=124, 54 wallclock secs ( 1.01 usr  0.04 sys + 23.96 cusr  0.62 csys = 25.63 CPU)
Result: FAIL
Failed 2/5 test programs. 6/124 subtests failed.
  BFAIST/WebService-MusicBrainz-0.93.tar.gz
  ./Build test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
  reports BFAIST/WebService-MusicBrainz-0.93.tar.gz


running abcde after this gives me the same error as before- so while i think Ive got the right elements, and they are compiled, somethin else is still NG. Also, i feel like its telling me whats wrong, and how to fix but i dont have the damnest clue how to solve....

I really appreciate your help - I'm sorry if Im a little helpless and clueless, but I learn much better with working examples than just trying a bunch of shit. in this case, the cpan was what i was lookin for - i tried a couple other things and fell down the rabbithole of wrong.

I agree - the scripting after this works will be easy - might just add a button to do it when i put in a disc. also yes i really think this would be a killer addition to an official build - Rune works great as a player, but it sucks that when I get a new CD to add in, I have to use something else to copy it.

Thanks again for your help!

Re: abcde? Other CD rippers?

PostPosted: 16 Aug 2015, 11:56
by mashman
Well, i've had another crack at this with a vanilla install and i can say it was not easy. The RuneOS(no fault of anyone) is a little behind the rest of arch so there are many dependencies that are difficult to get in line.

I think that this option should be included as a feature request and voted on as the support of such a feature may be more complex than it ought to be. Please submit one and link to this topic.

If anyone else has any imput on this one, please chime in. Here's a basic rundown of what i did to get abcde installed and working.

First up, the perl install facility, CPAN, is next to useless here. You'll need to build custom perl musicbrainz modules by yourself.
This is a pain because new versions of the arch makepkg no longer allow the --asroot option so you'll need to make a user for compiling.

The other thing that i'm not entirely sure about is 2 issues that i came accross with an html parser.so and a xml parser.so. If One of the devs could comment here, that would be great because i feel it's a bit much to ask of other forums about this custom arch build. It got me really confused!

As is the nature of Arch linux, any instructions here are likely dated, things around here change a lot.

Here goes.

As Root: #
Code: Select all
pacman -S libxml-perl libproxy perl-xml-parser perl-html-parser libdiscid abcde cdparanoia eject flac libdiscid musicbrainz


I found that i had to update pacman and systemd but you'll also need all those make apps as well. This is treacherous because there may be some RuneOS things counting on it.

Code: Select all
pacman -S pacman systemd binutils patch gcc make perl


Because --asroot no longer works, you'll have to create a user.

jon = the name you want to use.
Code: Select all
useradd -g users -G optical,wheel,audio,storage,mpd -s /bin/bash -m jon


login as jon and set a password
Code: Select all
su jon
cd
gpasswd


Now to build the perl bits. Since installing abcde for myself and writing this, the AUR repos changed the way packages are managed so there were some casulties with some of the unmaintained packages. This is a real pain but there is a backup. My wgets point there but this may not be around for ever so take a copy for yourself. It should be here, but the mirror had the actual PKGBUILD needed. I lost a day to this weirdness.

As Jon $
perl-musicbrainz-discid
Code: Select all
mkdir perl-musicbrainz-discid
cd perl-musicbrainz-discid
wget http://pkgbuild.com/git/aur-mirror.git/plain/perl-musicbrainz-discid/PKGBUILD
wget http://pkgbuild.com/git/aur-mirror.git/plain/perl-musicbrainz-discid/new-musicbrainz-urls.patch
wget http://pkgbuild.com/git/aur-mirror.git/plain/perl-musicbrainz-discid/pod-encoding.patch

Before we build, we need to change the architecture.
Code: Select all
nano PKGBUILD


Change where is says
Code: Select all
arch=('i686' 'x86_64')

to
Code: Select all
arch=('armv6h')

and save the file.

then run
Code: Select all
makepkg -sri

It'll ask for a root password to install. Do it.

The next is very similar

Code: Select all
cd
mkdir perl-webservice-musicbrainz
cd perl-webservice-musicbrainz
wget http://pkgbuild.com/git/aur-mirror.git/plain/perl-webservice-musicbrainz/PKGBUILD

Before we build, we need to change the architecture.
Code: Select all
nano PKGBUILD

Change where is says
Code: Select all
arch=('i686' 'x86_64')

to
Code: Select all
arch=('armv6h')

and save the file.

then run
Code: Select all
makepkg -sri

It'll ask for a root password to install. Do it.

If that all went well, you should be able to run abcde.
but...

Now here's for the weird bit.
I kept getting this error around /usr/lib/perl5/site_perl/auto/XML/LibXML/LibXML.so and /usr/lib/perl5/site_perl/auto/HTML/Parser/Parser.so
I forget the errors now but i had to brute force them because pacman -Qo /usr/lib/perl5/site_perl/auto/HTML/Parser/Parser.so gave me no clues.

Here's what I did. I wish it was neater but this is all i could get to work.
@ACX or @hondagx35 have any opinions here?

Kill problematic files as root. #
Code: Select all
su


Code: Select all
rm /usr/lib/perl5/site_perl/auto/HTML/Parser/Parser.so
rm /usr/lib/perl5/site_perl/auto/XML/LibXML/LibXML.so


Link them from where they exist elsewhere as root.
Code: Select all
ln -S /usr/lib/perl5/site_perl/auto/HTML/Parser/Parser.so /usr/lib/perl5/vendor_perl/auto/HTML/Parser/Parser.so
ln -S /usr/lib/perl5/site_perl/auto/XML/LibXML/LibXML.so /usr/lib/perl5/vendor_perl/auto/XML/LibXML/LibXML.so


This may be unrelated but i also found that i needed to reinstall openssl.
Code: Select all
pacman -S openssl


Try that. If it doesn't work, i may have missed a step. Just let me know.

Fingers crossed.

mm







BONUS.

mkcue is required to have cue files made with abcde. adding in your ACTION list, cue will envoke a dependancy.
The problem is that the package is nowhere to be found!
Except here

as jon $
Code: Select all
cd
mkdir mkcue
cd mkcue
wget https://raw.githubusercontent.com/boronology/pkgbuild_mkcue/master/PKGBUILD

Before we build, we need to change the architecture.
Code: Select all
nano PKGBUILD

Change where is says
Code: Select all
arch=('i686' 'x86_64')

to
Code: Select all
arch=('armv6h')

and save the file.

then run
Code: Select all
makepkg -sri

It'll ask for a root password to install. Do it.

Re: abcde? Other CD rippers?

PostPosted: 16 Aug 2015, 14:26
by hondagx35
Hi mashman and justshell,

i also love the idea to be able to rip cds with RuneAudio and it's definitive one of the next things i'll work on.

The RuneOS(no fault of anyone) is a little behind the rest of arch so there are many dependencies that are difficult to get in line.

You are working on a raspberry pi (RP not RP2) right?
The newer devices like RP2, ODROID C1 use a more mature Arch Linux base.

So please consider this and always make a note about the platform you are working on.
For example here:
Change where is says
Code: Select all
arch=('i686' 'x86_64')

to
Code: Select all
arch=('armv6h')

and save the file.

Better would be:
Change where is says
Code: Select all
arch=('i686' 'x86_64')

to
Code: Select all
arch=('i686' 'x86_64' 'armv6h' 'armv7h')

and save the file.

Here's what I did. I wish it was neater but this is all i could get to work.
@ACX or @hondagx35 have any opinions here?

I'll take a look at this later.

So please keep on trying and if you need help please ask.

I'll try to setup abcd for the arm7 devices next week.

Frank

Re: abcde? Other CD rippers?

PostPosted: 16 Aug 2015, 14:54
by mashman
You're Right Frank.

Better would be:
Code: Select all

    arch=('i686' 'x86_64' 'armv6h' 'armv7h')



... i just got the feeling no one else was listening :?