ਅਲਫਾਬੇਟ ਗਾਉਣਾ ਇੱਕ AI ਆਵਾਜ਼ ਲਈ ਸਭ ਤੋਂ ਸੌਖਾ ਕੰਮ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। A-B-C-D-E-F-G। ਸੱਤ ਵੱਖਰੇ ਸ਼ਬਦ, ਜੋ ਕਿ ਪਲਾਨੇਟ ਦੇ ਹਰ ਬੱਚੇ ਲਈ ਜਾਣੇ-ਪਛਾਣੇ ਹਨ। ਫਿਰ ਵੀ, ਜਿਸ ਕਿਸੇ ਨੇ ਵੀ AI ਮਿਊਜ਼ਿਕ ਜਨਰੇਸ਼ਨ ਨਾਲ ਪ੍ਰਯੋਗ ਕੀਤਾ ਹੈ, ਉਹ ਜਾਣਦਾ ਹੈ ਕਿ ਅਸਲੀਅਤ ਕਿਤੇ ਜ਼ਿਆਦਾ ਉਲਝੀ ਹੋਈ ਹੈ। ਕਿਸੇ ਮਾਡਲ ਨੂੰ ਅਲਫਾਬੇਟ ਗਾਉਣ ਲਈ ਕਹੋ, ਅਤੇ ਅਕਸਰ L, M, N, O, ਅਤੇ P ਅੱਖਰ ਇੱਕ ਅਸਪਸ਼ਟ ਸ਼ਬਦ ਵਿੱਚ ਮਿਲਾ ਕੇ ਇੱਕ ਹੋ ਜਾਂਦੇ ਹਨ। "Elemmennopee" ਕੋਈ ਅੱਖਰ ਨਹੀਂ ਹੈ। ਇਹ ਇੱਕ ਲੱਛਣ ਹੈ।

ਇਹ LMNOP ਸਮੱਸਿਆ ਹੈ, ਅਤੇ ਇਹ ਸਿਰਫ਼ ਨਰਸਰੀ ਰਾਈਮਜ਼ ਤੱਕ ਹੀ ਸੀਮਤ ਨਹੀਂ ਹੈ। ਹਫ਼ਤੇ ਦੇ ਦਿਨ, ਨੰਬਰ ਵਾਲੀਆਂ ਹਦਾਇਤਾਂ, ਅਤੇ ਕਿਸੇ ਵੀ ਕਿਸਮ ਦੀ ਕ੍ਰਮਵਾਰ ਸੂਚੀ ਇਸੇ ਕਮਜ਼ੋਰੀ ਨੂੰ ਉਜਾਗਰ ਕਰਦੀ ਹੈ। ਇੱਕ ਡਿਵੈਲਪਰ ਨੇ ਹਾਲ ਹੀ ਵਿੱਚ ਇੱਕ AI ਪਾਈਪਲਾਈਨ ਰਾਹੀਂ ਅੱਠ ਗੀਤ ਬਣਾ ਕੇ ਅਤੇ mlx-whisper (ਇੱਕ ਆਟੋਮੈਟਿਕ ਸਪੀਚ ਰਿਕੋਗਨੀਸ਼ਨ ਟੂਲ) ਨਾਲ ਨਤੀਜਿਆਂ ਨੂੰ ਮਾਪ ਕੇ ਇਸਦਾ ਟੈਸਟ ਕੀਤਾ। ਵਿਅਕਤੀਗਤ ਸੁਣਨ 'ਤੇ ਭਰੋਸਾ ਕਰਨ ਦੀ ਬਜਾਏ, ਉਨ੍ਹਾਂ ਨੇ ਟ੍ਰਾਂਸਕ੍ਰਿਪਸ਼ਨ ਸਾਫਟਵੇਅਰ ਨੂੰ ਇਹ ਦੱਸਣ ਦਿੱਤਾ ਕਿ AI ਨੇ ਬਿਲਕੁਲ ਕੀ ਗਾਇਆ ਸੀ। ਨਤੀਜੇ ਬਹੁਤ ਸਪਸ਼ਟ ਸਨ। ਗਿਣਤੀ ਜਾਂ ਕ੍ਰਮ (enumeration) ਸਿੰਥੈਟਿਕ ਗਾਇਕਾਂ ਨੂੰ ਉਸ ਤਰੀਕੇ ਨਾਲ ਉਲਝਾ ਦਿੰਦਾ ਹੈ ਜਿਸ ਤਰ੍ਹਾਂ ਆਮ ਭਾਸ਼ਾ ਨਹੀਂ ਕਰਦੀ।

ਸੂਚੀਆਂ (Lists) AI ਆਵਾਜ਼ਾਂ ਨੂੰ ਕਿਉਂ ਵਿਗਾੜਦੀਆਂ ਹਨ

ਬੋਲਣ ਵਾਲੀ ਭਾਸ਼ਾ ਵਿੱਚ ਸੰਦਰਭ (context) ਹੁੰਦਾ ਹੈ। ਜੇਕਰ ਕੋਈ ਬੁੜਬੁੜਾਉਂਦਾ ਹੈ, "ਮੈਂ ਕੁੱਤੇ ਨੂੰ ਪਾਰਕ ਲੈ ਜਾ ਰਿਹਾ ਹਾਂ," ਅਤੇ ਤੁਸੀਂ "ਕੁੱਤਾ" ਸ਼ਬਦ ਸੁਣਨਾ ਭੁੱਲ ਜਾਂਦੇ ਹੋ, ਤਾਂ ਵੀ ਵਾਕ ਦਾ ਮਤਲਬ ਸਮਝ ਆ ਜਾਂਦਾ ਹੈ। ਆਲੇ-ਦੁਆਲੇ ਦੇ ਸ਼ਬਦ ਖਾਲੀ ਥਾਵਾਂ ਨੂੰ ਭਰ ਦਿੰਦੇ ਹਨ। ਪਰ ਸੂਚੀਆਂ ਅਜਿਹੀ ਸੁਰੱਖਿਆ ਨਹੀਂ ਦਿੰਦੀਆਂ। ਹਰ ਆਈਟਮ ਵੱਖਰੀ ਹੁੰਦੀ ਹੈ। ਜੇਕਰ ਮਾਡਲ "B" ਅਤੇ "D" ਦੇ ਵਿਚਕਾਰਲੇ ਅੰਤਰ ਨੂੰ ਮਿਲਾ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਸੁਣਨ ਵਾਲੇ ਨੂੰ ਅਧੂਰਾ ਮਤਲਬ ਨਹੀਂ ਮਿਲਦਾ, ਸਗੋਂ ਸਿਰਫ਼ ਸ਼ੋਰ (noise) ਮਿਲਦਾ ਹੈ।

ਅਲਫਾਬੇਟ ਗੀਤ ਵਿੱਚ, LMNOP ਦਾ ਸਮੂਹ ਸਭ ਤੋਂ ਸਪਸ਼ਟ ਅਸਫਲਤਾ ਦਾ ਬਿੰਦੂ ਹੈ। ਵੌਇਸ ਮਾਡਲ ਇਸ ਕ੍ਰਮ ਨੂੰ ਪੰਜ ਵੱਖਰੇ ਅੱਖਰਾਂ ਦੀ ਬਜਾਏ ਇੱਕ ਸਿੰਗਲ ਫੋਨੇਟਿਕ ਬਲੌਬ ਵਜੋਂ ਲੈਂਦਾ ਹੈ। ਹਰ ਆਵਾਜ਼ ਨੂੰ ਸਥਿਰ ਕਰਨ ਲਈ ਸੰਦਰਭਕ ਸੰਕੇਤਾਂ ਤੋਂ ਬਿਨਾਂ, ਸਿੰਥੇਸਾਈਜ਼ਰ ਵਿਅੰਜਨਾਂ (consonants) ਦੇ ਵਿਚਕਾਰਲੇ ਤਬਦੀਲੀਆਂ ਦਾ ਅੰਦਾਜ਼ਾ ਲਗਾਉਂਦਾ ਹੈ। ਇਹ ਆਮ ਤੌਰ 'ਤੇ ਗਲਤ ਅੰਦਾਜ਼ਾ ਲਗਾਉਂਦਾ ਹੈ। ਇਹੀ ਚੀਜ਼ ਹਫ਼ਤੇ ਦੇ ਦਿਨਾਂ ਜਾਂ ਨੰਬਰ ਵਾਲੇ ਕਦਮਾਂ ਨਾਲ ਵੀ ਹੁੰਦੀ ਹੈ। ਮਾਡਲ ਕ੍ਰਮ ਵਿੱਚ ਤੇਜ਼ੀ ਨਾਲ ਅੱਗੇ ਵਧਦਾ ਹੈ, ਅਤੇ ਵੱਖ-ਵੱਖ ਆਈਟਮਾਂ ਨੂੰ ਇੱਕ ਅਸਪਸ਼ਟ ਮਿਸ਼ਰਣ ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ।

ਨੁਕਸਾਨ ਨੂੰ ਮਾਪਣਾ

ਇਸਦਾ ਨਿਰਪੱਖਤਾ ਨਾਲ ਅਧਿਐਨ ਕਰਨ ਲਈ, ਡਿਵੈਲਪਰ ਨੇ ਅੱਠ ਗੀਤ ਬਣਾਏ ਅਤੇ ਲਿਰਿਕਸ ਦੀ ਸ਼ੁੱਧਤਾ ਨੂੰ ਮਾਪਣ ਲਈ ਉਨ੍ਹਾਂ ਨੂੰ mlx-whisper ਰਾਹੀਂ ਚਲਾਇਆ। ਪਾਈਪਲਾਈਨ ਸਿੱਧੀ ਸੀ: ਇੱਕ ਪ੍ਰੋਂਪਟ ਲਿਖੋ, ਆਡੀਓ ਬਣਾਓ, ਨਤੀਜੇ ਨੂੰ ਟ੍ਰਾਂਸਕ੍ਰਾਈਬ ਕਰੋ, ਅਤੇ ਟ੍ਰਾਂਸਕ੍ਰਾਈਬ ਕੀਤੇ ਟੈਕਸਟ ਦੀ ਤੁਲਨਾ ਅਸਲ ਲਿਰਿਕਸ ਨਾਲ ਕਰੋ।

ਆਮ ਕਹਾਣੀ ਵਾਲੇ ਲਿਰਿਕਸ ਲਈ, ਨਤੀਜਾ ਕਾਫ਼ੀ ਤੱਕ ਸਹੀ ਸੀ। ਸ਼ਬਦ ਉੱਥੇ ਹੀ ਸਨ ਜਿੱਥੇ ਉਨ੍ਹਾਂ ਨੂੰ ਹੋਣਾ ਚਾਹੀਦਾ ਸੀ। ਪਰ ਜਦੋਂ ਪ੍ਰੋਂਪਟ ਵਿੱਚ ਸੂਚੀਆਂ, ਅਲਫਾਬੇਟ ਜਾਂ ਗਿਣਤੀ ਸ਼ਾਮਲ ਸੀ, ਤਾਂ mlx-whisper ਨੇ ਅਰਥਹੀਣ ਸ਼ਬਦ ਦਿੱਤੇ। ਅੱਖਰ ਗਾਇਬ ਹੋ ਗਏ ਜਾਂ ਮਿਲ ਗਏ। ਨੰਬਰ ਅਣਪਛਾਤੇ ਸ਼ਬਦਾਂ ਵਿੱਚ ਬਦਲ ਗਏ। ਪ੍ਰਯੋਗ ਨੇ ਪੁਸ਼ਟੀ ਕੀਤੀ ਕਿ ਸੂਚੀਆਂ ਵਾਲੇ ਲਿਰਿਕਸ ਦੀ ਸਮਝਣਯੋਗਤਾ ਗਦ (prose) ਦੇ ਮੁਕਾਬਲੇ ਕਾਫ਼ੀ ਘੱਟ ਹੁੰਦੀ ਹੈ।

ਪ੍ਰੋਂਪਟ ਆਰਕੀਟੈਕਚਰ ਜੋ ਮਦਦ ਕਰਦਾ ਹੈ

ਤੁਸੀਂ ਇੱਕ ਵਿਗੜੀ ਹੋਈ ਸੂਚੀ ਨੂੰ ਸੁਧਾਰਨ ਲਈ ਪੋਸਟ-ਪ੍ਰੋਸੈਸਿੰਗ 'ਤੇ ਭਰੋਸਾ ਨਹੀਂ ਕਰ ਸਕਦੇ। ਸੁਧਾਰ ਪਹਿਲੇ ਨੋਟ ਦੇ ਬਣਨ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਇੱਕ ਧਿਆਨ ਨਾਲ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਪਹਿਲਾ ਪ੍ਰੋਂਪਟ ਮਾਡਲ ਨੂੰ ਸਪਸ਼ਟ ਉਚਾਰਨ ਲਈ ਮਜਬੂਰ ਕਰ ਸਕਦਾ ਹੈ। ਇਹ ਬਦਲਾਅ ਕਰਨ ਵਿੱਚ ਕੋਈ ਖਰਚਾ ਨਹੀਂ ਆਉਂਦਾ, ਪਰ ਇਹ ਮਾਡਲ ਦੇ ਸਾਹ ਲੈਣ ਅਤੇ ਰੁਕਣ ਦੇ ਤਰੀਕੇ ਨੂੰ ਬਦਲ ਦਿੰਦੇ ਹਨ।

  • ਲੰਬੀਆਂ ਲਾਈਨਾਂ ਨੂੰ ਛੋਟੇ ਸਮੂਹਾਂ ਵਿੱਚ ਵੰਡੋ। A-B-C-D-E ਦੀ ਬਜਾਏ, ਲਾਈਨ ਨੂੰ A-B-C-D ਅਤੇ E-F-G ਵਜੋਂ ਬਣਾਓ। ਸਮੂਹਾਂ ਦੇ ਵਿਚਕਾਰ ਇਹ ਛੋਟਾ ਜਿਹਾ ਰੀਸੈੱਟ ਮਾਡਲ ਨੂੰ ਅੱਖਰਾਂ ਨੂੰ ਮਿਲਾਉਣ ਦੀ ਬਜਾਏ ਸਹੀ ਵਿਅੰਜਨਾਂ 'ਤੇ ਰੁਕਣ ਦਾ ਮੌਕਾ ਦਿੰਦਾ ਹੈ।

  • ਨੰਬਰਾਂ ਨੂੰ ਸ਼ਬਦਾਂ ਵਿੱਚ ਲਿਖੋ। "30" ਦੀ ਬਜਾਏ "thirty" ਦੀ ਵਰਤੋਂ ਕਰੋ। ਲਿਖੇ ਹੋਏ ਅੰਕ ਅਮੂਰਤ ਚਿੰਨ੍ਹ ਹੁੰਦੇ ਹਨ; ਮਾਡਲ ਕਦੇ-ਕਦੇ ਉਨ੍ਹਾਂ ਨੂੰ ਛੋਟੇ ਅਤੇ ਬੇਅਵਾਜ਼ ਸ਼ੋਰ ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ। ਇੱਕ ਪੂਰਾ ਅੰਗਰੇਜ਼ੀ ਸ਼ਬਦ ਫੋਨੇਟਿਕ ਸਪੱਸ਼ਟਤਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।

  • ਅੱਖਰਾਂ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਵਿਜ਼ੂਅਲ ਸਪੇਸਿੰਗ ਰੱਖੋ। "ABC" ਦੀ ਬਜਾਏ ਹਾਈਫਨ ਜਾਂ ਸਪੇਸ ਨਾਲ "A - B - C" ਲਿਖ

ਇਸਦਾ ਦੋਸ਼ੀ ਅਕੂਸਟਿਕ ਸੀਡ (acoustic seed) ਹੈ। ਲਿਰਿਕਸ-ਟੂ-ਸੌਂਗ (lyrics-to-song) ਮਾਡਲਾਂ ਵਿੱਚ, ਪ੍ਰੋਂਪਟ ਬਦਲਣ ਨਾਲ ਸਿਰਫ਼ ਮੌਜੂਦਾ ਆਡੀਓ ਵਿੱਚ ਸੋਧ ਨਹੀਂ ਹੁੰਦੀ। ਇਹ ਪੂਰੀ ਜਨਰੇਟਿਵ ਨੀਂਹ (generative foundation) ਨੂੰ ਮੁੜ-ਵਿਵਸਥਿਤ ਕਰ ਦਿੰਦਾ ਹੈ। ਮਾਡਲ ਪੂਰੀ ਕਾਰਗੁਜ਼ਾਰੀ ਨੂੰ ਸ਼ੁਰੂ ਤੋਂ ਮੁੜ ਬਣਾਉਂਦਾ ਹੈ। ਕਹਾਣੀ ਵਾਲੇ ਟੈਕਸਟ ਲਈ, ਨਵਾਂ ਡਾਈਸ ਰੋਲ (dice roll) ਸ਼ਾਇਦ ਇੱਕ ਸਪਸ਼ਟ ਰਿਕਾਰਡਿੰਗ ਦੇ ਰੂਪ ਵਿੱਚ ਸਾਹਮਣੇ ਆਵੇ। ਲਿਸਟਾਂ ਲਈ, ਤੁਸੀਂ ਆਮ ਤੌਰ 'ਤੇ ਹੋਰ ਵੀ ਮਾੜੀ ਅਸਪਸ਼ਟਤਾ ਨੂੰ ਸੱਦਾ ਦੇ ਰਹੇ ਹੁੰਦੇ ਹੋ। ਤੁਸੀਂ ਸ਼ਾਇਦ ਇੱਕ ਅੱਖਰ ਦੀ ਟਾਈਮਿੰਗ ਨੂੰ ਠੀਕ ਕਰ ਲਵੋ, ਪਰ ਅਗਲੀ ਕੋਸ਼ਿਸ਼ ਵਿੱਚ ਮਾਡਲ "J," "K," ਅਤੇ "L" ਨੂੰ ਬੁਰੀ ਤਰ੍ਹਾਂ ਵਿਗਾੜ ਦੇਵੇਗਾ। ਅਸਲ ਰਿਕਾਰਡਿੰਗ ਵਿੱਚ ਖਾਮੀਆਂ ਸਨ, ਪਰ ਸੁਧਾਰ ਅਕਸਰ ਇੱਕ ਫੋਨੇਟਿਕ (phonetic) ਗੜਬੜ ਦੀ ਥਾਂ ਦੂਜੀ ਗੜਬੜ ਲੈ ਕੇ ਆਉਂਦਾ ਹੈ।

ਲਿਸਟ-ਭਾਰੀ ਲਿਰਿਕਸ ਲਈ ਇੱਕ ਸਮਾਰਟ ਵਰਕਫਲੋ

ਕਿਉਂਕਿ ਦੁਬਾਰਾ ਜਨਰੇਟ ਕਰਨ ਨਾਲ ਸਪਸ਼ਟਤਾ ਖ਼ਤਮ ਹੋਣ ਦਾ ਖ਼ਤਰਾ ਹੁੰਦਾ ਹੈ, ਇਸ ਲਈ ਤੁਹਾਡੀ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਬਦਲਣ ਦੀ ਲੋੜ ਹੈ। ਸੰਪੂਰਨ ਰੀ-ਰਾਈਟ (rewrite) ਦੇ ਪਿੱਛੇ ਭੱਜਣਾ ਬੰਦ ਕਰੋ। ਇਸ ਦੀ ਬਜਾਏ, ਪਹਿਲੇ ਪ੍ਰੋਂਪਟ ਨੂੰ ਇੱਕ ਕਾਸਟਿੰਗ ਕਾਲ (casting call) ਵਾਂਗ ਸਮਝੋ।

ਵੱਖ-ਵੱਖ ਰੈਂਡਮ ਸੀਡਸ (random seeds) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬਿਲਕੁਲ ਉਹੀ ਪ੍ਰੋਂਪਟ ਤੋਂ ਕਈ ਵਰਜ਼ਨ ਤਿਆਰ ਕਰੋ। ਟੈਕਸਟ ਨੂੰ ਨਾ ਛੇੜੋ। ਲਿਰਿਕਸ ਨੂੰ ਸਥਿਰ ਰੱਖੋ ਅਤੇ ਮਾਡਲ ਨੂੰ ਆਪਣੀ ਕਾਰਗੁਜ਼ਾਰੀ ਬਦਲਣ ਦਿਓ। ਤੁਸੀਂ ਇੱਕ ਆਡੀਸ਼ਨ ਕਰ ਰਹੇ ਹੋ, ਐਡਿਟ ਸੈਸ਼ਨ ਨਹੀਂ।

ਫਿਰ ਹਰ ਉਮੀਦਵਾਰ ਨੂੰ ਸਕੋਰ ਦਿਓ। ਹਰੇਕ ਵਰਜ਼ਨ ਨੂੰ mlx-whisper ਜਾਂ ਕਿਸੇ ਸਮਾਨ ਟ੍ਰਾਂਸਕ੍ਰਿਪਸ਼ਨ ਟੂਲ ਰਾਹੀਂ ਚਲਾਓ ਅਤੇ ਮਾਪੋ ਕਿ ਕਿਹੜਾ ਰਿਕਾਰਡਿੰਗ ਤੁਹਾਡੇ ਪ੍ਰੋਂਪਟ ਨਾਲ ਸਭ ਤੋਂ ਵਧੀਆ ਤਰੀਕੇ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ। ਜੇਕਰ ਇੰਸਟਰੂਮੈਂਟੇਸ਼ਨ ਜਾਂ ਵੋਕਲ ਟੋਨ ਥੋੜ੍ਹਾ ਘੱਟ ਨਿਖਾਰਿਆ ਹੋਇਆ ਹੈ, ਤਾਂ ਵੀ ਲਿਰਿਕ ਸਹੀ ਹੋਣ ਦੇ ਆਧਾਰ 'ਤੇ ਜੇਤੂ ਦੀ ਚੋਣ ਕਰੋ। ਲਿਸਟ-ਭਾਰੀ ਸਮੱਗਰੀ ਲਈ, ਵਾਈਬ (vibe) ਨਾਲੋਂ ਸਪਸ਼ਟਤਾ (intelligibility) ਜ਼ਿਆਦਾ ਮਹੱਤਵ ਰੱਖਦੀ ਹੈ।

ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਗੱਲ ਇਹ ਹੈ ਕਿ ਆਪਣੇ ਸੁਧਾਰ ਪਹਿਲਾਂ ਹੀ ਕਰ ਲਵੋ। ਜਨਰੇਟ ਬਟਨ ਦਬਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਸਪੇਸਿੰਗ ਨਿਯਮ, ਸਿਲੇਬਲ (syllable) ਦੀਆਂ ਸੀਮਾਵਾਂ ਅਤੇ ਗਰੁੱਪਿੰਗ ਲਾਗੂ ਕਰੋ। ਅਲਫਾਬੇਟ ਗੀਤ ਨੂੰ ਸਧਾਰਨ ਅੰਗਰੇਜ਼ੀ ਵਿੱਚ ਨਾ ਲਿਖੋ ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਉਸ ਨੂੰ ਸੁਧਾਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਨਾ ਕਰੋ। ਜਦੋਂ ਲਿਸਟਾਂ ਸ਼ਾਮਲ ਹੁੰਦੀਆਂ ਹਨ, ਤਾਂ ਮਾਡਲ ਪਿਛਲੇ ਸਮੇਂ ਵਿੱਚ ਕੀਤੇ ਗਏ ਬਦਲਾਅ (retroactive edits) ਨੂੰ ਸਵੀਕਾਰ ਨਹੀਂ ਕਰਦਾ। A