Giter VIP home page Giter VIP logo

webminidisc's Introduction

Web MiniDisc Pro

Brings NetMD Devices to the Web - just with more features this time

Live @ https://web.minidisc.wiki/.

Requirements

Requires Chrome or any other browser that supports both WASM and WebUSB

Installation

macOS

it just works ® ... no need to download or install any software.

For macOS developers, see this

Linux

Follow the instructions here https://github.com/glaubitz/linux-minidisc/tree/master/netmd/etc to grant your user access to the device. If you skip this step you'll likely get an Access denied message when trying to connect.

Ubuntu users - Avoid using browsers installed via Snap as Snap's permission structure is different from traditionally installed applications and will lead to access denied errors. If you absolutely must use a Snap-packaged browser, run this command to let chromium access USB:

sudo snap connect chromium:raw-usb

Windows

The Windows USB stack requires a driver to be installed to communicate with any USB device. The bad news is that there are no official Windows 10 drivers for NetMD devices. The good news is that we don't need it! We can just use a generic driver like WinUSB to access the device.

You can find installation instruction here, but the easiest way to install is to use Zadig.
Note: you'll need to restart your browser after installation.

Chrome OS

Works without any addtional set up - tested with 91 stable (91.0.4472.102). If your user account or device is managed (by your school or company) you may run into some issues. If you are using a personal google account on a personal chromebook you should be good to go.


Differences between Web Minidisc and Web Minidisc Pro

Web MiniDisc Pro was forked from the original Web MiniDisc to provide a more advanced workflow for interacting with NetMD devices.

In addition to the standard NetMD features that Web MiniDisc provides, Web MiniDisc Pro also features:

  • The ability to connect to NetMD units available on the local network with the help of Remote NetMD
  • Downloading tracks from the player via standard NetMD commands (Sony MZ-RH1 only)
  • Improved handling of pre-encoded ATRAC3 tracks
  • Song Recognition
  • The ability to use an external ATRAC3 encoder for better audio quality when using LP modes

The following features depend on Factory mode commands. See netmd-exploits for a list of supported devices

  • Downloading tracks from any Sony (or Aiwa) NetMD device
  • Firmware and RAM dumping
  • TOC manipulation
  • Tetris

Development

Development discussion and coordination happens through the MiniDisc.wiki Discord in the #research channel

How to build

This project was bootstrapped with Create React App, so you can run:

  • npm i to install the required node modules (--legacy-peer-deps might be required for newer node.js versions)
  • npm start to start the development server
  • npm build to build for production

WASM modules are provided in the public/ directory. However, if you wish to build those binaries yourself, instructions are provided in the extra/ directory.


Development on macOS

Install Xcode Build Tools CLI & Homebrew

In macOS Terminal run:

  • xcode-select install - to install XCode Command Line Tools
  • /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - to install Homebrew

After homebrew is finished installing,

Install gcc & libvips

In macOS Terminal: brew install --build-from-source gcc, wait for it to finish then run brew install vips (this command may install gcc again from an available pre-built binary, if one exists for your current macOS version, this is normal behaviour as gcc is needed for vips to work).

Proceeding with installation

With the above prerequisites done, you can continue the build process as described in the How to Build section


How to Contribute

If there's a feature you'd like to see implemented in Web MiniDisc Pro, feel free to submit a pull request.

Bugs and Issues

Feel free to submit any issues as a GitHub issue. Web MiniDisc Pro is a hobby project and the developers cannot make guarantees about timeliness of bugfixes. If you have the skills to implement fixes yourself, we're more than happy to review pull requests.

Credits

  • FFmpeg and ffmpegjs to read audio files (wav, mp3, ogg, mp4, etc...).
  • Atracdenc to support atrac3 encoding (lp2, lp4 audio formats).
  • Emscripten to run both FFmpeg and Atracdenc in the browser.
  • netmd-js to send commands to NetMD devices using Javascript
  • material-ui to build the user interface.
  • linux-minidisc to build the netmd-js library.
  • netmd-exploits For factory mode commands and track dumping

webminidisc's People

Contributors

cybercase avatar asivery avatar dependabot[bot] avatar thinkbrown avatar shadester avatar specialk6466 avatar daveflashnl avatar andyboeh avatar foot-gloves avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.