Mozilla deepspeech requirements?

hey there just pulled the latest 2.5pre docker image and tryed to set STT to deepspeech
the Speech to text button turned yellow and a box with “not compatible” appeared

im running it on a ubuntu 18.04 LTS vm (esxi) with docker CE , 4 cpu cores and 2gb ram ( i might allocate more very soon i think)

does it run only on a raspberry ? do i need a gpu on the machine ?

It only runs on a single core due to the model and its something they are looking to change.

Single core on a Pi4 it runs approx 1.2x realtime Pi3 runs less than .5x realtime.

So Pi4 or above you only need a single core.

It needs an x86_64 or armv7l CPU. So it won’t work on a Pi Zero or on a 64-bit Raspbian currently.

then it s probably a bug :confused:

lilbuh@rhasspy:~$ uname -m
x86_64

I think its down to the version of your compiler GCC.
I always get confused about this and often just try the different versions until the right one installs.

deepspeech-0.7.1-cp38-cp38-manylinux1_x86_64.whl
deepspeech-0.7.1-cp37-cp37m-manylinux1_x86_64.whl
deepspeech-0.7.1-cp36-cp36m-manylinux1_x86_64.whl
deepspeech-0.7.1-cp35-cp35m-manylinux1_x86_64.whl

I think its dependent on the GCC version you have and never worked out what the 3 prefix is for but the next number 5-8 is for the GCC compiler of your OS.

As said always get a tad confused on this but as you will see with the pip wheels there are 4 releases for X86_64.

gcc --version

PS v0.8.0 dropped the other day, Alpha but things moving along. Hopefully they will get that model multi-threaded as it is possible.
Then again it might not be as Deepspeech is weighted to sentence sense as otherwise it could just be split via cores and the serialised again as intent.
Presuming it will come later maybe even after a single core release.

even in a docker environment ? :confused:

lilbuh@rhasspy:~$ gcc --version
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0

Actually doh me and my memory its your python version ! apols. Now I know what the 3 is for.
It will be setup for raspbian and highly likely its behind Ubuntu.
Unless the install grabs all versions.
3.5,.3.6,3.7,3.8 not sure what the m is for.

i can upgrade my python version ( it s 3.6.9 right now ) but since it s running in a docker container the docker must run it s own version inside the container … theres something missing imo

@synesthesiam what do you think ?
( sorry for the call synesthesiam )

Just have a look at the requirements.txt or grab the version that fits your docker image I don’t know what docker image they use.
You might just have to do a slight edit with setup.py.

i ll think about it but i m considering making a full install without using docker at all
dont really know dont really have my head straight bcause of personal problems just trying to think about something else

Back up your image with DD and just install if it flakes just flash it back.

PS its always worse at the time than you think and keep busy :slight_smile:
Best wishes.

Use dd, with the count option.

In your case you were using fdisk so I will take that approach. Your "sudo fdisk -l "produced:

    Disk /dev/sda: 64.0 GB, 64023257088 bytes
    255 heads, 63 sectors/track, 7783 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0000e4b5

    Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          27      209920   83  Linux
    Partition 1 does not end on cylinder boundary.
    /dev/sda2              27         525     4000768    5  Extended
    Partition 2 does not end on cylinder boundary.
    /dev/sda5              27         353     2621440   83  Linux
    /dev/sda6             353         405      416768   83  Linux
    /dev/sda7             405         490      675840   83  Linux
    /dev/sda8             490         525      282624   83  Linux

The two things you should take note of are 1) the unit size, and 2) the “End” column. In your case you have cylinders that are equal to 8225280 Bytes. In the “End” column sda8 terminates at 525 (which is 525[units]16065512 = ~4.3GB)

dd can do a lot of things, such as starting after an offset, or stopping after a specific number of blocks. We will do the latter using the count option in dd. The command would appear as follows:

    sudo dd if=/dev/sda of=/your_directory/image_name.iso bs=8225280 count=526

Where -bs is the block size (it is easiest to use the unit that fdisk uses, but any unit will do so long as the count option is declared in these units), and count is the number of units we want to copy (note that we increment the count by 1 to capture the last block).

oh dont worry about backing up i have a server running ESXi so i ll just create another virtual machine :slight_smile:

thank you for your support :slight_smile:

Yeah apols as I got that sentence wrong reading back but thankfully you got what I meant :slight_smile:

Also the results can be quite hillarious as been wondering if proffessor floyd had a chip on his shoulder from the deepspech common voice dataset.
“Professor Floyd pointed out that mass lesions are a possible cause for epileptic seizures”
recognised as
"
{
“transcripts”: [
{
“confidence”: -100.5955242491676,
“words”: [
{
“word”: “professor”,
"start_time ": 1.3,
“duration”: 0.38
},
{
“word”: “floyd”,
"start_time ": 1.72,
“duration”: 0.4
},
{
“word”: “pointed”,
"start_time ": 2.14,
“duration”: 0.36
},
{
“word”: “out”,
"start_time ": 2.52,
“duration”: 0.14
},
{
“word”: “that”,
"start_time ": 2.68,
“duration”: 0.16
},
{
“word”: “malaysians”,
"start_time ": 2.92,
“duration”: 0.92
},
{
“word”: “are”,
"start_time ": 3.9,
“duration”: 0.08
},
{
“word”: “a”,
"start_time ": 4.0,
“duration”: 0.1
},
{
“word”: “possible”,
"start_time ": 4.14,
“duration”: 0.38
},
{
“word”: “cause”,
"start_time ": 4.66,
“duration”: 0.36
},
{
“word”: “for”,
"start_time ": 5.06,
“duration”: 0.08
},
{
“word”: “epileptic”,
"start_time ": 5.18,
“duration”: 0.58
},
{
“word”: “seizures”,
"start_time ": 5.92,
“duration”: 0.4
}
]
}
]
}

Its dangerous stuff this recognition lark! :slight_smile:

@ synesthesiam Hello, please is there any change of bumping Deepspeech to 0.7.4? I do not know if there is any incompatibility with current release of Rhasspy, but DS 0.7.4 seem to be trained for both US and GB English and seems to improve recognition a lot… Thank you.