Coder Social home page Coder Social logo

audiorecorder's Introduction

Development Plans

Release v0.9.99:

  • Update target SDK to 34
  • Fix few main issues and bugs

Release v1.0.0:

  • Add support Bluetooth mics
  • Add ability to select recording audio sources
  • Add backup feature to allow download all records files into a public directory 'Downloads'

Release v2.0.0: (Currently under development)

Completely rework the app by adopting a new architecture written in Kotlin, designing the UI with Android Compose, integrating a Room database, using ExoPlayer for media playback, and Hilt for dependency injection. Despite these substantial changes, the app’s existing user interface will remain mostly unchanged. Additionally, focusing on achieving robust unit test coverage. These enhancements are expected to significantly enhance app stability, accelerate feature delivery, and mitigate concerns about introducing new bugs.

Audio Recorder Logo

Audio Recorder

Get it on F-Droid Get it on Google Play

Audio Recorder is your go-to app for seamless audio recording. Whether you’re capturing important moments or creating content, Audio Recorder got you covered. Here’s what makes our app stand out:

1. Fast Startup: the app optimized to launch quickly, so you won’t miss a beat when inspiration strikes.

2. Flexible Formats: Choose from three recording formats:
  • M4A: High-quality audio in a compact file size.
  • WAVE (WAV): Ideal for professional-grade recordings.
  • 3Gp: Perfect for sharing on the go.

3. Customizable Settings:

  • Easy to adjust sample rate and bitrate to suit your needs.
  • Toggle between mono and stereo recording.

4. Visual Waveform: See your recordings come to life with waveform display.

5. User-Friendly Features:

  • Rename recordings for easy organization.
  • Share your audio files effortlessly.
  • Import existing audio files.
  • Create bookmarks for quick access.
  • Personalize the app with colorful themes.

FAQ

When option to choose recording directory will be added?

There is no plans to add feature where user can change recording directory. Newer versions of Android added restrictions on ability to interact with device file system. There is no simple way how to implement the feature. So all records are stored in app's private dir. Anyway, all record files available for user to download from app's private dir to a public dir.

License

Copyright 2019 Dmytro Ponomarenko

Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements. See the NOTICE file distributed with this work for
additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.

audiorecorder's People

Contributors

another-sapiens avatar architector4 avatar balalals avatar dimowner avatar hannesa2 avatar haraldrudell avatar izzysoft avatar linarphy avatar muraveiko avatar pereorga avatar poussinou avatar serhat-demir avatar unknownman820 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

audiorecorder's Issues

Incorrect layout with on-screen system buttons

I use Android 6.0 (iLA S1, 1920x1080) which has on-screen system buttons, and apparently the application cannot handle such layout properly since it shows its main window under the on-screen buttons, which block access to app UI elements.
Consider the screenshot below:
Screenshot_20200806-205927-25
I was unable to touch Reset or Apply buttons, because they went under the on-screen system buttons.

better compression

is it possible for you to add a better compression so that recording takes less of space on the device? currently it is good for m4a format but certainly not enough

WavRecorder write file loss 44 bytes

RandomAccessFile write will overwrite the original content,so wav file loss 44 bytes data;
I suggest writing 44 bytes of blank data before recording.

and totalAudioLen ,totalDataLen is wrong.(8 bytes smaller)
Thank you

How to use WavRecorder class to generate .m4a file

Hey, I am facing some initial delay issues with MediaRecorder class in my app. However, there is no delay with the AudioRecord class. But I need to save file .m4a format.

So the question is how to use the WavRecorder class to save the recording as .m4a file.

Any help would be highly appreciated, thanks in advance.

File location

Make it possible to set a custom location to save the recordings.

Unclosed file corrupted on quit

I have a large file that was not closed and is now corrupted. Is it possible to periodically save the file while it is recording in order to avoid losing large recordings entirely if the closed properly?

Also, I am looking for information how to recover the file. In particular, I am looking for information about how what encoding the audio is.

[Feature Request] Change Save Location

Thank you for your hard work with this great app! I'm not sure what "save to public dir" means in the settings, but I think adding an option to set the location where recordings are saved would be valuable in this app. A button that opens up the file browser, where the user selects a folder to save the recordings to, would be very helpful for my use case.

Thanks again!

Suggestion For Audio Recorder : Add the " Log in/Sign Up"and Upload Button " features

Repository

https://github.com/Dimowner/AudioRecorder

Introduction

Audio Recorder is an open source application and every type of user can record their voice.
there is a manny feature in this application like rename share and replay etc.
Audio Recorder give us two format AAC or WAV with the help of this formate we can record our voice easily

Components

The component I want to suggestion 2 feature is

1- Log in/Sign Up"
2- Upload Button

Proposal Description

Audio Recorder is a simple application and the voice quality of the recording All the option are very easy and more benefits for users but I want to suggest some more feature benefits here

1- Log in/Sign Up"

Everyone knows the Login/Sign Up" option is very important for every application with the help of this button users can make their own account for the application. When users will open their account a long time he will see all the history with the help of this application

2- Upload Button

sometimes users want to Save their audio recording files for a long time in the application. with the help of this option, users can save their files for a long time. when users will log in their account he will get all the upload audio recording files in the application.

Mockups / Examples

3.png
4.png
1.png
2.png

Benefits

The user can access their old history with the help of the login/Sign Up button you can Save all the recording files. The users can find easily files Which are uploaded in the option

GitHub Account

https://github.com/abdulmalikkhan655

Simplify Bit Rate and Allow App to Record In More Audio Formats

Change the rate to something like low, lower, medium, high and higher. These can be easily understood by many users. Some people don't know what 48000Hz is.

I understand the need for uncompressed audio formats like WAV, but I suggest that you include lossy audio formats like MP3 in subsequent updates since it is the most popular one in the music world.

Add save to sd card feature/other directory

Please add save to sd card/other directory
I'm using version 0.9.16
My Android version is 9
Please integrate the native android file manager/storage api function to change the save directory

Alternative download source

Congrats to your app! May I ask if you'd consider an alternative download source for those without Google apps on their devices (and avoiding playstore)? You could e.g. use tags for your releases and attach the APK to it (many projects do so – and from there I could fetch it for my repo and keep it automatically up-to-date, so folks can use the F-Droid client to install and update it).

Speaking of F-Droid: having your app added to the official repo would certainly be great. But that would need a build flavor without Fabric and Crashlytics.

Thanks in advance for considering!

File lost when renaming during waveform calculations

I've been losing recordings lately, at least during the summer of 2020. My current guess it has to do with the timing of renaming the file. I record something, rename it, then get a file could not be found message.

These days I wait until the calculating a waveforms is finished and that avoids the file from getting lost; but, I'd like to rename a file with confidence.

Cannot set widescreen

I have a widescreen device, but this app cannot adapt to the widescreen display.
image

Can you make an adaptation?

Feature request - opus

Thanks for the app, it works and looks good.

In favor of royalty free and efficient codec, would it be possible to implement opus?

It provides very good quality.

colorful waveform

hello
thanks for sharing source code :)
I have question, can we have colorful waveform by this custom view?

Button support

It would be nice to have possibility to use button to start recording, recording as long as button is hold, and stop recording, when button is released. Ideally, it should work even on locked phone

Feature Request

Add high quality bitrates and more formats for recording like MP3 etc.

Wrong APK at tag 0.7.14

It seems you accidentally attached the debug APK at the latest tag. Could you please replace that with the release build? Thanks!

Record at will plus recording duration on audio recorder.

Components

Rec audio recorder is an open source audio recorder app that makes audio recording experience enjoyable. It is optimized for a fast start which helps user not to miss important voice recording. Rec has two basic recording format which is Advance audio coding (AAC) and Waveform file format. (WAVE). This app has many essential features that makes it unique. Part of the features are

  • Audio recording

  • Playback in background

  • Playback record

  • Share record

  • Record list

  • Display record waveform

  • Coloured theme. E.T.C

All these features are fantastic, but I would love to spice it up with some features I believe would add more life to it.

Proposals

The features I will be proposing are 

  • Record at will: This is a way of recording at the desired period without compulsorily operating your device at the set time. The feature will make it easy to record voices without being noticed. If you want to start recording your conversation with someone in the next 5 minutes, for instance, you don't need to make your action open; else you might get caught. You can easily set the time in advance, and it will start recording when the time is right. This feature can be incorporated in the app settings below the "Record in stereo" feature. A click on it will pop up a page where the recording time can be set.

  • recording duration: The app currently record to eternity as long as there is enough storage space. It's okay, but incorporating a minimum recording duration will allow users to set the period they want. For instance, if I want to make a 2 minutes voice recording, I can set the duration to 2 minutes and channel my speech to fit the time. This feature can also be in the settings. Clicking on it will enable you to set the minimum duration for recording.

Mock ups/ Examples

The original look of the app

b3ls2dpvm5.png

Below are the images for record at will

rdbbcjdysq.png

Setting a minimum recording duration

hjlhpwba36.png

Benefits

The automatic recording will make the app more unique by allowing users to record voices automatically. Users can easily set when they want the recording to start. The minimum recording duration is also another feature that will add more value to the app. I will say it's a compliment for the automatic recording feature. Why? Because if the app is set to auto-record, the minimum recording duration can also be set for the recording to stop when the time is right. So they can be said to be an auto start and stop.

Thanks.

File lost after recording ?and renaming?

I'm losing recordings.

Pixel 1 device

I record and try to rename the file;
I then get told by the app that the file cannot be found.

When I look in the file manager, I see neither the original filename not the filename I tried to rename it to.

I really like this app, but I can't use it if it losses my recordings.

Ability To Suggestion (crop ) ( Move file )(Open With) (Set AS ) in Audio Recorder

Repository

https://github.com/Dimowner/AudioRecorder

Introduction

Audio Recorder is an open source application where everyone can make an audio recording with high and clearly audio there are many features for the user all is free here just click on your recorder button you can recorder any voice after recording you can listen to cleary. the app server is fastest and the interface is very simple I really like it. all the recording track you can share on any social media website.

Components

The components (Features) I want to suggest is

This feature must be in this application and This feature will increase the utility of application.

1- Crop
2- Move File
3- Open With
4- Set as

Proposal Description

according to my information, this very simple and useful application and all the features are really amazing but I want the suggestion to add some features in the application.

1- Crop

with the help of this feature, the user can edit and crop their voice recording. and users also able to crop or cut clip Which he does not like.

2- Move File

according to my knowledge when I recorded the voice clip save in phone memory and some users have not extra space in phone storage so these features are very useful for that user. The user can able to transfer recording phone storage to memory card storage.

3- Open With

The application original audio player is not bad but sometimes users want to like hear the audio recording clip on their own phone player the help of this feature users can be able to hear the recording on their own phone player. Just simply click on the Open With option and choose your favorite player.

4- Set as

Sometimes users Recoding an amazing voice and he wants to like to set the audio recording on a Mobile ring tone with help of these features users can able to set the recording on a Mobile ring tone. The users can also able to set the recording audio on alarm and notification.

Mockups / Examples

1.png
2.png
3.png
4.png

Benefits

users can also able to readjust the audio recording With the help of crop options.
Users can put their recording on their mobile phone Ring tone Users will be able to easily transfer files to phone memory to card memory. For better performance, you can listen to your audio recording file on your favorite audio player.

GitHub Account

https://github.com/nasirshah1813

Propose some additional features, such as microphone adjustment, recording volume (gain), and several other recording file formats on the Audio Recorder 0.5.24 application

Introduction

Fast and lightweight Audio Recorder application. Ad-free

An audio recorder is an open source application making the audio recording experience easy.
The application is optimized for the fastest possible start and helps to not miss important sounds for users.

Repository
https://github.com/Dimowner/AudioRecorder

Components

The components (Features) I want to suggest is:

  • 1.Microphone adjustment.
  • 2.Recording volume (gain).
  • 3.Several other recording file formats, such as mp3, 3GPP-AMR(low quality, save memory).

Audio Recorder has a very good function, you can record directly using this application. In terms of function, indeed this application has a very good function. I really appreciate the developer of this project.

On the one hand, I am very impressed with this application that looks very simple and cool. But I think, the Audio Recorder application still needs to be developed to make this application more interesting. There are so many other similar applications that have the same function, I think developers don't just rely on functionality, but also have to think about user experience, and a better and more interesting impression on them.

Therefore, I want to suggest some features for the Audio Recorder application. I hope my suggestions can be an additional idea for developers to make the Audio Recorder application more attractive.

Proposal description

Microphone adjustment
We recommend that the developer add this feature in the application settings section, and modify the section to make it easier for users. Press the button, make noise to determine the maximum gain factor, the developer must give the user the option to activate the device's auto gain control. The developer must add a calibration feature, and reset it in it, as well as mic level information after calibrating.

Recording volume (gain)
We recommend that developers add this feature in the application settings section. And giving the user the choice to change the recording volume, 0 db is the default value, and positive means the volume of the recording is louder. The developer must modify the section as best as possible, so that users can access it easily and quickly when changing the volume of recordings.

Several other recording file formats, such as mp3, 3GPP-AMR(low quality, save memory)
The developer must modify the format feature in the application settings section to add mp3 and 3GPP-AMR recording formats, and access to use it.

Mockups / Examples

Below I will show examples of locations or illustrations if the features I recommend are implemented by the Developer.
Screenshot_2019-03-29-23-12-16-picsay.jpg

Screenshot_2019-03-29-23-12-16-picsay.jpg

Screenshot_2019-03-29-23-12-16-picsay.jpg

Screenshot_2019-03-29-23-12-16-picsay.jpg

Screenshot_2019-03-29-23-30-19-picsay.jpg

Benefits

Microphone adjustment
With the Microphone adjustment feature, users can calibrate the microphone, to get very satisfying and quality audio recordings. And that is a big advantage for users, they can also activate the device's auto gain control feature.

Recording volume (gain)
With the Recording volume (added) feature, users can change the recording volume, which is 0 db is the default value, and positive means the volume of the recording is louder. Users can record audio clearly, even though their device is in the pocket. The resulting audio recordings are very clear. And it was amazing and spoiled the users of this application.

Several other recording file formats, such as mp3, 3GPP-AMR(low quality, save memory)
After the developer adds mp3 and 3GPP-AMR formats, the available format options will be more complete in this application. Users can record audio using the low quality mp3 or 3GPP-AMR format and it will save memory on their device. This is perfect for those who have a small storage space.

Conclusion

To implement the features above, developers may need to make major improvements. And in my opinion, it doesn't matter because it will have a good effect later.

The features that I recommend are certainly very useful because it will improve the user experience later. And this will add value to the Audio Recorder application. And I hope, the Audio Recorder application developer will soon be able to implement this suggestion.

Suggest Migrate from SQLiteOpenHelper to Room ORM

Nowadays, orms make working with database much easier, they are create and manage tables and models by it's own and no need for writing queries and engage yourself in it's hardships.
I searched a lot and find that best orm choice for android that supported and recommended by Google is Room.
Here I a put the link for you: Room Persistence Library.
Let me know If you want any help for migration.

Making audio recorder to skip different level of silence while recording will be a good feature.

Components

Audio recorder records sound/voices and also import some files. I've used it well, and I'm still enjoying it. My proposals will be based on voice/sound recording.

It is optimized for a fast start which helps user not to miss important voice recording. Rec has two basic recording format which is Advance audio coding (AAC) and Waveform file format.

Proposals

Pause and skip silence: During recording, there can be a different level of quiet time when there will be no sound or different level of sound. Within this period, the recorder will automatically filter the surrounding sound level and control recording till the desired sound returns. At first, I thought it might be difficult to come up with this idea, but I think it's possible.

There is what we call ATH (Absolute threshold of hearing). We as humans all possess this which is recorded at 0 decibel SPL and also varies with different people. It is the minimum sound level of tone that an average Human ear with normal hearing ability can hear without any distortion. This concept can be used to achieve the purpose. Whenever there's silence while recording, the app will filter the surrounding sound and react on it accordingly. For example, the app can be set to pause recording if the level of surrounding sound is below the silence barrier, hearing threshold or conversations. This can be detected at different frequencies. E.g.,

1. Silent barrier set as -1db spl

2. The hearing threshold set as 0db spl

3. The conversation set as 1db spl

The units for each silence level will be set in the back end. It will not be adjustable by users.

db spl is the unit to denote the measurement of a sound. It is referred to as decibel of sound pressure level. Since the loudness of a sound varies for different frequencies and not required with its sound pressure level, the pause and skip silence level is possible to implement.

Mock ups/ Examples

The first image shows how the app looks before the design

app look 123.png

The below images shows the settings of the silence features. Only one can be turn on at a time. The skip silence button will activate others when switched on.

the silence.png

Benefits

The pause and skip silence can be used to achieve a clear recording. It will make users recording concise and accurate. This feature can be used to achieve the desired result in terms of recording. For instance, if I plant my device in a hidden place to record some malicious conversation, only the important voice sound will be captured. Also, the noisy part of a conversation or a sound recording will be filtered out. Only the clear part will be captured. Quiet times will also be filtered out, and space(either internal or external storage) will be used up wisely.

Thanks.

USB Split Tracks

Hi! Love your AudioRecorder app.

I'm trying to add it to my workflow but I'm stumped with one issue and I don't know if I need help or if I'm requesting for a new feature/enhancement...

I regularly record/stream with two microphones connected to a Behringer UMC202HD Sound Interface. The resulting stereo track holds two clearly distinct mono inputs that I can separate in my Win 10 DAW (Audacity or OBS).

I connected the AudioRecorder app in my Samsung S7 (Android - USB Audio Input) to a powered USB HUB with the Behringer and 2 mics (same as I connect it to the PC). The good news is : It works! I can record the mic sounds.

The bad news is, the two mono tracks are mushed together. If I use just one or both mics I always get a symmetrical stereo track.

Now, I don't want to be unfair. The Behringer requires that I install a driver in the PC. I'm assuming Audio Record app doesn't do the corresponding part in my Android smartphone.

So... The questions is: Is there a way to get separate tracks or do I need to wait until you add such functionality to AudioRecorder?

Thanks for your time and your beautiful app!
MIguel

featured request

please add support flac, vorbis (ogg) audio codec it would be great

[Feature Request] Date and time representation in a file naming convention

Request: Please provide a file naming convention with an unambiguous date and time representation, where values are ordered from the largest to smallest unit of time.

Reason 1: Current convention does not allow files to be naturally sorted by name.
Reason 2: Current convention is ambiguous for the international users since date and time representation vary by country.

A minimal solution would be to modify the current convention by swapping the day and the year:
2020.05.19 17.31.00
An orthodox solution would be to adhere to an ISO 8601 standard, for example:
20200519173100+0300
Personally, I would prefer something which resembles the default android camera app naming convention, by replacing IMG/ VID prefix with REC or AUD:
REC_20200519_173100
AUD_20200519_173100

Discussion Related VOIP Call Recording

I tried to record VOIP calls using your code, but I couldn't do so, I just tried your recorder code for recording WhatsApp recording of calls but recorder didn't start.
What are your suggestions for me to do this task and do you have any help/source code for this matter?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.