PlutoSpin- Putting a New Spin on Programming
Moodmaker

If you are looking for general Moodmaker information and screen shots click on the info page link: http://www.plutospin.com/moodmaker_info.html

Getting Started
When you first start Moodmaker it will find all your songs and give them a BPM of "0" which is used to represent an unknown BPM. To assign BPM numbers to your songs you can go to the "Library" option on the bottom tab bar and see your songs sorted by Title. You can then click on the "0" next to each song and enter your own number from 50 to 200. You can enter BPM information at your own pace; Moodmaker will save your entries as you go so there is no need to enter all BPM data at once and you can always change the data at your convenience. You can also sort by BPM number by going back to the "Home" option and changing "Sort Type" to "BPM" and returning to the "Library" option. This is useful for finding just the songs with remaining "0" values. To quicken the process and also provide a save data feature, desktop helper programs for finding and entering BPM data which sync with Moodmaker are available for download below.

Selecting and Playing Songs based on BPM
Press the "Select" button and choose a base BPM from between 50 to 200 either by sliding the slider or entering a value in the text box next to it. Change the amount of songs found (listed on the top) by sliding the "+/- allow" slider or changing its value in the text box next to it. The songs found is the number of songs within the base BPM plus or minus the allow number. You can see the songs found by clicking the "Found" button. You change the sorting of the songs by changing the sort method from random(shuffle), alphabetically by Title, or by BPM from low to high. You can always change your settings on the fly and they should take effect within a few seconds. You can control the playing of the individual songs using the standard play/pause/ff/rr buttons. The slider beneath them is the volume setting.


Using MoodmakerSync Program
MoodmakerSync works with the iPhone Moodmaker App through your home LAN WiFi. It will not work through the USB connection. Note that the LITE version of Moodmaker only allows downloading of BPM data from the iPhone. Get the install files from the links below:
Windows (XP-SP2 or newer) Version:
MoodmakerSync.msi      (MoodmakerSync should install into the Start menu and also make an icon on the desktop).
Mac OS X (Leopard or newer) Version:
MoodmakerSync.dmg     (Upon opening the dmg, copy by dragging the MoodmakerSync icon to any location on your hard drive you want it to live in; desktop will work. Execute by clicking on the icon.)

When you first start MoodmakerSync your computer might prompt you with warnings concerning opening up port 4950 for communication. You will need to allow MoodmakerSync to use port 4950 for TCP/UDP to allow it to sync to your iPhone. From the top menu goto "Sync"->"From iTunes" to cause MoodmakerSync to search your iTunes library for song and BPM information. The list of found songs should show up shortly. Since these songs were found in iTunes, the iTunes column will show "true" for these songs. If you already had BPM information in iTunes those should also show up. Double click on the BPM field to change BPM values. When you press "Sync" in Moodmaker on the iPhone it will sync up with MoodmakerSync; if you run into problems we recommend you read the FAQ-"I can't get it to connect" below for suggestions. After the "Sync" is done any BPM values you had on either the iPhone or MoodmakerSync should be on both devices. The priority given to BPM values is as follows:
1) A BPM value changed on the iPhone by you gets the highest priority. It will wipe out any value set in MoodmakerSync or found from iTunes. After the "Sync" is done the value on the iPhone is no longer considered changed by you so further BPM changes by you in MoodmakerSync will still make it back to the iPhone on the next "Sync".
2) MoodmakerSync values other than "0" will override values found from iTunes. If you want the iTunes value back either set the BPM value to the iTunes value or "0" out the BPM value and press "iTunes Sync".

MoodmakerSync supports saving and loading your data to files. You can use this to save your changes for later syncing up to the iPhone, to experiment with differing BPM method valuations for songs, and for backup purposes. MoodmakerSync starts with the last loaded or saved file if it can find it.
MoodmakerSync has support for solving BPM values algorithmically. You can select songs by using the mouse (use shift/control to allow for multiple song selection) and then selecting "Edit"->"BPMsolve". BPMsolve supports non DRM protected 44kHz 16 bit songs (CD-quality). It opens and uses iTunes to help convert the songs to WAV format so it can do its analysis.

FAQ
I can't get it to connect
Moodmaker tries to find the MoodmakerSync program running on the LAN (local area network) using port 4950. Firewall, virus protection, routers, other programs, and your network configuration might be blocking the communication needed between the iPhone running Moodmaker and the computer running MoodmakerSync. If things are not working we recommend you look into allowing port 4950 (both TCP/UDP) communication on all the above mentioned security programs/devices and make sure your wireless LAN is the same as your computer LAN.

How does it handle only partial sync'ing from iTunes?
Moodmaker will keep knowledge of any music files that existed when it was started on the iPhone until the next  "Sync" with MoodmakerSync. Upon transferring any BPM values to MoodmakerSync it will then delete any no longer existing songs on the iPhone from its internal database. The idea is that MoodmakerSync can store your whole iTunes song library and BPM info, while Moodmaker will never delete any BPM values you set until the next sync. So after you sync your iPhone with a new partial selection of Tunes music you simply need to sync Moodmaker with MoodmakerSync to get back any BPM values for songs that were re-added.

Why do I have duplicates showing up in MoodmakerSync?
Moodmaker and MoodmakerSync makes use of a value known as the iTunes persistentID of the music file to determine uniqueness. Most of the time this works well since the persistentID mostly stays the same, but it can change if you delete and re-add the same music files in iTunes, or migrate you music collection to a new computer. To help migrate your BPM values in such cases, MoodmakerSync has the "Edit"->"Merge" option which will compare music files using all the other parameters (title, artist, etc) and if they match it will copy the BPM value and then delete the line that no longer exists in iTunes. There is also the "Edit"->"Delete" option so you can remove lines for music you never intend to put back on your iPhone.

Can I have MoodmakerSync set iTunes BPM values?
We are hesitant on implementing this ourselves since it requires modifying your music files directly and there is always the risk of corruption when doing that. We recommend you look into third party applications that allow you to set ID3/AAC tags on music files if you really want to set BPM values directly in your audio files.

I don't think BPMsolve is returning the correct values
The algorithmic solving of BPM is a tough problem since we all perceive beats in music differently. For some songs BPMsolve will return 0 since it could not even find a beat pattern. Algorithms apply a strict scientific analysis of bursts of energy in the sound file to try to determine beats but the human ear and brain treat it more like an art than a science. A frequent mistake the algorithms make is to either half or double the human perceived BPM value. This was the reason why we easily allow you to change the BPM values in Moodmaker. Feel free to override BPMsolve's values.




Email
moodmaker@plutospin.com with problems, questions, or suggestions.
Copyright © 2009 E Berta. All rights reserved.