{"id":256053,"date":"2021-10-30T11:27:17","date_gmt":"2021-10-30T03:27:17","guid":{"rendered":"https:\/\/blog.zhenglei.net\/?p=256053"},"modified":"2021-11-04T09:26:51","modified_gmt":"2021-11-04T01:26:51","slug":"split-audio-image-file-under-debian","status":"publish","type":"post","link":"https:\/\/blog.zhenglei.net\/?p=256053","title":{"rendered":"Split Music Image in Debian"},"content":{"rendered":"\n<p>Share my script used to split music image file into indivdual track of wav or flac<\/p>\n\n\n\n<p class=\"has-large-font-size\"><strong>OS:  Debian\/ununtu <\/strong><\/p>\n\n\n\n<p class=\"has-large-font-size\"><strong>Install necessary tool:<\/strong><\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"has-medium-gray-color has-text-color has-medium-font-size\">sudo apt-get clean<\/p>\n\n\n\n<p class=\"has-medium-gray-color has-text-color has-medium-font-size\">sudo apt-get update<\/p>\n\n\n\n<p class=\"has-medium-gray-color has-text-color has-medium-font-size\">sudo apt-get install -y shntool dos2unix enca flac ffmpeg<\/p>\n<\/div><\/div>\n<\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<p class=\"has-large-font-size\">Convert<\/p>\n\n\n\n<h2 class=\"has-medium-font-size wp-block-heading\"> # output track in wav format<\/h2>\n\n\n\n<p class=\"has-medium-font-size\"> sudo split.sh CDImage.wav  wav<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong> # output track in flac format <\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\"> sudo split.sh CDImage.wav  flac<\/p>\n\n\n\n<p class=\"has-large-font-size\">Split.sh<\/p>\n\n\n\n<pre class=\"wp-block-code has-normal-font-size\"><code>#\/bin\/bash\n\nif &#091; $# -ne 2 ] &amp;&amp; &#091; $# -ne 1 ]\nthen\n\necho \"Usage:   sudo split.sh FILE &#091;DECODE]\"\necho \"Example: sudo split.sh CDImage wav\"\necho \"         sudo split.sh CDImage flac\"\necho \"         sudo split.sh CDImage.wav\"\necho \"         sudo split.sh CDImage.wav flac\"\necho \"         sudo split.sh CDImage\"\necho \"Note:\"\necho \"         The Input Audio File =   FILE.wav or FILE.flac or FILE.ape\"\necho \"         DECODE               =   wav or flac (Output Audio Format)\"\necho \"         The Input CUE File   =   FILE.cue\"\nexit\n\nfi\n\n\nBFILE=$1\n\nif &#091; -f ${BFILE} ];then\n  AUDIO_FILE=${BFILE}\n  EXT=${BFILE##*.}\n  case $EXT in\n    \"wav\"|\"WAV\")\n       FORMAT=\"wav\"\n       ;;\n    \"flac\"|\"FLAC\")\n       FORMAT=\"flac\"\n       ;;\n    \"ape\"|\"APE\")\n       FORMAT=\"ape\"\n       ;;\n    esac\nelse if &#091; -f $BFILE.wav ];then\n       AUDIO_FILE=$BFILE.wav\n       FORMAT=\"wav\"\n     else if &#091; -f $BFILE.flac ];then\n             AUDIO_FILE=$BFILE.flac\n             FORMAT=\"flac\"\n          else if &#091; -f $BFILE.ape ];then\n                 AUDIO_FILE=$BFILE.ape\n                 FORMAT=\"ape\"\n               else\n                 echo \"Not found audio file: $1.wav or $1.flac or $1.ape \"\n                 echo \"Exit\"\n                 exit\n               fi\n          fi  \n     fi\nfi\n\n\nif &#091; $# -ne 1 ];then\nDECODE=$2\nfi\n\nif &#091; \"A${DECODE}B\" = \"AB\" ];then\n  DECODE=\"wav\"\nfi\n\n\nif &#091; \"A${FORMAT}B\" = \"AB\" ];then\n  FORMAT=\"${DECODE}\"\nfi\n\nif &#091; \"A${DECODE}B\" = \"AapeB\" ];then\n  DECODE=\"wav\"\nfi\n\n\necho \"Audio  File   = ${AUDIO_FILE}\"\necho \"Input  Format = ${FORMAT} \" \necho \"Output Format = ${DECODE} \"\n\n\nif &#091; \"$FORMAT\" = \"ape\" ]\nthen\necho -e \"First, convert ape format to ${DECODE} format, waite a minute...\"\nDECODE_FILE=$BFILE.${DECODE}\n#avconv -i \"$AUDIO_FILE\" \"$DECODE_FILE\"\nffmpeg -i \"$AUDIO_FILE\" \"$DECODE_FILE\"\nAUDIO_FILE=$DECODE_FILE\nCONVERT=\"true\"\nFORMAT=\"${DECODE}\"\nfi\n\n\n#if &#091; ! \"$DECODE\" = \"$FORMAT\" ];then\n#echo -e \"First, convert ${FORMAT} format to ${DECODE} format, waite a \n#minute...\"\n#DECODE_FILE=$BFILE.${DECODE}\n#avconv -i \"$AUDIO_FILE\" \"$DECODE_FILE\"\n#ffmpeg -i \"$AUDIO_FILE\" \"$DECODE_FILE\"\n#AUDIO_FILE=$DECODE_FILE\n#CONVERT=\"true\"\n#fi\n\n\nCUE_FILE=$BFILE.cue\nCUE_FILE_LINUX=$BFILE-linux.cue\n\nif &#091; ! -f ${CUE_FILE} ];then\n  MY_DIR=\"`dirname ${BFILE}`\"\n  MY_NAME=\"`basename ${BFILE}`\"\n  MY_BASE=\"${MY_NAME%.*}\"\n  CUE_FILE=${MY_DIR}\/${MY_BASE}.cue\n  if &#091; ! -f ${CUE_FILE} ];then\n   echo \"unable to find cue file of:\"\n   echo \"  $BFILE.cue or ${CUE_FILE} \"\n   exit\n  fi\nfi\n\nCODE=\"`enca ${CUE_FILE} |grep \";\"|sed \"s\/.*; \/\/\"`\"\necho \"CODE=${CODE}\"\n\necho iconv -f \"${CODE}\" -t utf8 \"$CUE_FILE\" -o \"$CUE_FILE_LINUX\"\n\niconv -f \"${CODE}\" -t utf8 \"$CUE_FILE\" -o \"$CUE_FILE_LINUX\"\n\n\ndos2unix \"$CUE_FILE_LINUX\"\n\n\necho shntool split -t \"%n-%t\" -f \"$CUE_FILE_LINUX\" -o $DECODE \"$AUDIO_FILE\"\nshntool split -t \"%n-%t\" -f \"$CUE_FILE_LINUX\" -o $DECODE \"$AUDIO_FILE\"\n\n\nif &#091; \"$CONVERT\" = \"true\" ]\nthen\nif &#091; ! \"AB\" = \"A${DECODE_FILE}B\" ];then\n  if &#091; -f ${DECODE_FILE} ];then\n   echo -e \"Remove temporary flac file: $DECODE_FILE\"\n   rm -f \"$DECODE_FILE\"\n  fi\nfi\n\nfi\n<\/code><\/pre>\n\n\n\n<div class=\"wp-block-file\"><a href=\"http:\/\/blog.zhenglei.net\/wp-content\/uploads\/2021\/10\/split.zip\">split<\/a><a href=\"http:\/\/blog.zhenglei.net\/wp-content\/uploads\/2021\/10\/split.zip\" class=\"wp-block-file__button\" download>\u4e0b\u8f7d<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a href=\"http:\/\/blog.zhenglei.net\/wp-content\/uploads\/2021\/11\/wav2flac.zip\">wav2flac<\/a><a href=\"http:\/\/blog.zhenglei.net\/wp-content\/uploads\/2021\/11\/wav2flac.zip\" class=\"wp-block-file__button\" download>\u4e0b\u8f7d<\/a><\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Share my script used to split music imag &hellip; <a href=\"https:\/\/blog.zhenglei.net\/?p=256053\">\u7ee7\u7eed\u9605\u8bfb <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[395,108],"class_list":["post-256053","post","type-post","status-publish","format-standard","hentry","category-software-download","tag-cdimage","tag-music"],"_links":{"self":[{"href":"https:\/\/blog.zhenglei.net\/index.php?rest_route=\/wp\/v2\/posts\/256053","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.zhenglei.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.zhenglei.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.zhenglei.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.zhenglei.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=256053"}],"version-history":[{"count":11,"href":"https:\/\/blog.zhenglei.net\/index.php?rest_route=\/wp\/v2\/posts\/256053\/revisions"}],"predecessor-version":[{"id":256068,"href":"https:\/\/blog.zhenglei.net\/index.php?rest_route=\/wp\/v2\/posts\/256053\/revisions\/256068"}],"wp:attachment":[{"href":"https:\/\/blog.zhenglei.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=256053"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.zhenglei.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=256053"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.zhenglei.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=256053"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}