项目介绍

qqq89513/stm32f7-usb-audio-visualizer 是一个托管在 GitHub 上的开源项目,主要使用 C 编写,目前获得 21 个 Star、4 次 Fork。

仓库全名
qqq89513/stm32f7-usb-audio-visualizer
Star 数
21
Fork 数
4
未关闭 Issue
2

README 摘要

USB Audio Visualizer An audio visualizer as an USB sound card. Thanks to DiscoveryF7Audio, I don't have to crack the USB audio and on board DAC playback on my own. Features Demonstration Video Recongized as an USB audio sound card(via USBFS connector on the board) Audio Playback(via 3.5mm OUT on the board) Output volume adjustment Via slide bar at the bottom of the GUI Scale of left and right VU-meters changes with…

完整内容见 GitHub 原始 README 或本页 。

常见问题

stm32f7-usb-audio-visualizer 用什么语言开发?

主要使用 C 编写,目前有 21 个 Star。

如何获取 stm32f7-usb-audio-visualizer 的源码?

可以直接克隆仓库:git clone https://github.com/qqq89513/stm32f7-usb-audio-visualizer.git,默认分支为 master;安装与运行步骤见仓库 README。

stm32f7-usb-audio-visualizer 最近还在维护吗?

仓库最近一次更新为 2021年1月29日,当前有 2 个未关闭 Issue;Star 数为 21,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

An audio visualizer as an USB sound card.

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
30
价值分
13
活跃状态
活跃

语言占比

Assembly
Batchfile
C
C++
HTML
Makefile
Ruby

Release

贡献者

README

USB Audio Visualizer

An audio visualizer as an USB sound card.
Thanks to DiscoveryF7Audio, I don’t have to crack the USB audio and on board DAC playback on my own.

Features

Demonstration Video

  • Recongized as an USB audio sound card(via USB_FS connector on the board)
  • Audio Playback(via 3.5mm OUT on the board)
  • Output volume adjustment
    • Via slide bar at the bottom of the GUI
    • Scale of left and right VU-meters changes with the slider
    • Scale of the wave graph doesn’t change with the slider
  • Wave graph
    • Color adjustment
    • If left and right audio are different, the graph will be partially columnized
      Sin wave(550 Hz) Sin wave(550 Hz)
      Left-right channel balanced Right channel louder
      image image

Development Enviroment

It’s possible to have this project build in GNU enviroment, not replying on STM32CubeIDE, just using makefile. When generating code from STM32CubeMX, you can select project as Keil, Eclipse, gcc…, etc.

  • IDE: STM32CubeIDE 1.4.0
  • Toolchain: arm-none-eabi, GNU Arm Embedded Toolchain 9-2020-q2-update 9.3.1
  • Code Generator: STM32CubeMX 6.0.1
  • GUI Framework: TouchGFX 4.15.0
  • OS: Windows 10

TODO

  • Fix #9 Audio corrupts(electronic noise) sometimes
  • Feat: Plot in frequency domain with histogram by using fast fourier transformation.
  • Feat: Change the frequency domain and output it in realtime, like an equalizer.

File Structures

  • Folder Tree
    equalizer/
    ├── Core            // Top layer, main entry
    │   ├── Inc         // top layer header files
    │   └── Src         // main.c and interrupt subroutines here
    │
    ├── Drivers         // Mostly auto-generated, do not modify
    │   ├── BSP         // board support package
    │   ├── CMSIS
    │   └── STM32F7xx_HAL_Driver
    │
    ├── Middlewares     // Touchgfx and USB libraries
    │
    ├── TouchGFX        // GUI
    │   ├── assets      // fonts, images, texts
    │   ├── build       // object files compiled by touchGFX
    │   ├── generated   // auto-generated, do not modify
    │   ├── gui         // User features implementation. It is auto-generated only once.
    │   ├── equalizer.touchgfx  // touchGFX project file, json format
    │   └── simulator   // Visual Studio simulator project, not used
    │
    ├── .project        // stm32cubeIDE project file
    └── equalizer.ioc   // CubeMX project file
    
  • Important files
    Description Path
    STM32CubeIDE project ./.project
    GUI project (touchGFX) ./TouchGFX/equalizer.touchgfx
    GUI Features ./TouchGFX/gui/src/screen_screen/screenView.cpp
    USB audio to on board DAC ./USB_DEVICE/App/usbd_audio_if.c
    Binrary (not included in source control) ./STM32CubeIDE/Debug/equalizer.bin

评论

暂无评论