{"id":20620596,"url":"https://github.com/lcav/pyramic","last_synced_at":"2026-02-08T17:05:10.344Z","repository":{"id":96752346,"uuid":"69645630","full_name":"LCAV/Pyramic","owner":"LCAV","description":"A compact array with a large number of microphones and a flexible geometry.","archived":false,"fork":false,"pushed_at":"2021-08-13T10:34:29.000Z","size":135145,"stargazers_count":25,"open_issues_count":0,"forks_count":7,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-07-20T16:41:33.894Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LCAV.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-09-30T07:44:51.000Z","updated_at":"2025-07-19T19:50:42.000Z","dependencies_parsed_at":"2023-03-13T16:25:02.656Z","dependency_job_id":null,"html_url":"https://github.com/LCAV/Pyramic","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LCAV/Pyramic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LCAV%2FPyramic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LCAV%2FPyramic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LCAV%2FPyramic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LCAV%2FPyramic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LCAV","download_url":"https://codeload.github.com/LCAV/Pyramic/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LCAV%2FPyramic/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29237159,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T14:18:14.570Z","status":"ssl_error","status_checked_at":"2026-02-08T14:18:14.071Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-16T12:14:57.161Z","updated_at":"2026-02-08T17:05:10.245Z","avatar_url":"https://github.com/LCAV.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"Pyramic: An FPGA based compact microphone array\n=========================\n\nThis repository contains the design files and the documentation for the Pyramic compact microphone array.\nPyramic has 48 microphones spread on 6 PCBs, each bearing 8 MEMS microphones and an ADC. This allows for\nflexible geometries while keeping calibration simple. The array plugs in a DE1-SoC FPGA that collects\nthe data from the 6 ADC and can do real-time processing of the signals with output to an audio codec.\nAlternatively, the data can be sent to an ARM CPU that is on the same chip for further processing.\n\n\u003cp align=\"left\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/LCAV/Pyramic/master/doc/pyramic.png\" width=\"250\"/\u003e\n\u003c/p\u003e\n\nContributors\n------------\n\nJuan Azcarreta Ortiz, René Beuchat [2], Robin Scheibler [1], Francisco Rojo, Corentin Ferry [2]\n\n[1] Audiovisual Communications Laboratory ([LCAV](http://lcav.epfl.ch)) at [EPFL](http://www.epfl.ch).\n\n[2] Processor Architecture Laboratory ([LAP](http://lap.epfl.ch)) at [EPFL](http://www.epfl.ch).\n\n\u003cimg src=\"http://lcav.epfl.ch/files/content/sites/lcav/files/images/Home/LCAV_anim_200.gif\"\u003e\n\n#### Contact\n\n[Robin Scheibler](mailto:robin[at]tmu[dot]ac[dot]jp) \u003cbr\u003e \nTokyo Metropolitan University, TMU \u003cbr\u003e\nOno Lab \u003cbr\u003e\nDepartment of Computer Science \u003cbr\u003e\nGraduate School of System Design \u003cbr\u003e\n6-6 Asahigaoka, Hino-shi \u003cbr\u003e\nTokyo, Japan \u003cbr\u003e\n\nDependencies\n------------\n\n* The PCBs were designed in Altium.\n* The FPGA cores were developed using Altera's tools (the free web edition should be sufficient). The installation steps are explained in the `fpga/README.md` file.\n\nPyramic array modular design\n--------------------------------\n\nThe Pyramic array is designed as a full-stack modular system. This means that different parts of the system\ncan be accessed independently depending on the research interests of the user. The following figure summarizes the\nmain layers of the full-stack Pyramic array model:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/jazcarretao/Pyramic/master/doc/pyramic_layers.png\" width=\"350\"/\u003e\n\u003c/p\u003e\n\nNext, we explain where to find the different modules:\n\n* **Physical layer**: The PCB design can be found under the `pcb` folder in this github repository.\n* **Acquisition layer**: The FPGA design can be found in the `fpga/MIC_ARRAY/hw` folder.\n* **Communication layer**: The communication accross peripherals in the DE1-SoC board is controlled by a Hardcore Processor System (HPS) and the design files can be found in the `fpga/MIC_ARRAY/sw/hps` folder. The `Ultimate_Guide.pdf` explains how to connect the Pyramic array to a host computer through an Ethernet connection.\n* **Application layer**: The application files for the demo presented at IWAENC2018 are available [here](https://github.com/fakufaku/pyramic-demo). To compile an application project follow the steps in the following section (i.e. `From Zero to Pyramic Compilation`).\n* **Dataset**: Anechoic dataset available in [zenodo](https://zenodo.org/record/1209563#.W5qOkkxuKUk).\n\nFrom Zero to Pyramic Compilation\n--------------------------------\n\n(on Ubuntu linux)\n\nThe FPGA part\n\n1. Follow `fpga/README.md` to install the Altera SoC EDS and Quartus Lite\n2. Open Quartus\n    \n        nios_command_shell\n        quartus \u0026\n\n3. Open Pyramic project: `File -\u003e Open Project...` and select `hw/quartus/Pyramic_Array.qpf`\n4. Open Qsys via Quartus by `Tools -\u003e Qsys`\n5. In Qsys, generate the HDL files `Generate -\u003e Generate HDL...` and click `Generate`\n6. Back in Quartus, compile by `Processing -\u003e Start Compilation`\n7. Generate the hardware header\n\n        cd fpga/MIC_ARRAY\n        ./create_hw_headers.sh\n\n8. Generate `RBF` file\n\n        quartus_cpf -c hw/quartus/output_files/Pyramic_Array.sof socfpga.rbf\n\n  and place it at the root of the SD card\n\nHopefully, things went smoothly. Now we can try to compile the library that lets us\ncontrol Pyramic from HPS.\n\n1. For the compilation, some additional C libraries are required\n\n        sudo apt-get install libc6-dev-i386\n        sudo apt-get install zlib1g:i386\n\n2. Start the embedded development shell\n\n        embedded_command_shell\n\n3. Compile `libpyramicio`\n\n        cd fpga/MIC_ARRAY/sw/hps/application/pyramicio\n        make all\n\n4. The files `pyramicio.h` and `libpyramicio.so` can be copied to the system on the DE1-SoC\n\nAcademic projects\n---------------------\n\n* J\\. Azcarreta, R. Scheibler and R. Beuchat. *Pyramic array: An FPGA based platform for multi-channel audio acquisition*, Master Thesis, EPFL, 2016.\n\n* C\\. Ferry, R. Scheibler and R. Beuchat. *Extension board for CycloneV multi microphone acquisition - signal analysis*, Semester Project, EPFL, 2017.\n\nAcademic publications\n---------------------\n\nIf you use the Pyramic array in your own research, please cite \n\n* R\\. Scheibler, J. Azcarreta, R. Beuchat, C. Ferry, *Pyramic: Full Stack Open Microphone Array Architecture and Dataset*, IWAENC, Tokyo, 2018.\n  \nBelow we list some publications that employ the Pyramic array:\n\n* E\\. Bezzam, R. Scheibler, J. Azcarreta, H. Pan, M. Simeoni, R. Beuchat, P. Hurley, B. Bruneau and C. Ferry. *Hardware and software for reproducible research in audio array signal processing*, ICASSP 2017, New Orleans, USA, 2017.\n\n* R\\. Scheibler,  D. Horiike,  N. Ono, *Blinkies:  Sound-to-light conversion sensors and their application to\nspeech enhancement and sound source localization*, APSIPA, 2018.\n\n\nSoftware License\n----------------\n\nCopyright (c) 2016 LCAV LAP EPFL\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nHardware License\n----------------\n\n\u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by-sa/4.0/\"\u003e\u003cimg\nalt=\"Creative Commons License\" style=\"border-width:0\"\nsrc=\"https://i.creativecommons.org/l/by-sa/4.0/88x31.png\" /\u003e\u003c/a\u003e\u003cbr /\u003e\u003cspan\nxmlns:dct=\"http://purl.org/dc/terms/\" property=\"dct:title\"\u003ePyramic compact\nmicrophone array\u003c/span\u003e by \u003ca xmlns:cc=\"http://creativecommons.org/ns#\"\nhref=\"http://lcav.epfl.ch\" property=\"cc:attributionName\"\nrel=\"cc:attributionURL\"\u003eLCAV, LAP, EPFL\u003c/a\u003e is licensed under a \u003ca\nrel=\"license\" href=\"http://creativecommons.org/licenses/by-sa/4.0/\"\u003eCreative\nCommons Attribution-ShareAlike 4.0 International License\u003c/a\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flcav%2Fpyramic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flcav%2Fpyramic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flcav%2Fpyramic/lists"}