ਰਾਸਪਪੀ ਮਿਊਜ਼ਿਕਲ ਕੀਬੋਰਡ

ਪ੍ਰੋਜੈਕਟ ਦਾ GitHub ਰੈਪੋ

ਡੈਮੋ/ਵਿਆਖਿਆ

ਸਿਰਜਣਹਾਰ/ਭੂਮਿਕਾਵਾਂ

  • Andrew Darling
    • ਕੋਡ ਲਈ ਆਬਜੈਕਟ-ਓਰੀਐਂਟਡ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਦੀ ਬਣਤਰ ਅਤੇ ਲਾਜਿਕ ਲਿਖੀ।
  • Riley Royall
    • RPBP ਲਈ ਸਰਕਟ ਬਣਾਇਆ।
  • Mehmet Yilmaz
    • ਕੋਡ ਲਈ GUI ਐਲਿਮੈਂਟ ਅਤੇ ਸ਼ੀਟ ਮਿਊਜ਼ਿਕ ਜਨਰੇਟਰ ਲਿਖਿਆ।

ਬਾਰੇ

Raspberry Pi Buzzer Piano (RPBP) ਪ੍ਰੋਜੈਕਟ ਪਾਈਥਨ ਸੈਂਸਰ ਸਿਸਟਮਸ (CSCI-250) ਦਾ ਇੱਕ ਫਾਈਨਲ ਪ੍ਰੋਜੈਕਟ ਸੀ, ਜੋ ਕਿ ਕੋਲੋਰਾਡੋ ਸਕੂਲ ਆਫ ਮਾਈਨਜ਼ ਵੱਲੋਂ ਪਤਝੜ 2019 ਸੈਮੇਸਟਰ ਦੌਰਾਨ ਪ੍ਰਦਾਨ ਕੀਤੀ ਗਈ ਅੰਡਰਗ੍ਰੈਜੂਏਟ ਕਲਾਸ ਸੀ। ਇਹ ਪ੍ਰੋਜੈਕਟ ਐਂਡਰਿਊ ਡਾਰਲਿੰਗ, ਰਾਈਲੀ ਰਾਯਲ ਅਤੇ ਮਹੇਮਤ ਯਿਲਮਾਜ਼ ਦੀ ਸਮੂਹੀ ਪ੍ਰੋਜੈਕਟ ਸੀ। ਇਹ ਅਧਿਕਾਰਿਕ ਤੌਰ ‘ਤੇ ਨਵੰਬਰ 2019 ਦੇ ਅਖੀਰ ਅਤੇ ਦਸੰਬਰ 2019 ਦੀ ਸ਼ੁਰੂਆਤ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਮੁਕੰਮਲ ਹੋਇਆ।

ਸਾਡਾ ਪ੍ਰੋਜੈਕਟ ਇੱਕ Raspberry Pi Buzzer Piano (RPBP) ਹੈ। ਇਹ RPBP ਵਿਚਾਰ ਇੱਕ ਮਿਉਜ਼ਿਕਲ ਕੀਬੋਰਡ ਹੈ ਜਿਸ ਵਿੱਚ 13 ਕੁੰਜੀਆਂ ਹੋਣਗੀਆਂ, ਜਿੱਥੇ ਕੁੰਜੀਆਂ ਸਿਰਫ ਬਟਨ ਹਨ ਜੋ ਪਿਆਨੋ ਦੀਆਂ ਕੁੰਜੀਆਂ ਵਾਂਗ ਕੰਮ ਕਰ ਸਕਦੀਆਂ ਹਨ। ਜਦੋਂ ਕਿਸੇ ਕੁੰਜੀ ਨੂੰ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇਹ ਇੱਕ ਜਾਂ ਵੱਧ ਬਜ਼ਰਾਂ ਨੂੰ ਵੱਖ-ਵੱਖ ਫ੍ਰੀਕੁਐਨਸੀ ‘ਤੇ ਬਜ਼ ਕਰਨ ਦਾ ਕਾਰਨ ਬਣੇਗਾ ਜੋ ਕਿ ਕਿਸੇ ਖਾਸ ਬਟਨ ਨੂੰ ਦਬਾਉਣ ‘ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ। ਇੱਥੇ ਦੋ ਪੋਟੈਂਸ਼ੀਓਮੀਟਰ ਵੀ ਹੋਣਗੇ, ਜਿਨ੍ਹਾਂ ਵਿੱਚੋਂ ਇੱਕ RPBP ਦੇ 3 ਮੋਡਾਂ ਵਿੱਚ ਬਦਲਣ ਲਈ ਵਰਤਿਆ ਜਾਵੇਗਾ ਅਤੇ ਦੂਜਾ ਬਜ਼ਰਾਂ ਦੇ ਆਕਟੇਵ(ਜ਼) ਬਦਲਣ ਲਈ ਵਰਤਿਆ ਜਾਵੇਗਾ। RPBP ਤੇ 3 ਮੋਡ ਹਨ: ਫ੍ਰੀ-ਪਲੇ, ਰਿਕਾਰਡ, ਅਤੇ ਪਲੇ-ਬੈਕ। ਫ੍ਰੀ-ਪਲੇ ਉਪਭੋਗਤਾ ਨੂੰ RPBP ਵੱਜਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਅਤੇ ਉਹ ਸਿਰਫ ਸੁਣ ਸਕਦਾ ਹੈ ਕਿ ਕਿਸ ਕੁੰਜੀ ਨੂੰ ਦਬਾਇਆ ਗਿਆ ਹੈ। ਰਿਕਾਰਡ ਮੋਡ ਉਪਭੋਗਤਾ ਨੂੰ RPBP ਨੂੰ ਫ੍ਰੀ-ਪਲੇ ਕਰਨ ਦੇ ਸਮੇਂ ਉਸਨੂੰ npy ਫਾਈਲ ਵਿੱਚ ਇਕੱਠਾ ਰਿਕਾਰਡ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਅਤੇ ਉਸ ਰਿਕਾਰਡਿੰਗ ਲਈ PDF ਰੂਪ ਵਿੱਚ ਸ਼ੀਟ ਮਿਊਜ਼ਿਕ ਬਣਾਉਂਦਾ ਹੈ। ਪਲੇ-ਬੈਕ ਮੋਡ ਉਪਭੋਗਤਾ ਨੂੰ ਰਿਕਾਰਡ ਕੀਤੀ ਫਾਈਲ ਦਾ ਨਾਮ ਦਰਜ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਅਤੇ ਸਰਕਟ ਉਕਤ ਰਿਕਾਰਡ ਕੀਤੀ ਫਾਈਲ ਨੂੰ ਬਜ਼ਰਾਂ ਰਾਹੀਂ ਵਜਾਉਂਦਾ ਹੈ। ਸਾਰੀ ਸ਼ੀਟ ਮਿਊਜ਼ਿਕ ਇੱਕ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਸੇਵ ਕੀਤੀ ਜਾਵੇਗੀ, ਤਾਂ ਜੋ ਉਪਭੋਗਤਾ ਆਪਣੀਆਂ ਸ਼ੀਟ ਮਿਊਜ਼ਿਕ ਨੂੰ ਹਰ ਵੇਲੇ ਵੇਖ ਸਕੇ। ਹਰ ਬਟਨ/ਕੁੰਜੀ ‘ਤੇ ਇੱਕ LED ਹੈ ਜੋ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਬਟਨ/ਕੁੰਜੀ ਦਬਾਈ ਗਈ ਹੈ। ਇਹ ਪ੍ਰੋਜੈਕਟ ਸਿਰਫ਼ Rasbian (ਰਾਸਪਬੈਰੀ ਪਾਈ ਓਐਸ) ਉੱਤੇ ਹੀ ਸਹੀ ਤਰੀਕੇ ਨਾਲ ਸੈੱਟਅੱਪ ਕੀਤੀਆਂ ਲੋੜਾਂ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਪਰਖਿਆ ਗਿਆ ਹੈ।

ਲੋੜਾਂ

ਜਾਣਕਾਰੀ

  • ਮੋਡ:
    • ਫ੍ਰੀ-ਪਲੇ: ਉਪਭੋਗਤਾ ਨੂੰ ਸਿਰਫ RPBP ਵੱਜਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।
    • ਰਿਕਾਰਡ: ਉਪਭੋਗਤਾ ਨੂੰ ਜੋ ਵੀ ਉਹ ਵੱਜਾਉਂਦਾ ਹੈ ਉਸ ਨੂੰ ਰਿਕਾਰਡ ਕਰਨ, ਉਸ ਰਿਕਾਰਡਿੰਗ ਨੂੰ ਸੇਵ ਕਰਨ ਅਤੇ ਜਿਸ ਨੂੰ ਉਹ ਰਿਕਾਰਡ ਕਰਦਾ ਹੈ ਉਸ ਲਈ ਸ਼ੀਟ ਮਿਊਜ਼ਿਕ ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।
    • ਪਲੇ-ਬੈਕ: ਉਪਭੋਗਤਾ ਨੂੰ ਕੋਈ ਵੀ ਰਿਕਾਰਡਿੰਗ ਜੋ ਉਸਨੇ ਡਾਊਨਲੋਡ ਕੀਤੀ ਜਾਂ ਬਣਾਈ, ਉਸਨੂੰ ਵਜਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।
    • ਮਿਊਟ: RPBP ਤੇ ਸਾਰੇ ਬਜ਼ਰਾਂ ਨੂੰ ਮਿਊਟ ਕਰਦਾ ਹੈ।
  • ਮੋਡਾਂ ਵਿਚ ਬਦਲਣ ਦੇ ਤਰੀਕੇ:
    • GUI ‘ਤੇ ਸੈਟਿੰਗਜ਼/ਮੁੱਲ ਬਦਲੋ ਅਤੇ ਸਬਮਿਟ ਬਟਨ ਦਬਾਓ।
  • ਹੋਰ ਨੋਟਸ:
    • GUI ਤੋਂ RPBP ਬਾਰੇ ਹੋਰ ਜਾਣਨ ਲਈ, README ਬਟਨ ਨੂੰ ਦਬਾਓ ਅਤੇ ਇਹ README ਖੁੱਲ ਜਾਏਗਾ।

ਸਰਕਟ

  • ਤੁਸੀਂ ਇਸ ਪ੍ਰੋਜੈਕਟ ਲਈ ਵਰਤੇ ਗਏ ਸਰਕਟ ਬੋਰਡ ਦੀਆਂ ਤਸਵੀਰਾਂ ਸਰਕਟ ਤਸਵੀਰਾਂ ਸੈਕਸ਼ਨ ਵਿੱਚ ਵੇਖ ਸਕਦੇ ਹੋ।
  • Pi Wedge ਇੱਕ ਰਿਬਨ ਕੇਬਲ ਰਾਹੀਂ Raspberry Pi 3 B+ ਨਾਲ ਜੁੜਿਆ ਹੈ।
  • Raspberry Pi ਇਸ ਰੈਪੋ ਵਿੱਚ ਦਿੱਤਾ ਹੋਇਆ ਕੋਡ ਚਲਾਉਂਦਾ ਹੈ ਜਿਸ ਨਾਲ ਇਸ README ਵਿੱਚ ਦਿੱਖਾਏ ਗਏ ਡਰਾਇਵਰ ਜੁੜੇ ਹਨ।
  • ਮਾਫ਼ ਕਰਨਾ ਕਿ ਸਰਕਟ ਲੇਆਉਟ ਬਹੁਤ ਗੁੰਝਲਦਾਰ ਹੈ, ਦੁੱਖ ਦੀ ਗੱਲ ਹੈ ਕਿ ਅਸੀਂ ਇਸ ਹਿੱਸੇ ਨੂੰ ਚੰਗੀ ਤਰ੍ਹਾਂ ਡੌਕਯੂਮੈਂਟ ਨਹੀਂ ਕੀਤਾ।

ਵਰਤੋਂ ਕਰਨ ਦਾ ਤਰੀਕਾ:

  • ਪਹਿਲਾਂ, ਪੱਕਾ ਕਰੋ ਕਿ ਸਾਰੀਆਂ ਲੋੜਾਂ ਮਿਲ ਗਈਆਂ ਹਨ ਫਿਰ start.sh ਬੈਸ਼ ਸਕ੍ਰਿਪਟ ਚਲਾਓ ਅਤੇ ਇੱਕ GUI ਖੁੱਲ ਜਾਵੇਗਾ।
  • ਦੂਜਾ, “Modes” ਲੇਬਲ ਹੇਠਾਂ ਤੁਸੀਂ ਜਿਹੜਾ ਮੋਡ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ ਉਸ ਨੂੰ ਚੁਣੋ।
  • [ ਇਹ ਕਦਮ ਉਹਨਾਂ ਲਈ ਹਨ ਜੋ “ਫ੍ਰੀ-ਪਲੇ” ਮੋਡ ਚੁਣਦੇ ਹਨ ]
    • Third_10: ਸਬਮਿਟ ਬਟਨ ਦਬਾਓ ਅਤੇ RPBP ‘ਤੇ ਵੱਜਾਉਣਾ ਸ਼ੁਰੂ ਕਰੋ
  • [ ਇਹ ਕਦਮ ਉਹਨਾਂ ਲਈ ਹਨ ਜੋ “ਰਿਕਾਰਡ” ਮੋਡ ਚੁਣਦੇ ਹਨ ]
    • Third_20, “Record Name” ਲੇਬਲ ਹੇਠਾਂ ਆਪਣੀ ਰਿਕਾਰਡ ਕੀਤੀ ਫਾਈਲ ਨੂੰ ਦੇਣ ਲਈ ਨਾਮ ਲਿਖੋ।
    • Third_21, Submit ਬਟਨ ਦਬਾਓ ਅਤੇ ਇੱਕ ਲਾਲ LED ਔਨ ਹੋ ਜਾਵੇਗੀ।
    • Third_22, RPBP ‘ਤੇ ਵੱਜਾਓ ਅਤੇ ਜਦੋਂ ਤੁਸੀਂ ਖਤਮ ਹੋ ਜਾਓ, GUI ‘ਤੇ Stop ਬਟਨ ਦਬਾਓ।
    • Third_23, ਜਦੋਂ ਤੁਸੀਂ Stop ਬਟਨ ਦਬਾਉਂਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਡੀ ਰਿਕਾਰਡਿੰਗ ਸੇਵ ਹੋ ਜਾਵੇਗੀ ਅਤੇ ਤੁਹਾਡੀ ਸ਼ੀਟ ਮਿਊਜ਼ਿਕ ਜਨਰੇਟ ਹੋ ਕੇ ਤੁਹਾਡੇ ਲਈ PDF ਵਜੋਂ ਖੁੱਲ ਜਾਏਗੀ ਅਤੇ ਇਹ SHEETS ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਸੰਭਾਲੀ ਜਾਵੇਗੀ।
  • [ ਇਹ ਕਦਮ ਉਹਨਾਂ ਲਈ ਹਨ ਜੋ “ਪਲੇ-ਬੈਕ” ਚੁਣਦੇ ਹਨ ]
    • Third_30, “Send It” ਲੇਬਲ ਹੇਠਾਂ ਉਹ ਗੀਤ ਫਾਈਲ ਚੁਣੋ ਜੋ ਤੁਸੀਂ ਵਜਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ
    • Third_31, Submit ਬਟਨ ਦਬਾਓ ਅਤੇ ਤੁਸੀਂ ਚੁਣੀ ਗਈ ਗੀਤ ਫਾਈਲ ਸੁਣਨਾ ਸ਼ੁਰੂ ਕਰ ਦਿਓਗੇ।
  • [ ਇਹ ਕਦਮ ਉਹਨਾਂ ਲਈ ਹਨ ਜੋ “ਮਿਊਟ” ਮੋਡ ਚੁਣਦੇ ਹਨ ]
    • Third_40, ਸਿਰਫ Submit ਬਟਨ ਦਬਾਓ ਅਤੇ ਸਾਰੇ ਬਜ਼ਰ ਤੱਕ ਮਿਊਟ ਰਹਿਣਗੇ ਜਦ ਤਕ ਤੁਸੀਂ ਕਿਸੇ ਹੋਰ ਮੋਡ ‘ਤੇ ਨਹੀ ਚਲੇ ਜਾਂਦੇ
  • ਚੌਥਾ, ਜਦੋਂ ਤੁਸੀਂ RPBP ਦੇ ਨਾਲ ਸਾਰਾ ਕੰਮ ਮੁਕੰਮਲ ਕਰ ਲਓ, ਤਾਂ GUI ਅਤੇ ਸਮੁੱਚੇ ਪ੍ਰੋਗ੍ਰਾਮ ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ Exit ਬਟਨ ਦਬਾਓ

ਸਰਕਟ ਤਸਵੀਰਾਂ

GUI_ਚਿੱਤਰ
GUI_ਚਿੱਤਰ
GUI_ਚਿੱਤਰ