made lower than the next sewing speed so that when the next stitch is actually taken the next sewing speed is obtained this sewing speed control will be described beginning with step 506 in this case the sewing speed is represented by a sewing speed level signal having levels which is obtained by dividing a maximum sewing speed into a predetermined levels equally such as 0 to 9 and a to d on the vertical axis of fig4 and 5 in step 506 the level which is lower by three levels than the next sewing speed level is compared with zero 0 see the region z in fig4 for instance in the case where the current sewing speed level is 9 and the next sewing speed level is 3 3 3 0 when the result is smaller than zero 0 step 507 is effected in step 507 zero 0 is applied as instructed as the current sewing speed level so that the speed instruction value may not be smaller than zero 0 and then the next loop is taken this corresponds to the region y in fig4 in the case of the region y the current sewing speed level is c and the next sewing speed level is zero 0 therefore in step 506 0 3 3 lt 0 and therefore step 507 is effected so that zero 0 is applied as the current sewing speed level thus it can be understood that at the stitch which is immediately before the stitch where the sewing speed should be changed the current speed instruction value is made.