What is MIME type "audio/x-gsm"?
A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.
audio/x-gsm is a MIME type that marks files encoded with the GSM audio codec. It focuses on compressing human speech and is used in systems where low bandwidth is important.This codec compresses voice recordings so they use less storage and transmit faster. It is common in telephony and VoIP systems.
- Telephony: Ideal for mobile network voice transmissions and phone messaging.
- VoIP: Helps in efficient voice data streaming over the internet.
- Efficient Compression: Lowers file sizes, saving bandwidth during transmission.
For more details on the GSM codec and its applications, see GSM 06.10 on Wikipedia.
Associated file extensions
Usage Examples
HTTP Header
When serving content with this MIME type, set the Content-Type header:
Content-Type: audio/x-gsm
HTML
In HTML, you can specify the MIME type in various elements:
<a href="file.dat" type="audio/x-gsm">Download file</a>
Server-side (Node.js)
Setting the Content-Type header in Node.js:
const http = require('http');
http.createServer((req, res) => {
res.setHeader('Content-Type', 'audio/x-gsm');
res.end('Content here');
}).listen(3000);
Associated file extensions
FAQs
What is the primary use case for audio/x-gsm?
The audio/x-gsm MIME type is primarily used for telephony and voice messaging applications. It utilizes the GSM 06.10 codec to compress human speech efficiently, making it ideal for storing voicemails or transmitting audio over low-bandwidth mobile networks.
Why are .aiff and .aif extensions associated with audio/x-gsm?
While .aiff and .aif files typically contain uncompressed PCM audio (associated with audio/x-aiff), the AIFF container format supports various compression schemes. When a file is served as audio/x-gsm, it indicates that the AIFF container holds GSM-compressed audio data rather than standard uncompressed sound.
Do web browsers support audio/x-gsm natively?
No, most modern web browsers do not support audio/x-gsm playback via the HTML5 <audio> tag. To ensure audio plays for all users, you should convert these files to widely supported formats like MP3 or WAV before embedding them on a webpage.
How do I configure Apache to serve audio/x-gsm files?
You can enable this MIME type by adding the following line to your .htaccess file or main configuration: AddType audio/x-gsm .aiff .aif .ief. This ensures that files with these extensions are correctly identified as GSM audio by the web server.
How can I fix playback errors with audio/x-gsm files?
If a standard media player fails to open the file, it likely lacks the specific GSM decoder. You can use a versatile player like VLC Media Player or use a tool like ffmpeg to convert the file to a standard PCM format: ffmpeg -i input.aif output.wav.
What is the difference between audio/x-gsm and audio/wav?
audio/x-gsm uses lossy compression specifically optimized for speech, resulting in very small file sizes but lower audio fidelity. In contrast, audio/wav usually contains uncompressed audio, offering high quality but consuming significantly more storage space and bandwidth.
How do I set up Nginx to handle audio/x-gsm?
In your Nginx configuration (often inside mime.types), add the mapping: audio/x-gsm aiff aif ief;. Reload the server configuration to ensure that requests for these files return the correct Content-Type header.
General FAQ
What is a MIME type?
A MIME (Multipurpose Internet Mail Extensions) type is a standard that indicates the nature and format of a document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838.
MIME types are important because they help browsers and servers understand how to process a file. When a browser receives a file from a server, it uses the MIME type to determine how to display or handle the content, whether it's an image to display, a PDF to open in a viewer, or a video to play.
MIME types consist of a type and a subtype, separated by a slash (e.g., text/html, image/jpeg, application/pdf). Some MIME types also include optional parameters.
How do I find the MIME type for a file?
You can check the file extension or use a file identification tool such as file --mime-type on the command line. Many programming languages also provide libraries to detect MIME types.
Why are multiple MIME types listed for one extension?
Different applications and historical conventions may use alternative MIME identifiers for the same kind of file. Showing them all helps ensure compatibility across systems.