I am planning to make a small voice recorder with arduino that can be hidden in the pocket, has a microSD slot and audio jack input, so I would be able to connect an external microphone to it while the device could save audio to the SD card.
Sound quality is important for me, it should be very good, and the length of the record must be long (more than 1 hour). I don't want to use it as a spy recorder, but a useful device for wedding film making.
Is there any any kind of board that can handle this by connecting to arduino? I saw that ISD1820 is similar, but you can't connect an external mic and the record limit is about 20 seconds as far as I know.
Is arduino powerful enough to make this, or should I use ESP instead?
I'd strongly recommend buying a solid state recorder, or just use a smart phone...
Is it worth it to you if it takes you a month or more? You can get a solid state recorder for $100 USD. If you can build it for $50 is it worth it? I'd say that's optimistic... Is cost a factor? You might end-up spending more than $100.
Sound quality is important for me, it should be very good
It's not that easy to build a high-quality low-noise preamp. Have you ever built a preamp? Our ears have a wide dynamic range so we are very sensitive to low-level noise.
Are you going to use a "computer microphone" or something designed for stage/studio use. (They are not interchangable).
You'll also need an analog anti-aliasing filter between the preamp and ADC.
It's also not easy to build something nicely packaged that fits into a pocket, is reliable, and has a user-friendly interface or controls.
You probably would need one of the more powerful Arduino versions/alternatives. You might be able to get-away with a regular Arduino if you use an external ADC. (The ADC built into the AtMega chip is only 10-bits and you loose accuracy above a sample rate of 17kHz, which limits audio to 8.5kHz.)
it IS rather easy write a digital audio stream and write a WAV file. Although, it adds complication if you want to change sample rate or bit depth or manually name the file.
P.S.
If you want playback capability, the regular Arduino doesn't have a built-in DAC. And the user interface gets more complicated because you need the ability to select a file and fast-forward/rewind.
Time doesn't matter, but money does.
Unfortunately I don't have any experience in audio devices, that's why a special module for this would be useful for me, I don't know if it exists, I couldn't find any with the required parameters.
I would use a Rode small jack microphone (with clip) that can be used even with a phone (actually I am doing it this way), but it would be great if a smaller device could be used instead of a mobile phone.
Based on your advices, I should use an existing device on the market.
In the planning phase I was really enthusiastic, but now I see that, it is not so simple.
Could you please recommend a similar solution from the market?
I have one, and actually an iPhone records voice through that mic. But I planned to replace the iPhone with a self-made small device using Arduino. Probably it was a bad idea.