Nintendo 3DS Sound: Difference between revisions
Added a sample implementation of a reader in C |
No edit summary |
||
(4 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
Nintendo 3DS Sound is the music playing and audio recording application that is included with all retail consoles. | Nintendo 3DS Sound is the music playing and audio recording application that is included with all retail consoles. | ||
== Voice Recorder == | |||
Like its predecessor for the DSi, up to 10-second recordings can be stored, with limited integration of those with other software. | |||
== Playlist file format== | Practically speaking, the [[Twln/shared2/0000|single page of internal storage]] is for DSi-mode software, and the 10 pages of SD card storage are for 3DS software (like Flipnote Studio 3D). | ||
=== File naming pattern === | |||
[[SD Filesystem|sdmc:]]/Nintendo 3DS/private/00020500/voice/01/V13303.m4a | |||
*01: folder (page) number | |||
*13: file number | |||
*30: icon color | |||
*3: icon shape | |||
See the previous link about internal storage for more information about the numerical values in file names. | |||
== Music Player == | |||
It loads audio files from the SD card. It supports MP3 and AAC-encoded audio files and supports m3u playlists. | |||
=== Playlist file format === | |||
The application allows for user created playlists. They are stored on the SD card. | The application allows for user created playlists. They are stored on the SD card. | ||
Line 21: | Line 37: | ||
| 0x08 | | 0x08 | ||
| 0x04 | | 0x04 | ||
| | | File size (0x26730) | ||
|- | |- | ||
| 0x0C | | 0x0C | ||
Line 33: | Line 49: | ||
| 0x12 | | 0x12 | ||
| 0x02 | | 0x02 | ||
| Icon ID (0-44) | | Icon ID (0-44) if id==-1 then loads custom icon from end of playlist? | ||
|- | |- | ||
| 0x14 | | 0x14 | ||
Line 41: | Line 57: | ||
| 0x16 | | 0x16 | ||
| 0x02 | | 0x02 | ||
| | | Number of possible songs (usually 0x12C/300) | ||
|- | |- | ||
| 0x18 | | 0x18 | ||
| 0x04 | | 0x04 | ||
| | | Some kind of timestamp, for encryption (doesn't change when editing) | ||
|- | |- | ||
| 0x1A | | 0x1A | ||
| 0x01 | | 0x01 | ||
| | | Checksum (icon?, header?) (doesn't change when editing) | ||
|- | |- | ||
| 0x1B | | 0x1B | ||
| 0x01 | | 0x01 | ||
| | | Checksum (name?) (doesn't change when editing) | ||
|- | |- | ||
| 0x1C | | 0x1C | ||
| 0x04 | | 0x04 | ||
| | | Always(?) integer with value 6 | ||
|- | |- | ||
| 0x20 | | 0x20 | ||
Line 65: | Line 81: | ||
| 0x120+(n*0x20C) => n<300 | | 0x120+(n*0x20C) => n<300 | ||
| 692 (0x20C per song) | | 692 (0x20C per song) | ||
| File name stored in UTF-16 | | File name stored in UTF-16, repeats for the rest of the file | ||
|- | |- | ||
| 0x2672F | | 0x2672F | ||
Line 73: | Line 89: | ||
== Sample reader == | == Sample reader == | ||
This is a basic example of how to read a 3DS playlist. | This is a basic example of how to read a 3DS playlist. | ||
<pre>/* This is free and unencumbered software released into the public domain. | <pre>/* This is free and unencumbered software released into the public domain. | ||
/* Anyone is free to copy, modify, publish, use, compile, sell, or | /* Anyone is free to copy, modify, publish, use, compile, sell, or | ||
Line 152: | Line 169: | ||
</pre> | </pre> | ||
== Reading files == | |||
The application can read files copied in a folder on the SD card of the system. The application supports the following files formats: | |||
* .mp3 | |||
* .m4a | |||
* .mp4 | |||
* .3gp | |||
[[Category:File formats]] | [[Category:File formats]] | ||
[[Category:Nintendo Software]] | [[Category:Nintendo Software]] |