Audio file conversion 0x0135 (Sipro Lab KELVIN) - audio

I have an audio file of File type - WAVE (.WAV), Mime Type - audio/wav
Codec - 0x0135 (Sipro Lab KELVIN)
Is it possible to convert this file to Mp3? If so, can you please provide pointers. Also, I'm not able to play this wav file in vlc player. Specific codec needs to be installed?

Short answer: Looks difficult unless you can find a codec for Sipro Lab KELVIN format.
Long Answer:
Most players rely on a system codec to decode the audio. So if you install the Sipro Lab Kelvin codec, then you will be able to play the audio in players, like Windows Media Player, that use underlying system codecs. If you can get such a codec, there is a complicated way to convert from any format to the MP3 format.
VLC, on the other hand, does not use codecs installed in the system. Based on VLC audio support page, VLC does not support codec type 0x135.
The other powerful codec tool ffmpeg also does not seem to support Sipro Lab Kelvin audio as per FFMPEG audio codec support page.

Related

Platform support for arbitrary codecs in HEIF

Apparently, the hip way to define a new image format is to combine the ISO base media file format with an existing image or intra-frame video codec, generalized in HEIF / MIAF with existing explicit HEVC, AVC and AV1 adaptations. JPEG 2000 employs ISOBMMF in a different way.
Can I expect platforms (i.e. operating systems, browsers, ...) that support HEIF in general and a random codec in general to support the specific combination of both as well? or does every codec need custom boxes/atoms?
For instance, could I simply put VP8 or VP9 streams, as known from WebM and WebP, into a HEIF container? or more ancient, exotic or futuristic video codecs like MPEG-1/2, ASP, Ogg Theora, Daala, Thor, Dirac, Cineform, VVC, EVC? What about JPEG XL/XR/XT/LS/2K, PNG or even BMP/RLE still images?

MIME type of mp3 file using Speech to Text

I am using speech to text API of Watson. Initially I used a .wav file but I want to use a mp3 file. So I want know the MIME type of mp3 file for specifying the content type?
You can see within official documentation the Audio formats support is:
Audio formats: Transcribes Free Lossless Audio Codec (FLAC), Linear 16-bit Pulse-Code Modulation (PCM), Waveform Audio File Format (WAV), Ogg format with the Opus or Vorbis codec, Web Media (WebM) format with the Opus or Vorbis codec, mu-law (or u-law) audio data, or basic audio.
Check: MIME Types for Speech to Text.
One good idea to use your mp3 audio is to convert before sending for the API.
And, depends on what you want, you can use this article. In this article, Jason shows how to use mp3 with Asterisk to send the voice audio for Speech to Text. I'm not sure if works yet.
EDIT: [10/2017]
A few days ago, Watson Speech to Text release one new version that supports mp3 input features.
Check the audio formats supported now:
Audio formats: Transcribe Free Lossless Audio Codec (FLAC), MP3 (Motion Picture Experts Group, or MPEG) format, Linear 16-bit Pulse-Code Modulation (PCM), Waveform Audio File Format (WAV), Ogg format with the Opus or Vorbis codec, Web Media (WebM) format with the Opus or Vorbis codec, mu-law (or u-law) audio data, and basic audio.
See the Official documentation talking about here.

Audio playback of 8kHz and 44.1kHz on Android

Is it possible to play 8khz and 44.1kHz audio simultaneously in
Android? If yes, how is this achieved? Is it using AlsaMixer or
AudioFlinger (MixerThread) or does it need Audio HW codec support?
Thank you
let me put my question in this way:
I have a Mp3 file playing and there are some voice data which are played in between while I am listening to a song. So my question is, does these two files, mp3 and voice data are getting mixed using some mixer and then played over output device or they are just played individually? Does any one tell if a mixer(ALSA) is always needed while trying to play mp3 and voice note?

Java audio converter api

I am looking for a comprehensive API in Java that can convert audio across various formats and bitrates.
For example
WAV (6kHz to 48kHz) L16/audio ---TO--- WAV (RIFF header) 8KHz 8-bit mono A-law/U-law
AIFF (6kHz to 48kHz) L16/audio ---TO--- WAV (RIFF header) 8KHz 8-bit mono A-law/U-law
and other voice audio formats.
Any other suggestions about similar Java libraries on audio conversion are also entertained.
I was able to solve this problem by using Tritonus : Open Source Java Sound API and its wide range of sound convertor plugins.
Specifically the Tritonus miscellaneous plugins was very useful in my context.

Decode G711(PCM u-law)

Please bear with me as my understanding of audio codec is limited.
I have this audio source from a IPCAM (through a htto//... CGI interface).
I am trying to write several client programs to play this audio source on Windows, MAC, as well as Android phone. The audio is encoded in G711 (PCM ulaw).
Do I need to decode the PCM audio data to a raw audio data before I could pass it to the audio engine to play? If so, is there some sample code on how to decode it?
I am confused as somehow I believe PCM is already RAW. Could I just feed it directly to the audio engine on Android for example?
thanks much in advance
It depends on what API you are using to play sound, but most require linear PCM and you have µ-law PCM, so unless your API supports µ-law playback you will need to convert the µ-law sample values to linear.
With G.711 the compressed µ-law samples are 8 bits and these will be converted to 14 bit linear values which you will store in a buffer as 2 bytes per sample. There is a brief description of the µ-law encoding on the G.711 Wikipedia page.
You may find this useful:
u-Law companding algorithm in C

Resources