Wtv020-SD-16P

From Matt Morris Wiki
Jump to navigation Jump to search

Volume

Simply altered by sending 0xfff0 to 0xfff7

Volume requires 24 Kb/s max sampling rate on the ADPCM files, otherwise the result is choppy

SD Cards

Moving from 3.3V up to 3.4V can improve the operation on some (but not all memory cards).

Overall there seems to be a better strike rate with 128Mb cards than 2Gb cards, with both no-name and Nokia 128 cards mainly OK.

File Names and Formats

Need 0001.ad4, 0002.ad4, …, 0009.ad4, 0010.ad4, …

At least one user has got 000x.wav working with freq 12,000 & mono & -1db

Audio file names do not need to be in sequence. There can be gaps in the file name numbering.

Some users reported that converting their mp3 and .wav files to ad4 format resulted in pops and clicks being heard during playback with the SOMO module. The same users indicated that selecting the sample rate for conversion to ad4 equal to the original mp3/wav file sample rate resulted in playback without pops and clicks.

Sometimes when you convert the mp3/wav file to an ad4 file it becomes corrupted if you try to change the data rate. This can give the impression of clicks. Try converting the file back to the original format and see if it still sounds OK.

Delays And Sync Play

There is at least a 20ms delay between sounds

Possible areas where changes are needed:

  • insufficient delay after reset. In line 37, changing “delay(300);” to “delay(750);” worked for me;
  • if you rely on the playVoice() call: sendCommand() returns too soon, when the busy pin is not yet on. In line 94, tweaking “delay(20);” to “delay(50);” worked for me.

Many have had problems using playVoice() rather than asyncPlayVoice() on even numbered files. Eg playVoice will work on 0001, 0003 but not 0000, 0002. the-rebel-agent said “Syncplay usually works better with long audio files.”.

Should also delay at last 20 ms between busy signal showing end-of-play and submitting a new file

Direct Speaker Connection

The datasheet (up to Rev 3) indicates that a speaker of 8, 16 or 32 Ohm 0.25W rating can be connected.

However, in a response to a post on the 4D systems forum, the 4D Systems technical people made the comment: “Speaker: 8 ohm 1W (Not recommended), 16 ohm 0.5W, 32 ohm 0.25W”

While the 8 Ohm speaker is apparently not recommended, one poster has been using a higher quality 8 Ohm 3 Watt speaker without signs of any problems.

Picaxe Serial Mode Notes

From [1]

SOMO 14D Module Operation - Serial Mode: The SERIAL mode for control includes five primary commands: - Play - Pause - Stop - Volume - Audio file selection

Sending any command to the SOMO 14D results in that control/action being undertaken immediately.

There is no buffer to send filenames for several audio files to be played consecutively. If you send a new filename while one audio file is being played back, play back of the initial audio file stops and play back of the new file commences then and there.

When you send a new filename to the SOMO 14D, it will play immediately. There is no need to also send a PLAY command. In fact, Grogster has reported on this forum that sending a PLAY/PAUSE command after selecting the file to play, results in the module going into pause mode and nothing plays

The SOMO 14D provides a BUSY signal that can be used to indicate when an audio file is being played back. By connecting this signal to a PICAXE input, the PICAXE program can detect when to start playback of a new audio file. Once a filename has been passed to the SOMO 14D module, there is a brief delay before the BUSY signal line is taken high. My trial and error (using various values with the PAUSE command) suggests this is around 7mSec. In the new (Rev 3) version of the datasheet, it is now indicated that the delay timing is a minimum of 20msec. Accordingly, it is necessary to delay the checking of the BUSY line for around 20msec otherwise the PICAXE program will “see” the situation as the current file has completed playback and may then immediately pass a new filename to the SOMO 14D module.

My findings are that there is also a brief delay (~7msec) between when the BUSY signal goes low and the SOMO 14D module being ready to accept a new filename for playback. The Rev 3 datasheet does not address this but my recommendation is to include a similar 20msec delay after the BUSY signal has gone low before sending a new audio file name.

I have achieved reliable operation without the use of the RESET signal from the PICAXE to the SOMO 14D audio module. Notwithstanding this, others have found that using the PICAXE to perform a hardwired reset of the SOMO 14D module prior to sending each audio file name has overcome problems.

If you do use the SOMO module RESET pin, then it needs to be connected directly to a PICAXE IO line – a small value series resistor (330 Ohm) - tested and confirmed okay by groster. Don’t use a potential divider to drop from 5V to 3.3V. Due to the internal pull up resistor onboard the SOMO module, if a potential divider type circuit is used, the interaction with the SOMO on-board pull-up resistor voltage may cause the voltage not drop low enough to trigger a reset of the SOMO module.

Using Audacity

From [2]

If you wish to save the resultant mono audio file in mp3 format, you will also need to download the LAME mp3 converter ddl file. This is available from a link on the Soundforge Audacity webpage.

Run the LAME exe file, recommend that you place the resultant dll file in the same directory as Audacity then when you do an Export to MP3 format the first time you need to point Audacity to the mp3 converter dll file.

The steps to convert a Stereo file to an mono file are:

1. Load the stereo file into Audacity

2. Click on the file name in the top of the box at the left of the audio waveform and select Split Stereo track. You will now have two boxes (left and right channel) at the left side of the audio waveforms – one for each track.

3. Click on the file name at the top of the box again for each track and change the file type to mono .

4. from the Project menu, select Quick Mix which will convert the two mono tracks into a single mono track.

5. Adjust the should level in the box at the left side of the waveform. I find most audio tracks can be dropped -3 dBa (but try playing the new mono track first as some files are quiet and can be left of 0dBa and very occasionally there is a quiet file where a +3 dBa adjustment can be worthwhile.

6. If there are extended silent periods at either end of the audio file, use the mouse to select the silent period and press the “Delete” key. These “silent periods may have pops or clicks in them from the recording source equipment and take up some file space so worthwhile trimming the audio files.

7. From the File menu, use the Export as MP3 or WAV to save your new mono file.

Then use the 4D-Systems audio file conversion software to convert the resultant mp3 or wav file to the ad4 format required by the SOMO-14D audio module.

Output Load Sensitivity

From [3]

Inspired by one of Grogster's coments, I disconnected the 42 Ohm speaker, and instead used the AUDIO output into an amplifier. Now the files play from start to finish. Reconnect the speaker, and the files all terminate prematurely - most odd.

I am powering both PICAXE and SOMO from a common 3.6V supply using 5V regulated supply through 2 silicon and one germanium diode. 10uF and 0.1uF capacitors across the 3.6V supply. If I remove both capacitors, the partial playing problem came back. However, I have been unable to repeat this - files now play to the end regardless of the prescence or absense of capacitors - most odd.

I decided to retry the 42 Ohm speaker with the BUSY LED disconnected. No files would play. Removed the speaker, still nothing. Restored the LED connection, still nothing. Cycled the power, still nothing. Removed and reinserted the uSD card, and now it works again - most odd.

From my experience and that of Grogster, it does appear that the SOMO is somehow very sensitive to power input quality, and output load at the speaker and BUSY terminals.