Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
raspberry:audio_stream [2018/10/07 21:21]
admin [Audio Stream]
raspberry:audio_stream [2018/10/08 00:09]
admin [Link]
Line 1: Line 1:
 ===== Audio Stream ===== ===== Audio Stream =====
-Streaming audio over internet using icecast and darkice on RaspbianStretch.\\ +Streaming audio over internet using Icecast and Darkice on RaspbianStretch.\\ 
-update:+ 
 +---- 
 +==== Soundcard ==== 
 + 
 +check the soundcard: 
 +  $ cat /proc/asound/modules 
 +and  
 +  $ cat /proc/asound/cards 
 +that could look like that: 
 +  0 [ALSA           ]: bcm2835_alsa - bcm2835 ALSA 
 +                      bcm2835 ALSA 
 +  1 [K6             ]: USB-Audio - Komplete Audio 6 
 +                      Native Instruments Komplete Audio 6 at usb-3f980000.usb-1.5, high speed 
 +The ALSA Card ID is 0 and the USB-Audio Card ID is 1\\ 
 + 
 +Identify the Soundcard Chip's Device ID 
 +  $ ls /proc/asound 
 +gives: 
 +  ALSA  card0  card1  cards  devices  hwdep  K6  modules  pcm  seq  timers  version 
 +means there are two sound cards 0 and 1 
 +  $ ls /proc/asound/card1 
 +gives: 
 +  id  midi0  pcm0c  pcm0p  stream0  usbbus  usbid  usbmixer 
 +Identify the device id: 
 +  $ cat /proc/asound/card1/pcm0c/info 
 +give: 
 +  card: 1 
 +  device: 0 
 +  subdevice: 0 
 +  stream: CAPTURE 
 +  id: USB Audio 
 +  name: USB Audio 
 +  subname: subdevice #0 
 +  class: 0 
 +  subclass: 0 
 +  subdevices_count:
 +  subdevices_avail:
 +and: 
 +  $ cat /proc/asound/card1/pcm0p/info 
 +gives: 
 +  card: 1 
 +  device: 0 
 +  subdevice: 0 
 +  stream: PLAYBACK 
 +  id: USB Audio 
 +  name: USB Audio 
 +  subname: subdevice #0 
 +  class: 0 
 +  subclass: 0 
 +  subdevices_count:
 +  subdevices_avail:
 +therefore in both cases the ID is 0.\\ 
 +Install ALSA utilities:
   $ sudo apt-get update   $ sudo apt-get update
-install icecast2 and darkice+  $ sudo apt-get install alsa-utils 
-  $ sudo apt-get install icecast2 darkice+open ALSO mixer: 
 +  $ alsamixer 
 +with F6 select the soundcard.\\ 
 +Test the Sound Card Output: 
 +  $ speaker-test -Dplughw:1,0 -c2 -tsine 
 +  $ speaker-test -Dplughw:1,0 -c2 -twav 
 + 
 + 
 +---- 
 +==== Darkice ==== 
 +Install Darkice.\\  
 +update
 +  $ sudo apt-get update  
 + 
 change config: change config:
   $ sudo nano /etc/darkice.cfg   $ sudo nano /etc/darkice.cfg
 to: to:
-  # this section describes general aspects of the live streaming session [general] duration      = 0                 + 
-  # duration of encoding, in seconds. 0 means forever bufferSecs    = 2 +  # this section describes general aspects of the live streaming session 
-  # size of internal slip buffer, in seconds reconnect     = yes +  [general] 
-  # reconnect to the server(s) if disconnected   +  duration      = 0                # duration of encoding, in seconds. 0 means forever 
-  # this section describes the audio input that will be streamed [input] device        = hw:1,0            +  bufferSecs    = 2                # size of internal slip buffer, in seconds 
-  # Alsa soundcard device for the audio input sampleRate    = 48000             +  reconnect     = yes              # reconnect to the server(s) if disconnected 
-  # sample rate in Hz. try 48000, 96000 or 192000 bitsPerSample = 16                +  # this section describes the audio input that will be streamed 
-  # bits per sample. try 16 channel       = 2                 +  [input] 
-  # channels. 1 = mono, 2 = stereo.                                   +  device        = plughw:1,0       # Alsa soundcard device for the audio input 
-  # Only stereo mode is supported by pisound.   +  sampleRate    = 48000            # sample rate in Hz. try 48000, 96000 or 192000 
-  # this section describes a streaming connection to an IceCast2 server  +  bitsPerSample = 16               # bits per sample. try 16 
-  # there may be up to 8 of these sections, named [icecast2-0] ... [icecast2-7]  +  channel       = 2                # channels. 1 = mono, 2 = stereo. 
-  # these can be mixed with [icecast-x] and [shoutcast-x] sections [icecast2-0] bitrateMode   = cbr               +                                   # Only stereo mode is supported by pisound. 
-  variable bit rate bitrate       = 128 format        = mp3               +  # this section describes a streaming connection to an IceCast2 server 
-  # format of the stream: mp3 quality       = 0.8               +  # there may be up to 8 of these sections, named [icecast2-0] ... [icecast2-7] 
-  # quality of the stream sent to the server server        = localhost         +  # these can be mixed with [icecast-x] and [shoutcast-x] sections  
-  # host name of the server port          = 8000              +  [icecast2-0] 
-  # port of the IceCast2 server, usually 8000 password      = hackme            +  bitrateMode   = cbr              # constant bit rate ('vbr' variable 'abr' average) 
-  # source password to the IceCast2 server mountPoint    = pisound           +  bitrate       = 128 
-  # mount point of this stream on the IceCast2 server name          = pisound           +  format        = mp3              # format of the stream: mp3 ('vorbis' for OGG) 
-  # name of the stream description   = DarkIce on pisound  +  quality       = 0.8              # quality of the stream sent to the server (1.0 ist best) 
-  # description of the stream url           = http://localhost  +  server        = localhost        # host name of the server 
-  # URL related to the stream genre         my genre          +  port          = 8000             # port of the IceCast2 server, usually 8000 
-  # genre of the stream public        = no                +  password      = ????????         # source password to the IceCast2 server 
-  # advertise this stream?  +  mountPoint    = pisound.mp3      # mount point of this stream on the IceCast2 server 
-  #localDumpFile = recording.mp3    +  name          = pisound          # name of the stream 
-  # Record also to a file +  description   = DarkIce on pisound # description of the stream 
 +  url           = http://localhost # URL related to the stream 
 +  genre         hits             # genre of the stream 
 +  public        = no               # advertise this stream? 
 +  #localDumpFile = recording.mp3   # Record also to a file 
 + 
 +---- 
 +==== Icecast ==== 
 +Install Icecast.\\ 
 +update: 
 +  $ sudo apt-get update 
 +install icecast2: 
 +  $ sudo apt-get install icecast2 
 +if asked type in hostname and password 
 +  hostname: localhost 
 +  password: ????
      
-run: +---- 
-  $ darkice  +==== Stream ==== 
 +just run: 
 +  $ darkice  
 +and then open in your browser: 
 +  http://192.168.178.112:8000/pisound.mp3 
 +Icecast2 Status one will find here: 
 +  http://192.168.178.112:8000
  
 ---- ----
-==== Link ==== +==== Links ==== 
-[[https://www.hackster.io/pranciskus/internet-radio-station-f0bdc1]]+[[https://www.instructables.com/id/Test-Sound-Card-and-Speakers-in-Raspberry-Pi/]]\\ 
 +[[https://www.hackster.io/pranciskus/internet-radio-station-f0bdc1]]\\ 
 +[[https://technicalustad.com/live-streaming-of-mp3-using-darkice-and-icecast2-on-raspberry-pi/]]\\ 
 +[[https://w7apk.com/streaming-radio]]\\ 
 +[[http://rabarar.github.io/blog/2015/07/02/darkice-and-icecast/]]\\
  
 ---- ----