How to configure SoundJuicer mysterious mp3 encoding settings?

663

Solution 1

Unfortunately the version of sound-juicer that you are using suffers from a bug in gstreamer which means that the xing header is not written to mp3 files. Without this header most software will report incorrect track lengths and bitrates. It is possible to use vbrfix to fix the files you have ripped. As others have pointed out there is a work around for this bug in later versions of sound-juicer.

I'm currently working on a feature to allow users to change the encoding bitrate, this should be available in sound-juicer 3.18 which will be released in September. In the mean time you can follow progress on the bug which you linked to, or if you're feeling brave try compiling the wip/encoding-presets branch (Once the UI is done that will require GTK 3.12 which means Ubuntu 14.10 or later I think or you can try using jhbuild to build the necessary dependencies)

Solution 2

I'd give you my advices on K3b it's still by far the best tool in Ubuntu of its kind for me and if you configure it right. You can rip and choose bitrate (vbr) and encode your files to any .ogg,.mp3,.flacetc. And the choice is after you of course.

So, we need to install K3b:

sudo apt-get update && sudo apt-get upgrade

sudo apt-get install k3b

Now we'll need some additional packages to work with audio:

sudo apt-get install libk3b6-extracodecs

sudo apt-get install kde-config-cddb

And at last we'll need some more codecs to encode .mp3 and .flac:

sudo apt-get install lame

sudo apt-get install flac

Done. Now you'll get plenty enough options to rip (audio cd) with.

Share:
663

Related videos on Youtube

Miedena
Author by

Miedena

Updated on September 18, 2022

Comments

  • Miedena
    Miedena almost 2 years

    I was building my UDF as below: test_udf.java

    package test;
    
    import org.apache.commons.lang.StringUtils;
    import org.apache.hadoop.hive.ql.exec.UDF;
    import org.apache.hadoop.io.Text;
    
    public class Strip extends UDF{
      private Text result = new Text();
    
      public Text evaluate(Text str){
        if ( str == null){
          return null;
        }
    
        result.set(StringUtils.strip(str.toString()));
        return result;
      }
    
      public Text evaluate(Text str,String stripChars){
        if ( str == null){
          return null;
        }
    
        result.set(StringUtils.strip(str.toString(),stripChars));
        return result;
      }
    }
    
    

    pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>sdf.dennis.com</groupId>
      <artifactId>test_udf</artifactId>
      <version>1.0</version>
    
      <name>hive</name>
      <url>http://maven.apache.org</url>
    
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      </properties>
    
      <dependencies>
        <dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-exec</artifactId>
            <version>2.1.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>3.0.0</version>
        </dependency>
      </dependencies>
      <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>2.2</version>
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals>
                                <goal>shade</goal>
                            </goals>
                            <configuration>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
     </build>
    </project>
    

    I used command mvn clean package. Then a test_udf-1.0.jar was generated in target folder.

    However, I added the jar file into hive and create a temporary function, it showed:

    hive> add jar file:///home/dennis/java/target/test_udf-1.0.jar;
    Added [file:///home/dennis/java/target/test_udf-1.0.jar] to class path
    Added resources: [file:///home/dennis/java/target/test_udf-1.0.jar]
    hive> create temporary function test_s as 'test.strip';
    FAILED: Class test.strip not found
    FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.FunctionTask
    hive> create temporary function test_s as 'test.Strip';
    FAILED: Class test.Strip not found
    FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.FunctionTask
    

    I can't figure out what the mistake I made?

    unziped files:

    about_files                     groovyjarjarantlr            jodd                         module.properties                                     plugin.properties
    about.html                      groovyjarjarasm              junit                        mozilla                                               plugin.xml
    antlr                           groovyjarjarcommonscli       keytab.txt                   net                                                   properties.dtd
    assets                          hdfs-default.xml             krb5-template.conf           org                                                   PropertyList-1.0.dtd
    au                              hive-exec-log4j2.properties  krb5_udp-template.conf       org-apache-calcite-jdbc.properties                    schema
    ccache.txt                      hive-log4j2.properties       license                      org.apache.hadoop.application-classloader.properties  shaded
    codegen                         images                       LICENSE.txt                  org.codehaus.commons.compiler.properties              stylesheet.css
    com                             javaewah                     log4j2.component.properties  overview.html                                         templates
    common-version-info.properties  javax                        Log4j-config.xsd             overviewj.html                                        testpool.jocl
    core-default.xml                javolution                   Log4j-events.dtd             package.jdo                                           tez-container-log4j2.properties
    fr                              jersey                       Log4j-events.xsd             parquet                                               webapps
    google                          jetty-dir.css                Log4j-levels.xsd             parquet-logging.properties                            yarn-default.xml
    groovy                          jline                        META-INF                     parquet.thrift                                        yarn-version-info.properties
    
    • doug
      doug over 9 years
      Well s-j is basically crap & you should use anything else, abcde, rubyripper, asunder, even rhythmbox is superior. If you really want it to work a little better in 14.04 then go here, grab the 3.12 .deb for your arch & install with dpkg, gdebi or software-center. You will not be able to adjust any parameters as it's not supported, you'll get vbr that averages out to 150 Kbps or so. But at least it will show the proper bitrate & even possibly the correct duration - packages.ubuntu.com/eo/utopic/sound-juicer
    • neves
      neves over 9 years
      @doug: All linux rippers are crap. rubyripper isn't supported anymore and fail if I have accented chars in my Id3 metadata. abcde and asunder can't submit music to MusicBrainz or FreeDB. I have a big collection of CDs that which metadata isn't in the repositories.
    • doug
      doug over 9 years
      Well then if sound-juicer gives you what you want use it. As mentioned 3.12 will work a bit better. I just tested 3.14 in trusty, no real diff from 3.12 As far as adjusting encoding parameters it's not possible in sound-juicer. A closer look shows you'll get vbr 4 & that's that. If inclined file an upstream bug to enable the remedial options as seen in Rb or banshee
    • Driss NEJJAR
      Driss NEJJAR over 4 years
      Could you unzip your jar file and see if you can find all dependencies ? otherwise you will have to build it including your dependencies
    • Miedena
      Miedena over 4 years
      thanks, I'll unzip it to check.
    • Miedena
      Miedena over 4 years
      @DrissNejjar it seems there is no the test_udf.class I wrote. is it wrong with my pom.xml?
    • Driss NEJJAR
      Driss NEJJAR over 4 years
      the best way to create your jar, is to use java -jar ...
    • Miedena
      Miedena over 4 years
      But it needs to package all the relevant dependencies into the jar file.
    • Driss NEJJAR
      Driss NEJJAR over 4 years
      my bad, I gave you the wrong command: javac -cp "<dependencies>" test_udf.java and then jar -cvf test_udf-1.0.jar test You can have a look at this link: gethue.com/hadoop-tutorial-hive-udf-in-1-minute
    • Driss NEJJAR
      Driss NEJJAR over 4 years
  • neves
    neves over 9 years
    I've been using K3B, but it is very hard to edit the CD Metadata. I have a lot of Brazilian independent music, any a lot of them aren't in CDDB or in MusicBrainz. What I find, is usually incorrect. I want to be able to easily edit the metadata, AND to submit it back to a common repository. I can't do it with K3B.
  • Daniel Bişar
    Daniel Bişar over 3 years
    +1 works as expected