æ°å¹Žåãç§ã®å€ãã€ããPSR-GX76ã·ã³ã»ãµã€ã¶ãŒã¯åæ¢ãªæ»ãéããŸããã ããã¯ã12 Vã®ä»£ããã«èª€ã£ãŠ24 Vé»æºãæ¥ç¶ããããã«çºçããŸããããã®ã¢ãŒãã§ã¯ãã·ã³ã»ãµã€ã¶ãŒãæ°åéè±éçã«åäœãããã®åŸããªãŒãã£ãªããžã¥ã¢ã«ã®ç¹æ®å¹æãšç¹å®ã®åãã䌎ããã·ã³ã»ãµã€ã¶ãŒã¯ãªã³ã«ãªããŸããã§ããã ãã以æ¥ã圌ã¯ç®±ã«ã»ãããéããŠæéãåŸ ã£ãŠããŸããã ããã€ãã®èšäºã§ãéåãæ°ããçåœãå¹ã蟌ããšããã¢ã€ãã¢ãããçµæã®å®è£ ãšãã¢ã³ã¹ãã¬ãŒã·ã§ã³ãŸã§ã©ã®ããã«é²ãã ãã説æããŸãã
æ€æ»
å žåçãªã·ã³ã»ãµã€ã¶ãŒã¯ãããã€ãã®äž»èŠéšåã§æ§æãããŠããŸãïŒãµãŠã³ããžã§ãã¬ãŒã¿ãŒã¢ãžã¥ãŒã«ïŒéåžžããµãŠã³ããžã§ãã¬ãŒã¿ãŒã®ããããšæ¥œåšã®ãµã³ãã«ãå«ãã¡ã¢ãªãå«ãïŒããªãŒãã£ãªã¢ã³ãã¢ãžã¥ãŒã«ãããã³ã·ã³ã»ãµã€ã¶ãŒã®ããŒããŒããããªãã¯ã¹ãã¹ãã£ã³ããã¢ãžã¥ãŒã«ã
ãªãŒãã£ãªã¢ã³ãã¢ãžã¥ãŒã«ïŒé»æºãšçµã¿åãããŠïŒ
ãµãŠã³ããžã§ãã¬ãŒã¿ãŒã¢ãžã¥ãŒã«ïŒå¯èŠã¡ã¢ãªããµãŠã³ããžã§ãã¬ãŒã¿ãŒèªäœãèé¢ã«é 眮ïŒ
åæ€ã«ãããç§ã®ã·ã³ã»ãµã€ã¶ãŒã§ã¯ããµãŠã³ããžã§ãã¬ãŒã¿ãŒãšããŒããŒããããªãã¯ã¹ã¹ãã£ããŒã«é»å§ãäŸçµŠãã圹å²ãæãããŠããé»æºé»å§ã¬ã®ã¥ã¬ãŒã¿ãŒãç ŽããããšãããããŸããã æ®å¿µãªãããã¹ã¿ãã©ã€ã¶ãŒãæ°ãããã®ã«äº€æããŠãçµæã¯åŸãããŸããã§ããã ãããªãåæã«ãããäž¡æ¹ã®è¶ å°ååè·¯ã¯æããã«æ©èœããªããªã£ãŠããããšã瀺ãããŸããããã ããæ£ãããªã»ããä¿¡å·ãšã¯ããã¯ä¿¡å·ããããŸãããè¶ å°ååè·¯èªäœã«ã¯çåœã®å åã¯ãããŸããã ãããã®è¶ å°ååè·¯ã¯ãã€ããã®ã·ã³ã»ãµã€ã¶ãŒå°çšã«è£œé ããããããç¹ã«ã¢ãã«ãå€ããããæ°ãããã®ãšäº€æããããšã¯ã§ããŸããã§ããã ãããŠãå€ããµãŠã³ããžã§ãã¬ãŒã¿ãŒã¢ãžã¥ãŒã«ã修埩ããŠæšãŠãLinuxãšWi-Fiã§å®å šã«å®å šã«ã«ã¹ã¿ãã€ãºå¯èœãªç¬èªã®ã¢ãžã¥ãŒã«ãäœæãã代ããã«ãã¢ã€ãã¢ãæµ®ããã§ããŸããã
ãã©ãããã©ãŒã ã®éžæ-æ°ããã·ã³ã»ãµã€ã¶ãŒã®åºæ¬
ãã®èãã«èå³ãæã£ãŠãç§ã¯æ°ããã·ã³ã»ãµã€ã¶ãŒãé è³ããäœæãããããšã«åºã¥ããŠãã©ãããã©ãŒã ãéžæãå§ããŸããã æåã®ã¢ã€ãã¢ã¯ããµãŠã³ãåæãå®è£ ãããã¡ãŒã ãŠã§ã¢ããŒãããå®è£ ããããšã ã£ããããSTM32ã®æ¯èŒçåçŽãªãããã°ããŒãããæ€çŽ¢ãéå§ããŸããã éžæåºæºã¯ãå°ãªããšãæ°åã¡ã¬ãã€ãã®ã¡ã¢ãªã®ååšãSDã«ãŒãã¹ãããããªãŒãã£ãªåºåãããã³LCDãã£ã¹ãã¬ã€ã®æ¥ç¶èœåã§ããã ãã®åŸããã匷åãªãã®ã䜿çšãããšããã¢ã€ãã¢ãæµ®äžããç§ã¯Raspberry Piãã¢ã€ãã«ç¶æ ã«ããããšãæãåºããŸããã ããããããã¯ããã€ãã®çç±ã§æåŸã«ã¯åãŸããŸããã§ããïŒç®±ããåºã
ãã®æè¡çç¹æ§ã¯è¡šã«ç€ºãããŠãããçºè¡äŸ¡æ Œã¯48ç±³ãã«ã§ãã
å¯žæ³ | 100x65x20 mmïŒã³ãã¯ã¿ãé€ãïŒ |
CPU | Samsung S5PV210 Cortex-A8ïŒ1 GHzïŒ |
RAM | 512 MB * |
EMMCãã©ãã·ã¥ | 4 GB |
USBããŒã | 4ã€ã®USB 2.0ããŒãã1ã€ã®USB OTGããŒã |
é³å£° | æ倧48 KHzã®å ¥åºåãWM8960 |
HDMI | HDMI 1.3 1080p @ 30 FPS |
ã€ãŒãµããã | 100 Mããã |
ã·ãªã¢ã«ããŒã | 3ããŒã3.3VãæšæºRS232ã¬ãã«ã®1ããŒã |
æèš | ãªã¢ã«ã¿ã€ã ã¯ããã¯ãµããŒãïŒãã©ã¹ããããªãŒïŒ |
ã¡ã¢ãªãŒã«ãŒã | SDã«ãŒãã®ã€ã³ã¿ãŒãã§ãŒã¹ |
ãã¿ã³ | 2ã€ã®ããã°ã©ã å¯èœãªãã¿ã³ |
ã«ã¡ã© | ãããªã«ã¡ã©ãæ¥ç¶ããããã®ç¹å¥ãªããŒã |
LED | 4ã€ã®ããã°ã©ã å¯èœãªLED |
IrDA | å èµIRã¬ã·ãŒã㌠|
ãã£ã¹ãã¬ã€ | LCDæ¥ç¶çšã®40ãã³FPCïŒæµææ§ããã³å®¹éæ§ã¹ã¯ãªãŒã³ããµããŒãïŒ |
50ãã³ã³ãã¯ã¿ | 17 GPIOã©ã€ã³ã4ãã£ã³ãã«ADCãSPIã2 PWMãè¿œå ã®SDã€ã³ã¿ãŒãã§ã€ã¹ |
ããã³ã³ãã¥ãŒã¿ãŒãä»ãã2æã®DVDã«åé²ãããŠãã倧éã®ããã¥ã¡ã³ãã«æéãåããŸããïŒãã£ã¹ã¯ã«ã¯å®å šãªåè·¯å³ã䜿çšãããŠããåãããã®ããã¥ã¡ã³ããããã»ããµã®å®å šãªããã¥ã¡ã³ãããŠãŒã¶ãŒããã¥ã¢ã«ïŒäžåœèªã§ããããã¹ãŠãæ確ã§ãïŒããŸããŸãªæ瀺ïŒããšãã°ãUbuntuã®ã€ã³ã¹ããŒã«ãããã«ã¯Qtã§ã®éçºã«é¢ããïŒã ããã«ãLinux 3.0.8ã«ãŒãã«ã®ãœãŒã¹ã³ãŒããAndroidã·ã¹ãã ã®ãœãŒã¹ã³ãŒããEmbedSkyã®äžéšã®ãœãããŠã§ã¢ãGCC 4.4.3ãQtã®ãœãŒã¹ã³ãŒããªã©ããããŸãã LinuxãšAndroid 4.0.4ã®2ã€ã®OSãäžåºŠã«ããŒãã«ããªã€ã³ã¹ããŒã«ãããŸãããããã®éžæã¯U-BootããŒããŒãä»ããŠããŒããããŸãã Androidã¯å®¹èµŠãªãåãå£ãããå©çšå¯èœãªeMMCãã©ãã·ã¥ã¡ã¢ãªã¯ãã¹ãŠåçŽãªLinuxã§äœ¿çšãããŸããã
ããŒãã容éæ§ã¹ã¯ãªãŒã³ã§åäœããããã«æåã«æ§æãããããšã¯æ³šç®ã«å€ããŸãã æµææ§ã€ã³ã¿ãŒãã§ã€ã¹ã«åãæ¿ããã«ã¯ãLCDã³ãã¯ã¿ã®é£ã®ããŒãã®èé¢ã«ãã2ã€ã®ãžã£ã³ããåã¯ãã ä»ãããå¿ èŠããããŸãã å®éãããã¯ããŒãã®ããã©ãŒãã³ã¹ã確èªããåŸãããŒãã§æåã«ããããšã§ãã ããã«ãeMMCã«é ç·ãããLinuxã€ã¡ãŒãžãããã©ã«ãã§éé»å®¹éã»ã³ãµãŒã䜿çšããããã«èšå®ãããŠããããšãå€æããŸããã 圌ã¯QtãšTslibã®èšå®ãæãäžããŠæ°æé殺ããŸããããæçµçã«ã¯æåŸ ã©ããã«ã¿ãããæ©èœããŸããã
QtããŒãžã§ã³4.5ã¯ããŒãã«ä»å±ããŠããŸã-ããªãå€ãããŒãžã§ã³ã§ãã æ°ãããã®ãã¹ãŠã倧奜ããªã®ã§ããããžã§ã¯ãã«åãçµãããã«ãARM Qtçšã«ææ°ããŒãžã§ã³5ãã³ã³ãã€ã«ããããšã«ããŸããããŸããéçºã«ããŸãæéããããããªãã£ãã®ã§ãããã«ãã¹ãŠãPythonã§æžãããšã«ããŸããã PyQt5ã©ã€ãã©ãªãã Samsung S5PV210ããã»ããµã«ã¯OpenGL ES 2.0ããµããŒããã3Dã¢ã¯ã»ã©ã¬ãŒã¿ãçµã¿èŸŒãŸããŠããŸãããæ®å¿µãªãããSamsungã¯Android OSå°çšã®OpenGLãã©ã€ããŒãæäŸããŠãããããOpenGL ESããµããŒãããQt 5ã䜿çšã§ããŸããã§ããïŒAndroidã€ã¡ãŒãžããå¿ èŠãªDLLãã³ããŒããããšããŸããããã©ã€ãã©ãªã®äžéšã¯
libhardware.so
ããã³ad infinitumã«äŸåããŠãããããã°ã©ãã£ãã¯åºåãã©ãããã©ãŒã ãšããŠLinuxFBã«æ±ºããŸããã Qt 5ã®ã³ã³ãã€ã«ã«ç¹å¥ãªåé¡ã¯ãããŸããã§ãããåºç€ãšããŠãRaspberry Piã®æ§æãååŸããOpenGL ESã«é¢é£ãããã¹ãŠãåãåããŸããã 次ã«ããã¡ãã®æé ã䜿çšããŠPython 2.7.6ãã³ã³ãã€ã«ããŸãã ã
ARMã©ã€ãã©ãªçšã«PyQt5ããã«ããããšåé¡ãçºçããŸãã-OpenGLãµããŒããªãã§Qtããã«ãããå Žåã§ããã©ã€ãã©ãªã¯OpenGLããããŒã«äŸåããŠããããšãå€æããŸããã ã©ã€ãã©ãªã«ããããé©çšããŠãäŸåé¢ä¿ãåé€ããå¿ èŠããããŸããã ãããã¯PyQtã¡ãŒãªã³ã°ãªã¹ãã§å ¬éãããŸãã ã OpenGLã䜿çšããªããã«ãå¯èœæ§ããŸããªãã¢ããã¹ããªãŒã ã«è¿œå ãããŸãã PyQt5ããã«ãããåŸãQtãã£ã¹ããªãã¥ãŒã·ã§ã³ã®ãµã³ãã«ãããã€ã¹ã§æ£åžžã«ãã¹ãããPythonã«ç§»æ€ããŠãPyQtã®äžéšãšããŠé åžããŸããã
LinuxSamplerããã³FluidSynthçšã®PyQt5ã§æžãããGUI
ããã«ç¶ããŠãLinuxSamplerãšãã®äŸåé¢ä¿ãã¯ãã¹ã³ã³ãã€ã«ããŸãïŒ
libaudiofile
ã
libfftw
ã
libgig
ã
libsndfile
ã
libsamplerate
ã ã©ã€ãã©ãªã³ãŒããUltimate
off_t
checkãã§ååãä»ãããã
libsndfile
ã§èå³æ·±ãæ©èœãçºèŠãããŸãã
off_t
åã®
off_t
ã8ãã€ãã§ããããšãè¡šæããŠãã ããã ç§ã®å Žåãããã¯äºå®ã§ã¯ãããŸããã§ããã 幞ããªããšã«ããã®ãå¥å šæ§ãã§ãã¯ããåé€ããã ãã§åé¡ã¯å®å šã«è§£æ±ºããŸããã å®è¡æã«ãã®ãã§ãã¯ãè¡ãã®ã«ãæ§æ段éã§äžæããªãã®ã¯ãªãã ããã-ããã§ãåäœããªãã®ã«ããªãã³ã³ãã€ã«ããã®ã§ããïŒ
ããã«ãJACKã¯LinuxSamplerã®ãµãŠã³ãåºåãã©ã€ããŒãšããŠã³ã³ãã€ã«ãããŸããã ãããã
arm-timestamp.patch
ããã³
atomic.patch
å¿ èŠã§ããã ãŸããARMã®NEONæ¡åŒµæ©èœã®ãµããŒããæå¹ã«ããããã«ãGCCã®ãã®ãããªãã©ã°ã䜿çšããŠã³ã³ãã€ã«ããŸããïŒ
-march=armv7-a -mtune=cortex-a8 -mfpu=neon -ffast-math -funsafe-math-optimizations -O3
ã
ãã®æ®µéã§ãJACKãšLinuxSamplerãæ©èœãããããéããŠjack-smf-playerã䜿çšããŠMIDIãã¡ã€ã«ãåçã§ããŸããã ã°ã©ãã£ã«ã«ã€ã³ã¿ãŒãã§ã€ã¹ïŒäžèšåç §ïŒãšãšãã«ãLSCPãããã³ã«ã䜿çšããŠLinuxSamplerãæäœããããã®Pythonã¢ãžã¥ãŒã«ãäœæããã
libgig
çšã«SWIGãã€ã³ããŒã®å©ããåããŠçæãã
libgig
ãããã«ãããGIGãã¡ã€ã«ãããŠã³ããŒãããç¹ã«ãã©ã®ããŒã«ãå éšã«ãããã調ã¹ãããšãã§ããŸãQtã®ã€ã³ã¿ãŒãã§ãŒã¹ã®ãªã¹ãããéžæã§ããŸãã ãããžã§ã¯ãã®å®äºã«è¿ã¥ããŠããããã®éçºãããã³ãããžã§ã¯ãã«é¢é£ãããã¹ãŠã®å ã®ãœãŒã¹ã³ãŒããGitHubã«æçš¿ãããŸãã
次ã®èšäºã§ç§ã¯äŒããŸãïŒ
- ã·ã³ã»ãµã€ã¶ãŒã®ããŒããŒããããªãã¯ã¹ã¯ã©ãã§ãã
- çŒãä»ããMKããŒããŒãã¹ãã£ããŒãATmegaã«å€æŽããæ¹æ³ãããŒãããçŽæ¥ã®ãã¡ãŒã ãŠã§ã¢ãããã³ãã€ã¯ãã³ã³ãããŒã©ãŒãLinuxSamplerãšéä¿¡ããæ¹æ³ã«ã€ããŠ
- æ ªåŒã«åºã¥ããªã¢ã«ã¿ã€ã ããªãšã³ãã·ã§ã³ãµããŒãã䜿çšããŠã«ãŒãã«ãäœæããæ¹æ³ãšãå€æ°ã®åé¡ã解決ãããæ¹æ³
- EmbedSky Techãã¯ãã«ã«ãµããŒããšã©ã®ããã«ã³ãã¥ãã±ãŒã·ã§ã³ãåããŸãããïŒ
- ã·ã³ã»ãµã€ã¶ãŒã®ããŒãæ°åããªç§ããæ°ããªç§ã«æŒãããšãã®é³ã®ã¬ã€ãã³ã·ãã©ã®ããã«ççž®ã ãŸããã
ãã®èšäºãšæ¬¡ã®èšäºã§èª¬æããããããªéãã®ããæäœã¯ãã¹ãŠãRaspberry Piãªã©ã®ä»ã®é©åãªARMãã©ãããã©ãŒã ã䜿çšããŠè¡ãããšãã§ããå€ãMIDIããŒããŒãããç¬èªã®ãŠãããŒãµã«ã·ã³ã»ãµã€ã¶ãŒãäœæã§ããŸãã åŸè ã®å©ç¹ã®äžã«ã¯ããã匷åãªããŒããŠã§ã¢FPUã®ååšãšãOpenGL ES 2.0ããµããŒãããQt 5ãæ§ç¯ããæ©èœããããŸãã
次ã®èšäº>>