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:37]
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: +
-  $ sudo apt-get update +
-install icecast2 and darkice: +
-  $ sudo apt-get install icecast2 darkice +
-if asked type in hostname and password +
-  hostname: localhost +
-  password: ???? +
-change config: +
-  $ sudo nano /etc/darkice.cfg +
-to:+
  
-# this section describes general aspects of the live streaming session [general] +---- 
-duration      = 0                # duration of encoding, in seconds. 0 means forever bufferSecs    = 2                 # size of internal slip buffer, in seconds  +==== Soundcard ====
-reconnect     = yes              # reconnect to the server(s) if disconnected   +
-# this section describes the audio input that will be streamed  +
-[input]  +
-device        = hw:1,          # Alsa soundcard device for the audio input  +
-sampleRate    = 48000            # sample rate in Hz. try 48000, 96000 or 192000  +
-bitsPerSample = 16               # bits per sample. try 16  +
-channel       = 2                # channels. 1 = mono, 2 = stereo.   +
-                                 # Only stereo mode is supported by pisound.   +
-# this section describes a streaming connection to an IceCast2 server  +
-# there may be up to 8 of these sections, named [icecast2-0] ... [icecast2-7]  +
-# these can be mixed with [icecast-x] and [shoutcast-x] sections [icecast2-0]  +
-bitrateMode   cbr              # variable bit rate  +
-bitrate       128  +
-format        mp3              # format of the stream: mp3  +
-quality       0.8              # quality of the stream sent to the server  +
-server        localhost        # host name of the server  +
-port          8000             # port of the IceCast2 server, usually 8000 password      hackme           # source password to the IceCast2 server  +
-mountPoint    = pisound          # mount point of this stream on the IceCast2 server  +
-name          = pisound          # name of the stream  +
-description   = DarkIce on pisound # description of the stream  +
-url           = http://localhost # URL related to the stream  +
-genre         = my genre         # genre of the stream  +
-public        = no               # advertise this stream?  +
-#localDumpFile recording.mp3   # Record also to a file+
  
 +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: 1
 +  subdevices_avail: 1
 +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: 1
 +  subdevices_avail: 1
 +therefore in both cases the ID is 0.\\
 +Install ALSA utilities:
 +  $ sudo apt-get update
 +  $ sudo apt-get install alsa-utils
 +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
  
  
 ---- ----
-[general] +==== Darkice ==== 
-duration        0      # duration in s, 0 forever +Install Darkice.\\  
-bufferSecs      1      # buffer, in seconds +update: 
-reconnect       yes    # reconnect if disconnected+  $ sudo apt-get update 
  
-[input] 
-device          = plughw:1,0 # or `pulse' for Pulseaudio 
-sampleRate      = 22050   # sample rate 11025, 22050 or 44100 
-bitsPerSample   = 16      # bits 
-channel         = 1       # 2 = stereo 
  
-[icecast2-0] +change config: 
-bitrateMode     vbr       variable bit rate (`cbrconstant, `abr' average) +  $ sudo nano /etc/darkice.cfg 
-quality         = 1.0       # 1.0 is best quality +to: 
-format          = mp3       # format. Choose `vorbis' for OGG Vorbis + 
-bitrate         = 128       # bitrate +  # this section describes general aspects of the live streaming session 
-server          10.10.10.11 IP address of the IceCast server +  [general] 
-port            = 8000      # port for IceCast2 access +  duration      = 0                # duration of encoding, in seconds. 0 means forever 
-password        ******    # source password to the IceCast2 server +  bufferSecs    = 2                # size of internal slip buffer, in seconds 
-mountPoint      radio.mp3 # mount point on the IceCast2 server .mp3 or .ogg +  reconnect     = yes              # reconnect to the server(s) if disconnected 
-name            radio+  # this section describes the audio input that will be streamed 
 +  [input] 
 +  device        = plughw:1,      # Alsa soundcard device for the audio input 
 +  sampleRate    = 48000            # sample rate in Hz. try 48000, 96000 or 192000 
 +  bitsPerSample = 16               # bits per sample. try 16 
 +  channel       = 2                # channels. 1 = mono, 2 = stereo. 
 +                                   # Only stereo mode is supported by pisound. 
 +  # this section describes a streaming connection to an IceCast2 server 
 +  # there may be up to 8 of these sections, named [icecast2-0] ... [icecast2-7] 
 +  # these can be mixed with [icecast-x] and [shoutcast-x] sections  
 +  [icecast2-0] 
 +  bitrateMode   cbr              constant bit rate ('vbr' variable 'abr' average) 
 +  bitrate       = 128 
 +  format        = mp3              # format of the stream: mp3 ('vorbis' for OGG) 
 +  quality       = 0.8              quality of the stream sent to the server (1.0 ist best) 
 +  server        localhost        host name of the server 
 +  port          = 8000             # port of the IceCast2 server, usually 8000 
 +  password      ????????         # source password to the IceCast2 server 
 +  mountPoint    pisound.mp3      # mount point of this stream on the IceCast2 server 
 +  name          = pisound          # name of the stream 
 +  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: +==== Stream ==== 
-  $ darkice  +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/]]\\
  
 ---- ----