{"id":74,"date":"2019-08-11T15:33:58","date_gmt":"2019-08-11T15:33:58","guid":{"rendered":"https:\/\/fletch.scot\/wp\/?p=74"},"modified":"2020-09-17T10:15:40","modified_gmt":"2020-09-17T10:15:40","slug":"preparing-mp3s-for-an-evoke-3-radio","status":"publish","type":"post","link":"https:\/\/fletch.scot\/wp\/?p=74","title":{"rendered":"Preparing MP3s for an Evoke 3 Radio"},"content":{"rendered":"<p>I use an Evoke 3 radio made by Pure to listen to music. It has a very good sound \u2014 at least to my cloth ears. One of its features is that it plays MP3s from an SD card. But its firmware is quite old-fashioned perhaps because of technical limitations. It displays the song information but can only understand ID3v1 tags. The world has moved on and ID3v2 tags are now the default for most devices. Also the Evoke displays all files even those which are hidden on computers by having a dot as the first character. This makes the display of the folders and songs messy.<\/p>\n<p>I used to deal with the tagging by using a very good application called kID3 to copy the ID3v2 tags to ID3v1 tags in its GUI. I have recently been reading &#8220;The Art of Unix Programming&#8221; by Eric Steven Raymond and it prompted me to write a script to do the tagging. I\u2019ve since seen that kID3 can be driven from a CLI so that may be a better way to do the tag copying.\u00a0<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" title=\"kid3-screenshot.png\" src=\"https:\/\/fletch.scot\/wp\/wp-content\/uploads\/2020\/09\/kid3-screenshot.png\" alt=\"Kid3 screenshot\" width=\"599\" height=\"457\" border=\"0\" \/><\/p>\n<p>I looked for command-line utilities to copy tags and couldn\u2019t find any. But the good folks in the Perl community provide a library called MP3::Tag which allows easy manipulation of MP3 tags \u2014 as long as you can write in the Perl language. The library is available on CPAN but I used the MacPorts version. Many moons ago I could write Perl in my sleep so I decided to dust off the necessary neurones and write a Perl script.\u00a0<\/p>\n<p>The Perl script &#8216;mp3-tag-convert.pl&#8217; is not new and exciting but may help as an example for whatever you want to do. The script looks at all the MP3 files in a folder and copies the ID3v2 tags to ID3v1 if they don\u2019t already exist. It will also copy\u00a0the ID3v1 tags to ID3v2 if they don\u2019t already exist.\u00a0<\/p>\n<p>For my purposes I needed some other scripts. I had already written a shell script \u2018tidy-mp3s\u2019 to tidy MP3 folders of extraneous files that MacOS leaves lying about for its own purposes but that show on the Evoke 3 cluttering up the display.<\/p>\n<p>I also needed a script to put it all together. \u2018mp3s-to-evoke.ksh&#8217;\u00a0is a script which tags the MP3s in the way that suits the Evoke 3 and then copies them to the Evoke 3.So when I decide to change the songs on the Evoke 3 (it only handles a 2GB disc) I can just call the script in each MP3 folder on my computer and it will get copied to the Evoke 3.<\/p>\n<p>\u00a0<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" title=\"Screen-Shot-2019-08-11-at-17.10.01.png\" src=\"https:\/\/fletch.scot\/wp\/wp-content\/uploads\/2020\/09\/Screen-Shot-2019-08-11-at-17.10.01.png\" alt=\"Screen Shot of Evoke script run\" width=\"599\" height=\"186\" border=\"0\" \/>The scripts are in this compressed file: <a href=\"http:\/\/fletch.scot\/code\/evoke-scripts.zip\">evoke-scripts.zip<\/a>.<\/p>\n<p>I use Korn shell (ksh) for scripts because that\u2019s what I grew up with. I think the scripts should run under Bash if that\u2019s what you prefer.<\/p>\n<p>So now my Evoke 3 screen is nice and clean.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" title=\"IMG_0733.jpg\" src=\"https:\/\/fletch.scot\/wp\/wp-content\/uploads\/2020\/09\/IMG_0733.jpg\" alt=\"Evoke 3 Running MP3s\" width=\"600\" height=\"450\" border=\"0\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I use an Evoke 3 radio made by Pure to listen to music. It has a very good sound \u2014 at least to my cloth ears. One of its features is that it plays MP3s from an SD card. But its firmware is quite old-fashioned perhaps because of technical limitations. It displays the song information &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/fletch.scot\/wp\/?p=74\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Preparing MP3s for an Evoke 3 Radio&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[47],"tags":[5],"class_list":["post-74","post","type-post","status-publish","format-standard","hentry","category-music","tag-programming"],"_links":{"self":[{"href":"https:\/\/fletch.scot\/wp\/index.php?rest_route=\/wp\/v2\/posts\/74","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fletch.scot\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fletch.scot\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fletch.scot\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fletch.scot\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=74"}],"version-history":[{"count":2,"href":"https:\/\/fletch.scot\/wp\/index.php?rest_route=\/wp\/v2\/posts\/74\/revisions"}],"predecessor-version":[{"id":194,"href":"https:\/\/fletch.scot\/wp\/index.php?rest_route=\/wp\/v2\/posts\/74\/revisions\/194"}],"wp:attachment":[{"href":"https:\/\/fletch.scot\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=74"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fletch.scot\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=74"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fletch.scot\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=74"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}