Instructables

Portable native MOD player based on Raspberry PI (plays MOD,S3M,IT,XM etc...). Uses BassPlay library.

Featured
Picture of Portable native MOD player based on Raspberry PI (plays MOD,S3M,IT,XM etc...). Uses BassPlay library.
portable_mod_player_0851.jpg
portable_mod_player_0852.jpg
portable_mod_player_0853.jpg
portable_mod_player_0854.jpg
portable_mod_player_0855.jpg
Description:

Raspberry-PI based native MOD player to play music modules MOD,S3M,IT,XM among others.
It uses command-line player based on bass-play libraries.

Short description of music modules:

Music modules originates from Amiga computers, later were transferred to another platforms.
The main principe is the file containing sound samples and patterns containing information of when and how particular sound should be played.
As there are players for Windows, Linux and other platforms nowadays, portable players can play just mp3 files which was my motivation to construct this player.

More resources regarding music modules:

http://en.wikipedia.org/wiki/Module_file
http://modarchive.org
ftp.modland.com

Motivation:

As long-time enthusiast of music modules, I've dreamed about native portable player.
Raspberry PI has allowed this.
It uses command-line player (running on default Raspbian) to be started/stopped by script.

Principe of the operation:

Buttons shorts pull-up resistors to change GPIO pins's state from 1 to 0.
Scripts checks GPIO's pins and executes particular action (play/stop/next/previous).

Used parts:

Raspberry Pi with default Raspbian.
Suitable casing (an old walkman in my case).
Buttons, possibly PCB and wires/connectors (depends on your design)
Micro-usb connector to power raspberry as designed.
4 10KOhm resistors

Necessary files:

These libraries are being used:

http://www.un4seen.com/stuff/bass24-linux-arm.zip
http://us.un4seen.com/files/bass24-linux.zip

Command-line player based on libraries above:

http://sourceforge.net/projects/almos666.u/files/bassplay-0.1.tar.gz/download

Default Raspbian from official website:

http://www.raspberrypi.org/downloads

Control scripts to control player above via buttons trough GPIO are included in this project.

Construction notes:

The software part is most tricky step of the project (I've made it as verbose as possible).
Wiring of pull-up resistors and buttons is simple on its own, I'd suggest to try first on bread board before soldering if you have a little soldering experience.

Final notes:

I've tried to make steps below as easy  to understand as possible.
If you'll get puzzled and/or have any questions/tips please let me know and I'll update this project.

Thanks:

MANY THANKS to Aleksander Mosingiewicz  for creating command-line player based on the bass-play libraries and figuring out the way to compile it on Raspberry. I wouldn't be able to finish the project without him.
Other thanks goes to Raspberry team for great piece of hardware and Un4seen Development for bassplay libraries.
I'd like to thank the guys at www.brmlab.cz and www.bytefest.org and www.praseparty.cz for encouraging me to publish this.
Last but not at least I'd like to thank my parents for supporting me.
 
Remove these adsRemove these ads by Signing Up
IugaM12 days ago

Made it work with omxplayer for all music files (the software that is):

https://github.com/iugamarian/bshplyr/tree/master

Thank you.

Mr.Holub (author)  IugaM11 days ago

It's nice to see that my project has been inspirative.

Can OMXplayer play MOD,S3M,IT,XM too? I cannot find this infromation.

It's good that it runs as service, too.

Do you plan to publish the final onstruction when it's done?

IugaM Mr.Holub8 days ago

I don't have .mod files, test yourself with bshplyr-no-gpio my new smaller script (it seems I don't need gpio fo myself, just happy with automated play)

To play .mod you can also install timidity++ and change playerbin to /usr/bin/timidity++

If I have more time or someone else does we can make conditionals to change playerbin according to filetype (github allows changes, remembering history).

My final construction is just a Raspberry Pi in a cardboard case, adapted for battery pack according to

http://www.daveakerman.com/?page_id=1294

with headphones and no buttons as GPIO's don't work for me for some unknown reason (they are always "0" ).

Edgar1 year ago
Good Job! :)
Went to my Blog post:
http://faz-voce-mesmo.blogspot.pt/2013/01/prusa-i3-mais-rhinonest-cera-de.html
yoyology1 year ago
Could you add some information in the initial step explaining what MOD is and why a portable player is desireable?
Mr.Holub (author)  yoyology1 year ago
Thank you for sharing your point of view.
I was driven by the logic that MOD enthusiast wouldn't need an explanation and people not knowing what MOD is wouldn't need MOD player.
I'll add a brief description with links to further resources.
Thanks again.