User:HotshotGG: Difference between revisions

From Hydrogenaudio Knowledgebase
m (→‎Systems Administration: More good books for tech nerds. Only thing not audio related I take a break from music once and while... ;-D.)
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
= About Me =
= About Me =
===Personal life===  
===Personal life===  
I live 4 miles north of Boston, Massachusetts I am 23 year old male.
I live 4 miles north of Boston, Massachusetts I am 29 year old male.


I am a college student working for a non-profit organization in their IT department. I am the process of going back to school to get my education and obtaining a B.S in Information Technology (sub-concentration in Legal Studies). One of my goals is obtain a Graduate Certification in Network Security and even possible teach distant education courses with a Master of Education someday. My focus right now is mostly on  [http://en.wikiversity.org/wiki/Technical_writing Technical
I was a college student working for a non-profit organization in their IT department. I obtained a B.S in Information Technology (sub-concentration in Political Science/Government). One of my goals is obtain a Graduate Certification in Network Security or Systems Models and Management and complete Masters degree program, someday.  
Writing]/Communications, Web Development, and most of the time System Administration related tasks. My other area of interest as a hobby is in Sound Recording and Audio Engineering. I hang out HA learning something new and spreading knowledge. I also enjoy help maintaining the wiki, whenever I have spare time. I like discussing technology, current events, politics, philosophy, music or anything in general and enjoy playing my Yamaha synthesizer in my sparetime as a hobby with my Ableton Live 7 setup. Private Message me if you ever have any questions about how do anything related. Additionally I know how to code at a beginner level in C++, Perl, and an intermediate level in C, BASH, and PHP. In the future I will be taking more classes in Shell Scripting, Perl, More C, and Java before I finish my degree.  
My other area of interest as a hobby is in Sound Recording and Audio Engineering. I hang out HA learning something new and spreading knowledge. I also enjoy help maintaining the wiki, whenever I have spare time. I like discussing technology, current events, politics, philosophy, music or anything in general and enjoy playing my Yamaha synthesizer in my spare time as a hobby with my Ableton Live 7 setup. Private Message me if you ever have any questions about how do anything related. Additionally, I know how to code at a beginner level in C++, Perl, and an intermediate level in C, BASH, and PHP. I have also taken courses, in Shell Scripting, Perl, More C, and Java when obtaining my degree.  


'''Notes: I have nothing to do with the League of Legends Player HotshotGG nor am I affiliated with any gaming community on the web ;-D'''
'''Notes: I have nothing to do with the League of Legends Player HotshotGG nor am I affiliated with any gaming community on the web ;-D'''
Line 11: Line 11:
Markup Languages: HTML 5.0/XML, CSS3, Javascript, JQuery <br>
Markup Languages: HTML 5.0/XML, CSS3, Javascript, JQuery <br>
Programming Languages: C/C++, Java. <br>
Programming Languages: C/C++, Java. <br>
Scripting Language: BASH/KSH, Perl, PHP 5/MySQL <br>  
Scripting Language: BASH/KSH, Perl, PHP 5, PowerShell/MySQL <br>  
Operating Systems: Windows, UNIX (Linux) <br>
Operating Systems: Windows, UNIX (Linux) <br>
Software Development (Windows): Microsoft Word 2007, OpenOffice.org 3, Adobe Framemaker 8.0, Adobe Fireworks, Adobe Dreamweaver CS4, Putty, Doxygen 2.0. <br>
Software Development (Windows): Microsoft Word 2007, Microsoft Office, Adobe Framemaker (older), Adobe Fireworks, Adobe Dreamweaver, Putty, Doxygen 2.0. <br>
Software Development (Linux): Gedit, Quanta Plus, Eclipse, OpenOffice.org 3, Emacs, Vim, Doxygen 2.0.  
Software Development (Linux): Gedit, Eclipse, LibreOffice, Emacs, Vim, Doxygen.  


Note: I am not familiar with the Mac OS/X operating system, nor do I have any experience reading or working with the object-oriented programming language of C#.
Note: I am not familiar with the Mac OS/X operating system, nor do I have any experience reading or working with the object-oriented programming language of C#.
Line 24: Line 24:
'''Websites:'''  
'''Websites:'''  
* [http://bash.cyberciti.biz/guide/Main_Page Bash Shell] Vivek Gite GNU / Linux tutorial that shows you have to write simple/complex BASH shell scripts. (beginner/intermediate)
* [http://bash.cyberciti.biz/guide/Main_Page Bash Shell] Vivek Gite GNU / Linux tutorial that shows you have to write simple/complex BASH shell scripts. (beginner/intermediate)
* [http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch14_:_Linux_Firewalls_Using_iptables iptables] Shows you how to build a simple firewall in Linux using iptable filters (beginner/intermediate/advanced)
* [https://help.ubuntu.com/community/SettingUpSamba Samba] setting up Samba on Ubuntu so you can file and print share with Windows (beginner)
* [https://help.ubuntu.com/community/SettingUpSamba Samba] setting up Samba on Ubuntu so you can file and print share with Windows (beginner)
* [http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html#INTRODUCTION TCP/IP stacks] a primer on how the TCP/IP Network stack works (advanced)
 
'''Books:'''
'''Books:'''


'''System Administration:'''  
'''System Administration:'''  
*  
* Nemeth, Evi. etc al. [http://www.informit.com/store/product.aspx?isbn=9780131480056 Unix and Linux System Administration Handbook, 4th Edition] New York. Prentice Hall. 2010. ISBN-13: 9780131480056 (undergraduate/hobbyist)(beginner/intermediate).
'''Network Security:'''  
'''Network Security:'''  
* Wang, Jie. Computer Network Security: Theory and Practice. Berlin. Springer. 2009 ISBN-13: 9783540796978 (graduate)(intermediate/advanced) (Professor and chair of Computer Science department at the University I attend).
* Wang, Jie. Computer Network Security: Theory and Practice. Berlin. Springer. 2009 ISBN-13: 9783540796978 (graduate)(intermediate/advanced) (Professor and chair of Computer Science department at the University I attend).
Line 61: Line 60:
* [http://www.indeed.com/jobs?q=technical+writer&l= Technical Writing jobs] technical writing jobs search provided by indeed.com.
* [http://www.indeed.com/jobs?q=technical+writer&l= Technical Writing jobs] technical writing jobs search provided by indeed.com.


== Hardware/Software ==
== Audio Hardware/Software ==
'''My hardware specs and the corresponding audio software I use'''
'''My hardware specs and the corresponding audio software I use'''


Notes: Hardware and Software that run under Linux:  
Notes: Hardware and Software that run under Linux:  


* AMD 64 Dual Core Processor 4600+ (Perfect for x86_64 distros of Linux)
* Dell Intel i7 eight-core desktop (Perfect for various x86_64 distros of Linux)
* Nvidia GeForce 256MB video card (Proprietary Drivers available for Linux)
* Nvidia GeForce video card (Proprietary Drivers available for Linux)
* M-Audio Revolution 5.1 PCI soundcard (ALSA Drivers available for Via Envy 24 chipset under Linux)
* ASUS Xonar DSX 7.1 PciE soundcard (ALSA Drivers available via CMedia chipset under Linux)
* Sennheiser PCX250 noise-cancelling (closed-cans)  
* Sennheiser (closed-cans) headphones
* Klipsch Pro Media 2.1 speakers with discrete subwoofer  
* Klipsch Pro Media 2.1 speakers with discrete subwoofer  
* Dual-boot Windows XP Media Center / Ubuntu 10.04 (Lucid Lynx)
* Dual-boot Windows 10 Pro / Fedora desktop
* Windows:  
* Windows:  
** [http://cdexos.sourceforge.net/ Cdex 1.70] with cdparanoia libraries for ripping.
** fB2K for listening
** fB2K v0.9.6 for listening
** [http://www.burrrn.net/?page_id=4 Burrrn!] for cd writing
** [http://www.burrrn.net/?page_id=4 Burrrn!] for cd writing
** Azureus/blogs for downloading  
** Azureus/blogs for downloading  
* Linux:  
* Linux:
** [http://code.google.com/p/rubyripper/ Rubyripper] with cdparanoia 10.2 libraries for ripping (Some older distros prior to Ubuntu 9.04 still use the old 9.8 packages from 2001 and need to be updated. Download the new 10.3 libraries from the page @ http://www.xiph.org/paranoia)
** [http://code.google.com/p/rubyripper/ Rubyripper] with cdparanoia 10.2 libraries for ripping.  
** [http://amarok.kde.org/ Amarok]/Rythmbox for listening (Rythmbox comes packaged with Ubuntu 8.10 and up GTK+ interface. Amarok must be installed separately)  
** Clementine for listening (alternate Qt4 based media player)
** k3B for cd writing (Must be installed via Synaptic Package Manager NOT included in Ubuntu. It has a KDE interface)  
** Brasero for cd writing (the default CD burner for the GTK)
** Transmission/blogs for downloading (The default Bittorrent client for Ubuntu GTK+ interface)
** Transmission/blogs for downloading (The default Bittorrent client for GTK)
** [http://code.google.com/p/ps3mediaserver/ PS3 Media Server] written by Shag3rath is a cross-platform DLNA Media Server for UPNP PS3 consoles (written in Java) platforms supported (Win32, Mac OS/X, Linux x86/64)
* Portable Devices:  
* Portable Devices:  
** Cowon o2 PMP 16 GB with SDHC Reader (One of only two players outside Rockbox firmware that can be used as USB mass external storage device under Linux)
** older Cowon o2 PMP 16 GB with SDHC Reader (One of only two players outside Rockbox firmware that can be used as USB mass external storage device under Linux)
** Second-Generation Playstation 3. (The new 3rd slim models do not allow you install a second operating system like Yellow Dog Linux anymore)
** first generation PlayStation 4, with Spotify premium
* My encoding habits:  
* My audio encoding habits:  
** Vorbis 1.1.3 libraries -q 8 for HD storage and Playstation 3 media transcoding
** Vorbis 1.1.3 libraries -q 9 for storing music on my Android devices, microSD card (occasionally)
** FLAC 1.1.3 -C 3/6 level for archiving my CD's
** FLAC 1.3.1 -C 5 level for archiving my CD's, on my drives
** Lame MP3 3.98 -V 0 for compatibility
** Lame MP3 3.99 320 kbps CBR files for older compatibility


== Linux Media Tutorials & My Shell Scripts ==
== Linux Media Tutorials & My Shell Scripts ==


===Building and Configuring Google's WebM encoder with libvorbis for Any Linux distro===
===Building and Configuring Google's WebM encoder with libvorbis for Any Linux distro on 64-bit architectures===


There are not many tutorials out that show you how to build and configure WebM in FFMPEG 0.6 for Linux (at least that are accessible to anyone other then nerds) so I figured I would write a tutorial on how to do it from scratch so that any nerds/hobbyists using Linux can start encoding with the first active working encoder 0.9.1 that was just released on 17 Jun, 2010. Here are some steps you can take to build the encoder and start playing around with WebM.
There are not many tutorials out that show you how to build and configure WebM in FFMPEG 0.6 for Linux so I figured I would write a tutorial on how to do it from scratch so that any hobbyists using Linux can start encoding with the faster actively working encoder "Bali" on the order of about 10-20% that was released on 4 Mar, 2011. Here are some steps you can take to build the encoder and start playing around with WebM.


'''Building WebM standalone''':
'''Building WebM standalone''':


1. Download WebM from the repositories at Google Code (bz2 archive)
1. Download WebM from the repositories at Google Code (bz2 archive)
libvpx-0.9.1.tar.bz2 - webm - libvpx 0.9.1 repository snapshot - Project Hosting on Google Code
libvpx-0.9.6.tar.bz2 - webm - libvpx 0.9.6 repository snapshot - Project Hosting on Google Code


2. Unzip the archive to a temporary folder or your desktop using the package manager or the terminal
2. Unzip the archive to a temporary folder or your desktop using the package manager or the terminal


<code>$tar xvf libvpx-0.9.1.tar.bz2</code>
<code>$tar xvf libvpx-0.9.6.tar.bz2</code>


3. Navigate to the source directory or wherever you unzipped the bz2 archive to <code>$cd /home/USER/libvpx-0.9.1.tar.bz2</code> for example
3. Navigate to the source directory or wherever you unzipped the bz2 archive to <code>$cd /home/USER/libvpx-0.9.6.tar.bz2</code> for example


4. Once you are in the directory you then type <code>$./configure</code> this will begin configuring the libvpx 0.9.1 for building the source code, which is written in C programming language.
4. Once you are in the directory you then type <code>$./configure</code> this will begin configuring the libvpx 0.9.6 for building the source code, which is written in C programming language.


5. Once libvpx 0.9.1 has been configured and tested on your machine either i386 or 86_64 ELF build for 32-bit or 64-bit Linux machines you can then begin compiling the source code. If there were problems scroll up to see if you can diagnose what the problem is i.e if you are missing dependencies it should tell you what's needed.
5. Once libvpx 0.9.6 has been configured and tested on your machine 86_64 ELF build for 64-bit Linux machines you can then begin compiling the source code. If there were problems scroll up to see if you can diagnose what the problem is i.e if you are missing dependencies it should tell you what's needed.


6. To compile the source code you need to make sure you have root permission. If you do not contact the person who is charge of your system and ask them for the root privileges if you know the password type <code>$sudo make install</code>. This will begin compiling the WebM encoder.
6. To compile the source code you need to make sure you have root permission. If you do not contact the person who is charge of your system and ask them for the root privileges if you know the password type <code>$sudo make install</code>. This will begin compiling the WebM encoder.


7. If there were NO compile time errors WebM should be installed on your system. Open a terminal and type <code>$ivfenc -help</code> to run the encoder. If it's not there you may need export your $PATH variable to include the search path for wherever the binary is located on your system.
7. If there were NO compile time errors WebM should be installed on your system. Open a terminal and type <code>$vpxenc -help</code> to run the encoder. If it's not there you may need export your $PATH variable to include the search path for wherever the binary is located on your system.


8. Now that you have have successfully installed WebM on your system you can now enable it in FFMPEG 0.6 optionally if you would like. Proceed to the next section.
8. Now that you have have successfully installed WebM on your system you can now enable it in FFMPEG 0.6 optionally if you would like. Proceed to the next section.
Line 120: Line 117:
'''Enabling WebM in FFMPEG 0.6''':
'''Enabling WebM in FFMPEG 0.6''':


1. Assuming you have libvpx 0.9.1 installed on your system and you followed the above steps you can now download the FFMPEG 0.6 source. Follow the same steps above to download the source code to FFMPEG 0.6 (tar archive) unzip it to a temporary directory or your desktop.
1. Assuming you have libvpx 0.9.6 installed on your system and you followed the above steps you can now download the FFMPEG 0.6 source. Follow the same steps above to download the source code to FFMPEG 0.6 (tar archive) unzip it to a temporary directory or your desktop.


2. Navigate to <code>$cd /home/USER/ffmpeg-0.6</code> directory or wherever you placed the folder.
2. Navigate to <code>$cd /home/USER/ffmpeg-0.6</code> directory or wherever you placed the folder.
Line 126: Line 123:
3. Once you are in the directory you need to configure FFMPEG 0.6. This is the tricky part. You need to have YASM installed. Do a search for this in your package manager and install it before you begin to configure FFMPEG (Note: This package is needed to do some complicated assembly linkage in the program before it's built).
3. Once you are in the directory you need to configure FFMPEG 0.6. This is the tricky part. You need to have YASM installed. Do a search for this in your package manager and install it before you begin to configure FFMPEG (Note: This package is needed to do some complicated assembly linkage in the program before it's built).


4. Once YASM have been installed begin configuring FFMPEG for WebM support <code>$./configure --enable-libvorbis --enable-libvpx --enable-pthreads </code> . (Note: The last part is necessary for 64-bit Linux distros that have multi-threading instruction sets. If you don't enable it you will get an compile time error!).
4. Once YASM have been installed begin configuring FFMPEG 0.6 for WebM support <code>$./configure --enable-libvorbis --enable-libvpx --enable-pthreads </code> . (Note: The last part is necessary for some 64-bit Linux distros that have multi-threading instruction sets. Sometimes you need to optionally enable it on certain architectures or you will get a compile time error!).


5. Once the configuration has been complicated and there were no errors you can then start to build FFMPEG 0.6 with WebM support. Almost every media program in the known universe uses FFMPEG including VLC. Even if you don't use it you can take advantage of it in the future!. Type
5. Once the configuration has been completed and there were no errors you can then start to build FFMPEG 0.6 with WebM support. Almost every media program in the known universe uses FFMPEG including VLC. Even if you don't use it you can take advantage of it in the future!. Type
<code>$sudo make install.</code> This will enable VP8 / Vorbis libraries and build them into FFMPEG 0.6.
<code>$sudo make install.</code> This will enable VP8 / Vorbis libraries and build them into FFMPEG 0.6.


6. You are finished! You can now begin encoding with WebM encoder! If you need to know to how encode with WebM I highly recommend you go to Google WebM website and look for "encoding parameters" in the documentation.
6. You are finished! You can now begin encoding with WebM encoder! If you need to know to how encode with WebM I highly recommend you go to Google WebM website and look for "encoding parameters" in the documentation or reading the FFMPEG 0.6 documentation to see how FFMPEG 0.6 maps presets to WebM.  


Please feel free to contact me if there is a problem. Take care and happy hacking!
Please feel free to contact me if there is a problem via the forums or a private message. Take care and happy hacking!


===Shell Script to decode FLAC files and transcode them on the fly===
===Shell Script to decode FLAC files and transcode them on the fly===
Line 141: Line 138:
== Websites ==  
== Websites ==  
''' Audio Websites: '''  
''' Audio Websites: '''  
* [http://dir.xiph.org/index.php Icecast Streaming] links to open-source streaming stations on the net (MP3, HE-AAC, AAC, Vorbis streaming)
* [http://dir.xiph.org/index.php Icecast Streaming] links to open-source streaming stations on the net (MP3, HE-AAC, AAC, Vorbis streaming)  
* [http://www.1980s.fm/ 1980s.fm] a cool retro commercial site that brings you back to the 80's. (MP3, Vorbis streaming).
* [http://www.spotify.com/ Spotify] popular streaming media service available in certain countries. All tracks are -q 5 Vorbis files and -q 9 files for Premium users (Vorbis streaming)
* [http://www.pandora.com/people/gjg87 Pandora Account] my account on pandora radio (AAC streaming)
* [http://www.spotify.com/ Spotify] a new streaming media service available only in Europe. U.S and Canadian expansion soon to come! all tracks are -q 5 Vorbis files and -q 9 files for Premium users (Vorbis streaming)
* [http://www.amazon.com/MP3-Music-Download/b?ie=UTF8&node=163856011&tag=dogpile-20 Amazon MP3] commercial website with DRM free single track's and full albums encoded @ 256 CBR or Lame -V 0 presets. All Track's are either $0.89 or $0.99 cents each.   
* [http://www.amazon.com/MP3-Music-Download/b?ie=UTF8&node=163856011&tag=dogpile-20 Amazon MP3] commercial website with DRM free single track's and full albums encoded @ 256 CBR or Lame -V 0 presets. All Track's are either $0.89 or $0.99 cents each.   
* [http://www.apple.com/iTunes ITunes Music] popular ITunes music with DRM free track's and albums encoded at 128 kbps ITunes AAC encoder or "ITunes Plus" 256 kbps AAC. All track's are $0.99 cents each. (AAC streaming)
* [http://www.apple.com/iTunes ITunes Music] popular ITunes music with DRM free track's and albums encoded at 128 kbps ITunes AAC encoder or "ITunes Plus" 256 kbps AAC. All track's are $0.99 cents each. (AAC streaming)
Line 210: Line 205:
**** Neil Quigley
**** Neil Quigley
**** Paul Woolford   
**** Paul Woolford   
**** Claude VonStroke
**** Rodriguez Jr.
**** Stimming  
**** Stimming  
**** Kollektiv Turmstrasse
*** Breaks  
*** Breaks  
**** Meat Katie  
**** Meat Katie  
Line 222: Line 218:
**** Uberzone  
**** Uberzone  
**** Adam Freeland
**** Adam Freeland
*** Alternative/indie
*** Alternative/Indie
**** Oasis  
**** Oasis  
**** The Fray
**** The Fray
Line 229: Line 225:
**** Parachute  
**** Parachute  
**** TV On The Radio  
**** TV On The Radio  
**** The Spill Canvas
**** Neon Trees
**** Vampire Weekend  
**** Vampire Weekend  
**** Modest Mouse  
**** Modest Mouse  

Latest revision as of 00:27, 15 July 2016

About Me

Personal life

I live 4 miles north of Boston, Massachusetts I am 29 year old male.

I was a college student working for a non-profit organization in their IT department. I obtained a B.S in Information Technology (sub-concentration in Political Science/Government). One of my goals is obtain a Graduate Certification in Network Security or Systems Models and Management and complete Masters degree program, someday. My other area of interest as a hobby is in Sound Recording and Audio Engineering. I hang out HA learning something new and spreading knowledge. I also enjoy help maintaining the wiki, whenever I have spare time. I like discussing technology, current events, politics, philosophy, music or anything in general and enjoy playing my Yamaha synthesizer in my spare time as a hobby with my Ableton Live 7 setup. Private Message me if you ever have any questions about how do anything related. Additionally, I know how to code at a beginner level in C++, Perl, and an intermediate level in C, BASH, and PHP. I have also taken courses, in Shell Scripting, Perl, More C, and Java when obtaining my degree.

Notes: I have nothing to do with the League of Legends Player HotshotGG nor am I affiliated with any gaming community on the web ;-D

Technical Skills

Markup Languages: HTML 5.0/XML, CSS3, Javascript, JQuery
Programming Languages: C/C++, Java.
Scripting Language: BASH/KSH, Perl, PHP 5, PowerShell/MySQL
Operating Systems: Windows, UNIX (Linux)
Software Development (Windows): Microsoft Word 2007, Microsoft Office, Adobe Framemaker (older), Adobe Fireworks, Adobe Dreamweaver, Putty, Doxygen 2.0.
Software Development (Linux): Gedit, Eclipse, LibreOffice, Emacs, Vim, Doxygen.

Note: I am not familiar with the Mac OS/X operating system, nor do I have any experience reading or working with the object-oriented programming language of C#.

Systems Administration

Note: Adding books I have read and recommend based upon user experience level.

Websites:

  • Bash Shell Vivek Gite GNU / Linux tutorial that shows you have to write simple/complex BASH shell scripts. (beginner/intermediate)
  • Samba setting up Samba on Ubuntu so you can file and print share with Windows (beginner)

Books:

System Administration:

Network Security:

  • Wang, Jie. Computer Network Security: Theory and Practice. Berlin. Springer. 2009 ISBN-13: 9783540796978 (graduate)(intermediate/advanced) (Professor and chair of Computer Science department at the University I attend).
  • Stallings, Williams. Cryptography and Network Security 5th Edition. New York. Prentice Hall, 2011. ISBN-13: 9780136097044 (undergraduate)(beginner/intermediate)
  • Davis, Michael.Hacking Exposed: Malware and Rootkits. New York. McGraw Hill. 2009. ISBN-13: 9780071591188 (undergraduate/hobbyist)(beginner/intermediate)

Security Policy:

Web Development

Websites:

  • LAMP Server This tutorial shows you how to set up a LAMP server (Linux, Apache, MySQL, and PHP) under Ubuntu/Debian Linux (beginner)
  • Nettuts is one of the best PHP web developers portal that includes client and server side tutorials for creating websites. (HTML, CSS, Javascript, PHP/MySQL, Ruby on Rails) (beginner)
  • Sitepoint is another web developers portal that includes client and server side tutorials for creating websites. (HTML, CSS, Javascript, PHP/MySQL, Ruby on Rails, ASP.NET, JSP) (intermediate)
  • Ruby on Rails Documentation shows you how to code with Ruby on Rails. (intermediate)
  • JSP Documentation and tutorials that show you how code JavaServer pages with the open source J2EE 5 Glassfish server. (advanced)
  • PHP Manual the official website manual that shows you how to code with PHP/MySQL. (beginner/intermediate)
  • phpBB is the world's most popular open-source bulletin board (forum software) for your website. (PHP)
  • WordPress An open-source content management system and world's most popular open source blog software (PHP)
  • Drupal is free open-source content management software for your website or business (PHP)
  • JQuery is a javascript animation library that let's you write less code and do more including simplified AJAX routines. (beginner/intermediate/advanced)

Books:

Technical Writing

Audio Hardware/Software

My hardware specs and the corresponding audio software I use

Notes: Hardware and Software that run under Linux:

  • Dell Intel i7 eight-core desktop (Perfect for various x86_64 distros of Linux)
  • Nvidia GeForce video card (Proprietary Drivers available for Linux)
  • ASUS Xonar DSX 7.1 PciE soundcard (ALSA Drivers available via CMedia chipset under Linux)
  • Sennheiser (closed-cans) headphones
  • Klipsch Pro Media 2.1 speakers with discrete subwoofer
  • Dual-boot Windows 10 Pro / Fedora desktop
  • Windows:
    • fB2K for listening
    • Burrrn! for cd writing
    • Azureus/blogs for downloading
  • Linux:
    • Rubyripper with cdparanoia 10.2 libraries for ripping.
    • Clementine for listening (alternate Qt4 based media player)
    • Brasero for cd writing (the default CD burner for the GTK)
    • Transmission/blogs for downloading (The default Bittorrent client for GTK)
  • Portable Devices:
    • older Cowon o2 PMP 16 GB with SDHC Reader (One of only two players outside Rockbox firmware that can be used as USB mass external storage device under Linux)
    • first generation PlayStation 4, with Spotify premium
  • My audio encoding habits:
    • Vorbis 1.1.3 libraries -q 9 for storing music on my Android devices, microSD card (occasionally)
    • FLAC 1.3.1 -C 5 level for archiving my CD's, on my drives
    • Lame MP3 3.99 320 kbps CBR files for older compatibility

Linux Media Tutorials & My Shell Scripts

Building and Configuring Google's WebM encoder with libvorbis for Any Linux distro on 64-bit architectures

There are not many tutorials out that show you how to build and configure WebM in FFMPEG 0.6 for Linux so I figured I would write a tutorial on how to do it from scratch so that any hobbyists using Linux can start encoding with the faster actively working encoder "Bali" on the order of about 10-20% that was released on 4 Mar, 2011. Here are some steps you can take to build the encoder and start playing around with WebM.

Building WebM standalone:

1. Download WebM from the repositories at Google Code (bz2 archive) libvpx-0.9.6.tar.bz2 - webm - libvpx 0.9.6 repository snapshot - Project Hosting on Google Code

2. Unzip the archive to a temporary folder or your desktop using the package manager or the terminal

$tar xvf libvpx-0.9.6.tar.bz2

3. Navigate to the source directory or wherever you unzipped the bz2 archive to $cd /home/USER/libvpx-0.9.6.tar.bz2 for example

4. Once you are in the directory you then type $./configure this will begin configuring the libvpx 0.9.6 for building the source code, which is written in C programming language.

5. Once libvpx 0.9.6 has been configured and tested on your machine 86_64 ELF build for 64-bit Linux machines you can then begin compiling the source code. If there were problems scroll up to see if you can diagnose what the problem is i.e if you are missing dependencies it should tell you what's needed.

6. To compile the source code you need to make sure you have root permission. If you do not contact the person who is charge of your system and ask them for the root privileges if you know the password type $sudo make install. This will begin compiling the WebM encoder.

7. If there were NO compile time errors WebM should be installed on your system. Open a terminal and type $vpxenc -help to run the encoder. If it's not there you may need export your $PATH variable to include the search path for wherever the binary is located on your system.

8. Now that you have have successfully installed WebM on your system you can now enable it in FFMPEG 0.6 optionally if you would like. Proceed to the next section.

Enabling WebM in FFMPEG 0.6:

1. Assuming you have libvpx 0.9.6 installed on your system and you followed the above steps you can now download the FFMPEG 0.6 source. Follow the same steps above to download the source code to FFMPEG 0.6 (tar archive) unzip it to a temporary directory or your desktop.

2. Navigate to $cd /home/USER/ffmpeg-0.6 directory or wherever you placed the folder.

3. Once you are in the directory you need to configure FFMPEG 0.6. This is the tricky part. You need to have YASM installed. Do a search for this in your package manager and install it before you begin to configure FFMPEG (Note: This package is needed to do some complicated assembly linkage in the program before it's built).

4. Once YASM have been installed begin configuring FFMPEG 0.6 for WebM support $./configure --enable-libvorbis --enable-libvpx --enable-pthreads . (Note: The last part is necessary for some 64-bit Linux distros that have multi-threading instruction sets. Sometimes you need to optionally enable it on certain architectures or you will get a compile time error!).

5. Once the configuration has been completed and there were no errors you can then start to build FFMPEG 0.6 with WebM support. Almost every media program in the known universe uses FFMPEG including VLC. Even if you don't use it you can take advantage of it in the future!. Type $sudo make install. This will enable VP8 / Vorbis libraries and build them into FFMPEG 0.6.

6. You are finished! You can now begin encoding with WebM encoder! If you need to know to how encode with WebM I highly recommend you go to Google WebM website and look for "encoding parameters" in the documentation or reading the FFMPEG 0.6 documentation to see how FFMPEG 0.6 maps presets to WebM.

Please feel free to contact me if there is a problem via the forums or a private message. Take care and happy hacking!

Shell Script to decode FLAC files and transcode them on the fly

I am currently working on a shell script in Linux that will decode all FLAC files in your ${HOME} directory or a chosen path so that you can transcode them on the fly via the pipe. I will post a sample when I am finished with the script.

Websites

Audio Websites:

  • Icecast Streaming links to open-source streaming stations on the net (MP3, HE-AAC, AAC, Vorbis streaming)
  • Spotify popular streaming media service available in certain countries. All tracks are -q 5 Vorbis files and -q 9 files for Premium users (Vorbis streaming)
  • Amazon MP3 commercial website with DRM free single track's and full albums encoded @ 256 CBR or Lame -V 0 presets. All Track's are either $0.89 or $0.99 cents each.
  • ITunes Music popular ITunes music with DRM free track's and albums encoded at 128 kbps ITunes AAC encoder or "ITunes Plus" 256 kbps AAC. All track's are $0.99 cents each. (AAC streaming)
  • Musicbrainz Database essential for metadata and tagging your records

Lossless Audio Websites:

  • HD Dowloads a list of websites offering lossless audio downloads (pay or for free)
  • 7Digital a European digital music distribution website that offers lossless downloads occasionally (FLAC)

Musical Interests

My musical interests are:

  • Music
  • Classical
    • Use of classical music in diverse genres (indian and chinese classical)
    • Film Compositions/Scores (post contemporary and popular themes)
    • Pieces by famous classical composers of Classical Era and before (Bach, Tchaikovsky, etc).
  • Electronic
  • Ambient
    • IDM/Braindance
      • Squarpusher
      • Mu-Ziq
      • Venetian Snares
      • Mouse On Mars
    • Big Beat
      • FC Kahuna
      • The Chemical Brothers
      • The Crystal Method
      • Fatboy Slim
      • The Prodigy
      • The Propellerheads, etc.
    • Chiptunes
      • C64 SID
      • Amiga
      • Super NES
      • Sega Genesis
    • Netlabels
      • Kahvi Collective
      • 8-bit Peoples
    • Electroclash
      • Felix Da Housecat
      • Fischerspooner
      • The New Deal, etc
    • Electronic Dance Music
      • Full-on Psychedelic Trance/Goa Trance
        • Infected Mushroom
        • Astrix
        • Vibe Tribe
        • G.M.S
        • Ananda Shake
        • Sesto Sento
        • Visual Paradox
        • The Misted Muppet
        • Goa Gil, etc
        • Astral Projection
      • Progressive House
        • BT
        • Hybrid
        • Quivver
        • Way Out West
        • Hernan Cattaneo
        • Henry Saiz
      • Tech House
        • Sasha
        • James Zabiela
        • Neil Quigley
        • Paul Woolford
        • Rodriguez Jr.
        • Stimming
        • Kollektiv Turmstrasse
      • Breaks
        • Meat Katie
        • Plump DJ's
        • Dylan Rhymes
        • Koma and Bones
        • Elite Foce
        • Evil 9
        • Andy Page
        • Uberzone
        • Adam Freeland
      • Alternative/Indie
        • Oasis
        • The Fray
        • Jack's Mannequin
        • MGMT (Management)
        • Parachute
        • TV On The Radio
        • Neon Trees
        • Vampire Weekend
        • Modest Mouse
      • 80's rock/pop
        • Chicago
        • Hall and Oates
        • Huey Lewis and The News
        • Toto
        • Journey
        • Foreigner
        • Lionel Ritchie
        • Michael Jackson
        • Steve Winwood
      • 80's synth pop/new wave
        • Oingo Boingo
        • Tears For Fears
        • Spandau Ballet
      • 80's Soundtracks
    • funk
    • jazz
    • blues
    • hip hop, etc.

HA Questions

Questions that I will answer:

  • Ogg Vorbis technical questions (I am not a xiph zealot). I just like the project
  • Questions regarding other codecs like AAC, lossless, etc.
  • Thought provoking R&D questions, provide insight, or ask questions
  • Information pertaining to CD ripping and audio hardware (including sound cards)
  • Questions related computer music applications and software (sequencers, hardware, etc)
  • General/technial questions regarding Rubyripper (for Linux)
  • Music discussion forum related stuff or usage.
  • Other thought provoking topics (replaygain, dynamics range, mastering, etc)
  • Questions were I can help people.
  • Pokes at humorous topics.