All Projects → brennanMKE → AudioConverter

brennanMKE / AudioConverter

Licence: Apache-2.0 License
Convert audio to all formats iOS supports natively as well as mp3.

Programming Languages

objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to AudioConverter

go-xmp
A native Go SDK for the Extensible Metadata Platform (XMP)
Stars: ✭ 36 (+63.64%)
Mutual labels:  mp3
URTube
URTube, a YouTube video to MP3 downloader built in NodeJs and Electron
Stars: ✭ 20 (-9.09%)
Mutual labels:  mp3
MrPlayer
This is Mp3 Player made on python
Stars: ✭ 23 (+4.55%)
Mutual labels:  mp3
Mp3ID3Tagger
🎶🎵A macOS application to edit the ID3 tag of your mp3 files. Developed with RxSwift and RxCocoa. 🎸🎼
Stars: ✭ 17 (-22.73%)
Mutual labels:  mp3
libwinmedia
[Archived] A cross-platform simple media playback library for C/C++.
Stars: ✭ 35 (+59.09%)
Mutual labels:  mp3
nfc attendance system esp32
NFC Attendance System | 智慧校園NFC考勤系統 | 基於ESP32的智慧校園NFC考勤系統控制器
Stars: ✭ 27 (+22.73%)
Mutual labels:  mp3
devtube
Laravel YouTube and Online Video viewing and download interface.
Stars: ✭ 30 (+36.36%)
Mutual labels:  mp3
flutter audio desktop
[WIP] An 🎵 audio playback library for Flutter Desktop. Supports Windows & Linux. Based on miniaudio.
Stars: ✭ 42 (+90.91%)
Mutual labels:  mp3
slibs
Single file libraries for C/C++
Stars: ✭ 80 (+263.64%)
Mutual labels:  mp3
churchsermons
Church sermons app is basically an app for churches to make available the messages preached in church for all members. This is still under development so expect changes. This is built using the latest versions of laravel and vuejs.
Stars: ✭ 19 (-13.64%)
Mutual labels:  mp3
spleeter-api
Audio separation API using Spleeter from Deezer
Stars: ✭ 77 (+250%)
Mutual labels:  mp3
OpenNoteBlockStudio
An open-source Minecraft music maker.
Stars: ✭ 408 (+1754.55%)
Mutual labels:  mp3
tagtool
Mass Clean MP3 Tags
Stars: ✭ 22 (+0%)
Mutual labels:  mp3
NLayer
MPEG 1 & 2 Decoder for Layers 1, 2, & 3
Stars: ✭ 79 (+259.09%)
Mutual labels:  mp3
vaporiser
🎵 Creates a vaporwave (slowed, with reverb) remix of a given MP3 file, with the option of playing over a looped GIF as a video.
Stars: ✭ 14 (-36.36%)
Mutual labels:  mp3
Id3
Library to read, modify and write ID3 & Lyrics3 tags in MP3 files. Provides an extensible framework for retrieving ID3 information from online services.
Stars: ✭ 27 (+22.73%)
Mutual labels:  mp3
lplayer
lplayer is a simple audio player for simply listening
Stars: ✭ 40 (+81.82%)
Mutual labels:  mp3
python mp3 decoder
Minimal proof of concept chunked mp3 decoder for Python
Stars: ✭ 19 (-13.64%)
Mutual labels:  mp3
Pantheon
The fastest YouTube downloader.
Stars: ✭ 32 (+45.45%)
Mutual labels:  mp3
YouTube-Downloader
No description or website provided.
Stars: ✭ 34 (+54.55%)
Mutual labels:  mp3

AudioConverter

Integrates with LAME library to support converting audio to MP3 format in addition to the formats supported by iOS.

How to Build

First create the static libary for LAME using LAME iOS Build. Get the latest LAME download and place the source in a folder named lame under the build folder. Then run build-lame.sh which will create various static libraries for each of the supported architectures as well as FAT binaries which can be used for development.

Then copy the files LAME into this folder with the following paths below the AudioConverter directory.

  • lame/include/lame/lame.h
  • lame/lib/libmp3lame.a

With these files in place it will be possible to compile the project which includes the class ExtAudioFileConverter which is used to convert audio files. An example is shown in ViewController.m which converts source.m4a to output.mp3 which is placed in the Caches directory. When conversion is completed an AVPlayerViewController is displayed and the new file is played immediately.

Release Builds

Running the script for LAME iOS Build creates a FAT binary which includes architectures for devices as well as the iOS Simulator. When a release build is submitted to the App Store it will be rejected if architectures for the iOS Simulator are included source they must be excluded. Running the build script can be run again to build with the valid architures only. First the previous output folders must be deleted.

rm -rf fat-lame/
rm -rf scratch-lame/
rm -rf thin-lame/
./build-lame.sh arm64 armv7s armv7

A tool like CocoaPods includes scripts which strip out these architectures using the lipo tool. It is also possible to create Debug and Release static libaries with the required architectures based on the current build configuration.

NOTE: It is possible that current versions of Xcode will strip out the invalid architectures when the archive is created for submitting a build to the App Store, making this work unnecessary.

Source Audio

Creating the source audio for testing is easily done using macOS using the following command.

say -o source.m4a "Start and Stop"

Any text can be converted to speech and stored in the output file.


Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].