--- title: Seamless Streaming emoji: 📞 colorFrom: blue colorTo: yellow sdk: docker pinned: false suggested_hardware: t4-small models: - facebook/seamless-streaming --- # Seamless Streaming demo ## Running on HF spaces You can simply duplicate the space to run it. ## Running locally ### Install backend seamless_server dependencies > [!NOTE] > Please note: we *do not* recommend running the model on CPU. CPU inference will be slow and introduce noticable delays in the simultaneous translation. > [!NOTE] > The example below is for PyTorch stable (2.1.1) and variant cu118. > Check [here](https://pytorch.org/get-started/locally/) to find the torch/torchaudio command for your variant. > Check [here](https://github.com/facebookresearch/fairseq2#variants) to find the fairseq2 command for your variant. If running for the first time, create conda environment and install the desired torch version. Then install the rest of the requirements: ``` git clone https://huggingface.co/spaces/facebook/seamless-streaming cd seamless-streaming/seamless_server conda config --append channels conda-forge conda create --yes --name smlss_server python=3.8 libsndfile==1.0.31 conda activate smlss_server conda install --yes pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia pip install fairseq2 --pre --extra-index-url https://fair.pkg.atmeta.com/fairseq2/whl/nightly/pt2.1.1/cu118 pip install -r requirements.txt ``` ### Install frontend streaming-react-app dependencies ``` conda install -c conda-forge nodejs cd ../streaming-react-app npm install --global yarn yarn yarn build # this will create the dist/ folder ``` ### Running the server The server can be run locally with uvicorn below. Run the server in dev mode: ``` cd ../seamless_server uvicorn app_pubsub:app --reload --host localhost ``` Run the server in prod mode: ``` cd seamless_server uvicorn app_pubsub:app --host 0.0.0.0 ``` To enable additional logging from uvicorn pass `--log-level debug` or `--log-level trace`. ### Debuging If you enable "Server Debug Flag" when starting streaming from the client, this enables extensive debug logging and it saves audio files in /debug folder.